From 720998394c5d613529ce616b333c0de5da1b8de4 Mon Sep 17 00:00:00 2001 From: Deepak S Date: Thu, 15 Jun 2017 23:23:29 -0700 Subject: [PATCH] Adding Sample vCGNAPT config to run with multi-port pair JIRA: SAMPLEVNF-40 This patch adds sample vCGNAPT config for 1, 6, 10 port pair Change-Id: I003e98b26e794d111af562232e8688f255a7d61a Signed-off-by: Deepak S --- VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg | 281 + VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt | 57 + VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg | 454 + VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt | 95 + VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg | 68 + VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt | 15 + common/cscope.out | 250740 ---------------------- 7 files changed, 970 insertions(+), 250740 deletions(-) create mode 100644 VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg create mode 100644 VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt create mode 100644 VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg create mode 100644 VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt create mode 100644 VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg create mode 100644 VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt delete mode 100644 common/cscope.out diff --git a/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg b/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg new file mode 100644 index 00000000..9b7fab51 --- /dev/null +++ b/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.cfg @@ -0,0 +1,281 @@ +[EAL] +n = 4 +file_prefix = cgnat_1 +m = 8192 + +[PIPELINE0] +type = MASTER +core = 0 + +[PIPELINE1] +type = ARPICMP +core = 0 +pktq_in = SWQ0 SWQ1 SWQ2 SWQ3 SWQ4 SWQ5 SWQ6 SWQ7 SWQ8 SWQ9 SWQ10 SWQ11 +pktq_out = TXQ0.2 TXQ1.2 TXQ2.2 TXQ3.2 TXQ4.2 TXQ5.2 TXQ6.2 TXQ7.2 TXQ8.2 TXQ9.2 TXQ10.2 TXQ11.2 +arp_route_tbl = (c0106414,FFFF0000,0,c0106414) +arp_route_tbl = (ac102814,FFFF0000,1,ac102814) +arp_route_tbl = (c1106414,FFFF0000,2,c1106414) +arp_route_tbl = (ad102814,FFFF0000,3,ad102814) +arp_route_tbl = (c2106414,FFFF0000,4,c2106414) +arp_route_tbl = (ae102814,FFFF0000,5,ae102814) +arp_route_tbl = (c3106414,FFFF0000,6,c3106414) +arp_route_tbl = (af102814,FFFF0000,7,af102814) +arp_route_tbl = (c4106414,FFFF0000,8,c4106414) +arp_route_tbl = (b0102814,FFFF0000,9,b0102814) +arp_route_tbl = (c5106414,FFFF0000,a,c5106414) +arp_route_tbl = (b1102814,FFFF0000,b,b1102814) +pktq_in_prv = RXQ0.0 RXQ2.0 RXQ4.0 RXQ6.0 RXQ8.0 RXQ10.0 +prv_to_pub_map = (0, 1)(2, 3)(4, 5)(6, 7)(8, 9)(10, 11) +ports_mac_list = CC:CC:CC:00:02:00 CC:CC:CC:00:02:01 +ports_mac_list = CC:CC:CC:00:03:00 CC:CC:CC:00:03:01 +ports_mac_list = CC:CC:CC:00:04:00 CC:CC:CC:00:04:01 +ports_mac_list = CC:CC:CC:00:05:00 CC:CC:CC:00:05:01 +ports_mac_list = CC:CC:CC:00:06:00 CC:CC:CC:00:06:01 +ports_mac_list = CC:CC:CC:00:07:00 CC:CC:CC:00:07:01 + +[PIPELINE2] +type = TIMER +core = 0 +timer_dyn_timeout = 1000000 +n_flows = 2097152 + +[PIPELINE3] +type = CGNAPT +core = 1 +pktq_in = RXQ0.0 RXQ1.0 +pktq_out = TXQ0.0 TXQ1.0 SWQ0 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +public_ip_port_range = 04040000:(1, 65535) +public_ip_port_range = 04040001:(1, 65535) +public_ip_port_range = 04040002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE4] +type = CGNAPT +core = 1h +pktq_in = RXQ0.1 RXQ1.1 +pktq_out = TXQ0.1 TXQ1.1 SWQ1 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE5] +type = CGNAPT +core = 2 +pktq_in = RXQ2.0 RXQ3.0 +pktq_out = TXQ2.0 TXQ3.0 SWQ2 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +public_ip_port_range = 05050000:(1, 65535) +public_ip_port_range = 05050001:(1, 65535) +public_ip_port_range = 05050002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE6] +type = CGNAPT +core = 2h +pktq_in = RXQ2.1 RXQ3.1 +pktq_out = TXQ2.1 TXQ3.1 SWQ3 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE7] +type = CGNAPT +core = 3 +pktq_in = RXQ4.0 RXQ5.0 +pktq_out = TXQ4.0 TXQ5.0 SWQ4 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +public_ip_port_range = 06060000:(1, 65535) +public_ip_port_range = 06060001:(1, 65535) +public_ip_port_range = 06060002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE8] +type = CGNAPT +core = 3h +pktq_in = RXQ4.1 RXQ5.1 +pktq_out = TXQ4.1 TXQ5.1 SWQ5 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE9] +type = CGNAPT +core = 4 +pktq_in = RXQ6.0 RXQ7.0 +pktq_out = TXQ6.0 TXQ7.0 SWQ6 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +public_ip_port_range = 07070000:(1, 65535) +public_ip_port_range = 07070001:(1, 65535) +public_ip_port_range = 07070002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE10] +type = CGNAPT +core = 4h +pktq_in = RXQ6.1 RXQ7.1 +pktq_out = TXQ6.1 TXQ7.1 SWQ7 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE11] +type = CGNAPT +core = 5 +pktq_in = RXQ8.0 RXQ9.0 +pktq_out = TXQ8.0 TXQ9.0 SWQ8 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +public_ip_port_range = 08080000:(1, 65535) +public_ip_port_range = 08080001:(1, 65535) +public_ip_port_range = 08080002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE12] +type = CGNAPT +core = 5h +pktq_in = RXQ8.1 RXQ9.1 +pktq_out = TXQ8.1 TXQ9.1 SWQ9 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE13] +type = CGNAPT +core = 6 +pktq_in = RXQ10.0 RXQ11.0 +pktq_out = TXQ10.0 TXQ11.0 SWQ10 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +public_ip_port_range = 09090000:(1, 65535) +public_ip_port_range = 09090001:(1, 65535) +public_ip_port_range = 09090002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE14] +type = CGNAPT +core = 6h +pktq_in = RXQ10.1 RXQ11.1 +pktq_out = TXQ10.1 TXQ11.1 SWQ11 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + diff --git a/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt b/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt new file mode 100644 index 00000000..9b66437a --- /dev/null +++ b/VNFs/vCGNAPT/config/cgnat_120G_hwlb_12port.txt @@ -0,0 +1,57 @@ + +p 1 arpadd 0 192.16.100.20 00:00:00:00:00:01 +p 1 arpadd 1 172.16.40.20 00:00:00:A1:3A:79 +p 1 arpadd 2 193.16.100.20 00:00:00:00:00:02 +p 1 arpadd 3 173.16.40.20 00:00:00:A1:3A:81 +p 1 arpadd 4 194.16.100.20 00:00:00:00:00:03 +p 1 arpadd 5 174.16.40.20 00:00:00:A1:3A:41 +p 1 arpadd 6 195.16.100.20 00:00:00:00:00:04 +p 1 arpadd 7 175.16.40.20 00:00:00:A1:3A:43 +p 1 arpadd 8 196.16.100.20 00:00:00:00:00:05 +p 1 arpadd 9 176.16.40.20 00:00:00:37:db:09 +p 1 arpadd 10 197.16.100.20 00:00:00:00:00:06 +p 1 arpadd 11 177.16.40.20 00:00:00:37:db:11 + +set fwd rxonly +set_sym_hash_ena_per_port 0 enable +set_hash_global_config 0 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 1 enable +set_hash_global_config 1 simple_xor ipv4-udp enable +set_hash_input_set 0 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 1 ipv4-udp dst-ipv4 udp-dst-port add +set_sym_hash_ena_per_port 2 enable +set_hash_global_config 2 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 3 enable +set_hash_global_config 3 simple_xor ipv4-udp enable +set_hash_input_set 2 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 3 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 4 enable +set_hash_global_config 4 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 5 enable +set_hash_global_config 5 simple_xor ipv4-udp enable +set_hash_input_set 4 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 5 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 6 enable +set_hash_global_config 6 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 7 enable +set_hash_global_config 7 simple_xor ipv4-udp enable +set_hash_input_set 6 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 7 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 8 enable +set_hash_global_config 8 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 9 enable +set_hash_global_config 9 simple_xor ipv4-udp enable +set_hash_input_set 8 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 9 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 10 enable +set_hash_global_config 10 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 11 enable +set_hash_global_config 11 simple_xor ipv4-udp enable +set_hash_input_set 10 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 11 ipv4-udp dst-ipv4 udp-dst-port add + +p 1 arpls diff --git a/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg b/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg new file mode 100644 index 00000000..908543ca --- /dev/null +++ b/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.cfg @@ -0,0 +1,454 @@ +[EAL] +n = 4 +file_prefix = cgnat_1 +m = 8192 + +[PIPELINE0] +type = MASTER +core = 0 + +[PIPELINE1] +type = ARPICMP +core = 0 +pktq_in = SWQ0 SWQ1 SWQ2 SWQ3 SWQ4 SWQ5 SWQ6 SWQ7 SWQ8 SWQ9 SWQ10 SWQ11 SWQ12 SWQ13 SWQ14 SWQ15 SWQ16 SWQ17 SWQ18 SWQ19 +pktq_out = TXQ0.2 TXQ1.2 TXQ2.2 TXQ3.2 TXQ4.2 TXQ5.2 TXQ6.2 TXQ7.2 TXQ8.2 TXQ9.2 TXQ10.2 TXQ11.2 TXQ12.2 TXQ13.2 TXQ14.2 TXQ15.2 TXQ16.2 TXQ17.2 TXQ18.2 TXQ19.2 +arp_route_tbl = (c0106414,FFFF0000,0,c0106414) +arp_route_tbl = (ac102814,FFFF0000,1,ac102814) +arp_route_tbl = (c1106414,FFFF0000,2,c1106414) +arp_route_tbl = (ad102814,FFFF0000,3,ad102814) +arp_route_tbl = (c2106414,FFFF0000,4,c2106414) +arp_route_tbl = (ae102814,FFFF0000,5,ae102814) +arp_route_tbl = (c3106414,FFFF0000,6,c3106414) +arp_route_tbl = (af102814,FFFF0000,7,af102814) +arp_route_tbl = (c4106414,FFFF0000,8,c4106414) +arp_route_tbl = (b0102814,FFFF0000,9,b0102814) +arp_route_tbl = (c5106414,FFFF0000,a,c5106414) +arp_route_tbl = (b1102814,FFFF0000,b,b1102814) +arp_route_tbl = (c6106414,FFFF0000,c,c6106414) +arp_route_tbl = (b2102814,FFFF0000,d,b2102814) +arp_route_tbl = (c7106414,FFFF0000,e,c7106414) +arp_route_tbl = (b3102814,FFFF0000,f,b3102814) +arp_route_tbl = (c8106414,FFFF0000,10,c8106414) +arp_route_tbl = (b4102814,FFFF0000,11,b4102814) +arp_route_tbl = (c9106414,FFFF0000,12,c9106414) +arp_route_tbl = (b5102814,FFFF0000,13,b5102814) +pktq_in_prv = RXQ0.0 RXQ2.0 RXQ4.0 RXQ6.0 RXQ8.0 RXQ10.0 RXQ12.0 RXQ14.0 RXQ16.0 RXQ18.0 +prv_to_pub_map = (0, 1)(2, 3)(4, 5)(6, 7)(8, 9) (10, 11)(12, 13)(14, 15)(16, 17)(18, 19) +ports_mac_list = CC:CC:CC:00:00:00 CC:CC:CC:00:00:01 +ports_mac_list = CC:CC:CC:00:01:00 CC:CC:CC:00:01:01 +ports_mac_list = CC:CC:CC:00:02:00 CC:CC:CC:00:02:01 +ports_mac_list = CC:CC:CC:00:03:00 CC:CC:CC:00:03:01 +ports_mac_list = CC:CC:CC:00:04:00 CC:CC:CC:00:04:01 +ports_mac_list = CC:CC:CC:00:05:00 CC:CC:CC:00:05:01 +ports_mac_list = CC:CC:CC:00:06:00 CC:CC:CC:00:06:01 +ports_mac_list = CC:CC:CC:00:07:00 CC:CC:CC:00:07:01 +ports_mac_list = CC:CC:CC:00:08:00 CC:CC:CC:00:08:01 +ports_mac_list = CC:CC:CC:00:09:00 CC:CC:CC:00:09:01 + + +[PIPELINE2] +type = TIMER +core = 0 +timer_dyn_timeout = 1000000 +n_flows = 2097152 + +[PIPELINE3] +type = CGNAPT +core = 1 +pktq_in = RXQ0.0 RXQ1.0 +pktq_out = TXQ0.0 TXQ1.0 SWQ0 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 04040000:(1, 65535) +public_ip_port_range = 04040001:(1, 65535) +public_ip_port_range = 04040002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE4] +type = CGNAPT +core = 1h +pktq_in = RXQ0.1 RXQ1.1 +pktq_out = TXQ0.1 TXQ1.1 SWQ1 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE5] +type = CGNAPT +core = 2 +pktq_in = RXQ2.0 RXQ3.0 +pktq_out = TXQ2.0 TXQ3.0 SWQ2 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 05050000:(1, 65535) +public_ip_port_range = 05050001:(1, 65535) +public_ip_port_range = 05050002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE6] +type = CGNAPT +core = 2h +pktq_in = RXQ2.1 RXQ3.1 +pktq_out = TXQ2.1 TXQ3.1 SWQ3 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE7] +type = CGNAPT +core = 3 +pktq_in = RXQ4.0 RXQ5.0 +pktq_out = TXQ4.0 TXQ5.0 SWQ4 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 06060000:(1, 65535) +public_ip_port_range = 06060001:(1, 65535) +public_ip_port_range = 06060002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE8] +type = CGNAPT +core = 3h +pktq_in = RXQ4.1 RXQ5.1 +pktq_out = TXQ4.1 TXQ5.1 SWQ5 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE9] +type = CGNAPT +core = 4 +pktq_in = RXQ6.0 RXQ7.0 +pktq_out = TXQ6.0 TXQ7.0 SWQ6 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 07070000:(1, 65535) +public_ip_port_range = 07070001:(1, 65535) +public_ip_port_range = 07070002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE10] +type = CGNAPT +core = 4h +pktq_in = RXQ6.1 RXQ7.1 +pktq_out = TXQ6.1 TXQ7.1 SWQ7 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE11] +type = CGNAPT +core = 5 +pktq_in = RXQ8.0 RXQ9.0 +pktq_out = TXQ8.0 TXQ9.0 SWQ8 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 08080000:(1, 65535) +public_ip_port_range = 08080001:(1, 65535) +public_ip_port_range = 08080002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE12] +type = CGNAPT +core = 5h +pktq_in = RXQ8.1 RXQ9.1 +pktq_out = TXQ8.1 TXQ9.1 SWQ9 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE13] +type = CGNAPT +core = 6 +pktq_in = RXQ10.0 RXQ11.0 +pktq_out = TXQ10.0 TXQ11.0 SWQ10 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 09090000:(1, 65535) +public_ip_port_range = 09090001:(1, 65535) +public_ip_port_range = 09090002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE14] +type = CGNAPT +core = 6h +pktq_in = RXQ10.1 RXQ11.1 +pktq_out = TXQ10.1 TXQ11.1 SWQ11 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE15] +type = CGNAPT +core = 7 +pktq_in = RXQ12.0 RXQ13.0 +pktq_out = TXQ12.0 TXQ13.0 SWQ12 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 0a0a0000:(1, 65535) +public_ip_port_range = 0a0a0001:(1, 65535) +public_ip_port_range = 0a0a0002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE16] +type = CGNAPT +core = 7h +pktq_in = RXQ12.1 RXQ13.1 +pktq_out = TXQ12.1 TXQ13.1 SWQ13 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE17] +type = CGNAPT +core = 8 +pktq_in = RXQ14.0 RXQ15.0 +pktq_out = TXQ14.0 TXQ15.0 SWQ14 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 0b0b0000:(1, 65535) +public_ip_port_range = 0b0b0001:(1, 65535) +public_ip_port_range = 0b0b0002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE18] +type = CGNAPT +core = 8h +pktq_in = RXQ14.1 RXQ15.1 +pktq_out = TXQ14.1 TXQ15.1 SWQ15 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE19] +type = CGNAPT +core = 9 +pktq_in = RXQ16.0 RXQ17.0 +pktq_out = TXQ16.0 TXQ17.0 SWQ16 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 0c0c0000:(1, 65535) +public_ip_port_range = 0c0c0001:(1, 65535) +public_ip_port_range = 0c0c0002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE20] +type = CGNAPT +core = 9h +pktq_in = RXQ16.1 RXQ17.1 +pktq_out = TXQ16.1 TXQ17.1 SWQ17 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE21] +type = CGNAPT +core = 10 +pktq_in = RXQ18.0 RXQ19.0 +pktq_out = TXQ18.0 TXQ19.0 SWQ18 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +public_ip_port_range = 0d0d0000:(1, 65535) +public_ip_port_range = 0d0d0001:(1, 65535) +public_ip_port_range = 0d0d0002:(1, 10) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE22] +type = CGNAPT +core = 10h +pktq_in = RXQ18.1 RXQ19.1 +pktq_out = TXQ18.1 TXQ19.1 SWQ19 +phyport_offset = 204 +n_flows = 2097152 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 1000000 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + diff --git a/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt b/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt new file mode 100644 index 00000000..20bacb73 --- /dev/null +++ b/VNFs/vCGNAPT/config/cgnat_200G_hwlb_20port.txt @@ -0,0 +1,95 @@ + +p 1 arpadd 0 192.16.100.20 00:00:00:00:00:01 +p 1 arpadd 1 172.16.40.20 00:00:00:9F:32:71 +p 1 arpadd 2 193.16.100.20 00:00:00:00:00:02 +p 1 arpadd 3 173.16.40.20 00:00:00:9F:32:73 +p 1 arpadd 4 194.16.100.20 00:00:00:00:00:03 +p 1 arpadd 5 174.16.40.20 00:00:00:A0:0D:C1 +p 1 arpadd 6 195.16.100.20 00:00:00:00:00:04 +p 1 arpadd 7 175.16.40.20 00:00:00:A0:0D:C3 +p 1 arpadd 8 196.16.100.20 00:00:00:00:00:05 +p 1 arpadd 9 176.16.40.20 00:00:00:a4:ed:01 +p 1 arpadd 10 197.16.100.20 00:00:00:00:00:06 +p 1 arpadd 11 177.16.40.20 00:00:00:a4:ed:03 +p 1 arpadd 12 198.16.100.20 00:00:00:00:00:07 +p 1 arpadd 13 178.16.40.20 00:00:00:9f:37:c1 +p 1 arpadd 14 199.16.100.20 00:00:00:00:00:08 +p 1 arpadd 15 179.16.40.20 00:00:00:9f:37:c3 +p 1 arpadd 16 200.16.100.20 00:00:00:00:00:09 +p 1 arpadd 17 180.16.40.20 00:00:00:A5:4F:89 +p 1 arpadd 18 201.16.100.20 00:00:00:00:00:0a +p 1 arpadd 19 181.16.40.20 00:00:00:A5:4F:8B + +set fwd rxonly +set_sym_hash_ena_per_port 0 enable +set_hash_global_config 0 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 1 enable +set_hash_global_config 1 simple_xor ipv4-udp enable +set_hash_input_set 0 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 1 ipv4-udp dst-ipv4 udp-dst-port add +set_sym_hash_ena_per_port 2 enable +set_hash_global_config 2 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 3 enable +set_hash_global_config 3 simple_xor ipv4-udp enable +set_hash_input_set 2 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 3 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 4 enable +set_hash_global_config 4 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 5 enable +set_hash_global_config 5 simple_xor ipv4-udp enable +set_hash_input_set 4 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 5 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 6 enable +set_hash_global_config 6 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 7 enable +set_hash_global_config 7 simple_xor ipv4-udp enable +set_hash_input_set 6 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 7 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 8 enable +set_hash_global_config 8 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 9 enable +set_hash_global_config 9 simple_xor ipv4-udp enable +set_hash_input_set 8 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 9 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 10 enable +set_hash_global_config 10 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 11 enable +set_hash_global_config 11 simple_xor ipv4-udp enable +set_hash_input_set 10 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 11 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 12 enable +set_hash_global_config 12 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 13 enable +set_hash_global_config 13 simple_xor ipv4-udp enable +set_hash_input_set 12 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 13 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 14 enable +set_hash_global_config 14 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 15 enable +set_hash_global_config 15 simple_xor ipv4-udp enable +set_hash_input_set 14 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 15 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 16 enable +set_hash_global_config 16 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 17 enable +set_hash_global_config 17 simple_xor ipv4-udp enable +set_hash_input_set 16 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 17 ipv4-udp dst-ipv4 udp-dst-port add + +set_sym_hash_ena_per_port 18 enable +set_hash_global_config 18 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 19 enable +set_hash_global_config 19 simple_xor ipv4-udp enable +set_hash_input_set 18 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 19 ipv4-udp dst-ipv4 udp-dst-port add + + +p 1 arpls + diff --git a/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg b/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg new file mode 100644 index 00000000..7b313a0c --- /dev/null +++ b/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.cfg @@ -0,0 +1,68 @@ +[EAL] +n = 4 +file_prefix = cgnat_1 +m = 4096 + +[PIPELINE0] +type = MASTER +core = 0 + +[PIPELINE1] +type = ARPICMP +core = 0 +pktq_in = SWQ0 SWQ1 +pktq_out = TXQ0.0 TXQ1.0 +arp_route_tbl = (c0106414,FFFF0000,0,c0106414) +arp_route_tbl = (ac102814,FFFF0000,1,ac102814) +#nd_route_tbl = (0064:ff9b:0:0:0:0:c010:6414,120,0,0064:ff9b:0:0:0:0:c010:6414) +#nd_route_tbl = (0064:ff9b:0:0:0:0:ac10:2814,120,1,0064:ff9b:0:0:0:0:ac10:2814) +pktq_in_prv = RXQ0.0 +prv_to_pub_map = (0, 1) +ports_mac_list = CC:CC:CC:00:00:00 CC:CC:CC:00:00:01 + +[PIPELINE2] +type = TIMER +core = 0 +timer_dyn_timeout = 1000000 +n_flows = 1048576 + +[PIPELINE3] +type = CGNAPT +core = 1 +pktq_in = RXQ0.0 RXQ1.0 +pktq_out = TXQ0.1 TXQ1.1 SWQ0 +phyport_offset = 204 +n_flows = 1048576 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100 +public_ip_port_range = 04040000:(1, 65535) +public_ip_port_range = 04040001:(1, 65535) +public_ip_port_range = 04040002:(1, 65535) +vnf_set = (3,4,5) +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + +[PIPELINE4] +type = CGNAPT +core = 1h +pktq_in = RXQ0.1 RXQ1.1 +pktq_out = TXQ0.2 TXQ1.2 SWQ1 +phyport_offset = 204 +n_flows = 1048576 +key_offset = 192;64 +key_size = 8 +hash_offset = 200;72 +timer_period = 1000000; +max_clients_per_ip = 65535 +max_port_per_client = 100 +pkt_type = ipv4 +cgnapt_meta_offset = 128 +prv_que_handler = (0,) +hw_checksum_reqd = 1 + diff --git a/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt b/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt new file mode 100644 index 00000000..d3aa5244 --- /dev/null +++ b/VNFs/vCGNAPT/config/cgnat_20G_hwlb_2port.txt @@ -0,0 +1,15 @@ + +p 1 arpadd 0 192.16.100.20 00:00:00:00:00:01 +p 1 arpadd 1 172.16.40.20 00:00:00:9F:32:71 + +set fwd rxonly +set_sym_hash_ena_per_port 0 enable +set_hash_global_config 0 simple_xor ipv4-udp enable +set_sym_hash_ena_per_port 1 enable +set_hash_global_config 1 simple_xor ipv4-udp enable + +set_hash_input_set 0 ipv4-udp src-ipv4 udp-src-port add +set_hash_input_set 1 ipv4-udp dst-ipv4 udp-dst-port add + +p 1 arpls + diff --git a/common/cscope.out b/common/cscope.out deleted file mode 100644 index 54523acb..00000000 --- a/common/cscope.out +++ /dev/null @@ -1,250740 +0,0 @@ -cscope 15 $HOME/work/opnfv/samplevnf/common 0001447068 - @VIL/acl/lib_acl.c - -16  - ~"lib_aþ.h -" - -17  - ~"vnf_commÚ.h -" - -18  - ~<¹e_pÜt.h -> - -19  - #ACL_LIB_DEBUG - 0 - - ) - -20  -¹e_aþ_f›ld_def - - gf›ld_fÜm©_v4 -[] = { - -23 . -ty³ - = -RTE_ACL_FIELD_TYPE_BITMASK -, - -24 . - gsize - = ( -ušt8_t -), - -25 . - gf›ld_šdex - = 0, - -26 . - gšput_šdex - = 0, - -27 . - goff£t - = ( -‘h”_hdr -) + - -28 -off£tof -( -v4_hdr -, -Ãxt_´Ùo_id -), - -33 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -34 . - gsize - = ( -ušt32_t -), - -35 . - gf›ld_šdex - = 1, - -36 . - gšput_šdex - = 1, - -37 . - goff£t - = ( -‘h”_hdr -) + - -38 -off£tof -( -v4_hdr -, -¤c_addr -), - -43 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -44 . - gsize - = ( -ušt32_t -), - -45 . - gf›ld_šdex - = 2, - -46 . - gšput_šdex - = 2, - -47 . - goff£t - = ( -‘h”_hdr -) + - -48 -off£tof -( -v4_hdr -, -d¡_addr -), - -53 . -ty³ - = -RTE_ACL_FIELD_TYPE_RANGE -, - -54 . - gsize - = ( -ušt16_t -), - -55 . - gf›ld_šdex - = 3, - -56 . - gšput_šdex - = 3, - -57 . - goff£t - = ( -‘h”_hdr -) + - -58 ( -v4_hdr -è+ -off£tof -( -tý_hdr -, -¤c_pÜt -), - -63 . -ty³ - = -RTE_ACL_FIELD_TYPE_RANGE -, - -64 . - gsize - = ( -ušt16_t -), - -65 . - gf›ld_šdex - = 4, - -66 . - gšput_šdex - = 3, - -67 . - goff£t - = ( -‘h”_hdr -) + - -68 ( -v4_hdr -è+ -off£tof -( -tý_hdr -, -d¡_pÜt -), - -72  - #SIZEOF_VLAN_HDR - 4 - - ) - -74  -¹e_aþ_f›ld_def - - gf›ld_fÜm©_vÏn_v4 -[] = { - -77 . -ty³ - = -RTE_ACL_FIELD_TYPE_BITMASK -, - -78 . - gsize - = ( -ušt8_t -), - -79 . - gf›ld_šdex - = 0, - -80 . - gšput_šdex - = 0, - -81 . - goff£t - = ( -‘h”_hdr -) + - -82 -SIZEOF_VLAN_HDR - + -off£tof -( -v4_hdr -, -Ãxt_´Ùo_id -), - -87 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -88 . - gsize - = ( -ušt32_t -), - -89 . - gf›ld_šdex - = 1, - -90 . - gšput_šdex - = 1, - -91 . - goff£t - = ( -‘h”_hdr -) + - -92 -SIZEOF_VLAN_HDR - + -off£tof -( -v4_hdr -, -¤c_addr -), - -97 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -98 . - gsize - = ( -ušt32_t -), - -99 . - gf›ld_šdex - = 2, - -100 . - gšput_šdex - = 2, - -101 . - goff£t - = ( -‘h”_hdr -) + - -102 -SIZEOF_VLAN_HDR - + -off£tof -( -v4_hdr -, -d¡_addr -), - -107 . -ty³ - = -RTE_ACL_FIELD_TYPE_RANGE -, - -108 . - gsize - = ( -ušt16_t -), - -109 . - gf›ld_šdex - = 3, - -110 . - gšput_šdex - = 3, - -111 . - goff£t - = ( -‘h”_hdr -) + - -112 -SIZEOF_VLAN_HDR - + - -113 ( -v4_hdr -è+ -off£tof -( -tý_hdr -, -¤c_pÜt -), - -118 . -ty³ - = -RTE_ACL_FIELD_TYPE_RANGE -, - -119 . - gsize - = ( -ušt16_t -), - -120 . - gf›ld_šdex - = 4, - -121 . - gšput_šdex - = 4, - -122 . - goff£t - = ( -‘h”_hdr -) + - -123 -SIZEOF_VLAN_HDR - + - -124 ( -v4_hdr -è+ -off£tof -( -tý_hdr -, -d¡_pÜt -), - -128  - #SIZEOF_QINQ_HEADER - 8 - - ) - -130  -¹e_aþ_f›ld_def - - gf›ld_fÜm©_qšq_v4 -[] = { - -133 . -ty³ - = -RTE_ACL_FIELD_TYPE_BITMASK -, - -134 . - gsize - = ( -ušt8_t -), - -135 . - gf›ld_šdex - = 0, - -136 . - gšput_šdex - = 0, - -137 . - goff£t - = ( -‘h”_hdr -) + - -138 -SIZEOF_QINQ_HEADER - + -off£tof -( -v4_hdr -, -Ãxt_´Ùo_id -), - -143 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -144 . - gsize - = ( -ušt32_t -), - -145 . - gf›ld_šdex - = 1, - -146 . - gšput_šdex - = 1, - -147 . - goff£t - = ( -‘h”_hdr -) + - -148 -SIZEOF_QINQ_HEADER - + -off£tof -( -v4_hdr -, -¤c_addr -), - -153 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -154 . - gsize - = ( -ušt32_t -), - -155 . - gf›ld_šdex - = 2, - -156 . - gšput_šdex - = 2, - -157 . - goff£t - = ( -‘h”_hdr -) + - -158 -SIZEOF_QINQ_HEADER - + -off£tof -( -v4_hdr -, -d¡_addr -), - -163 . -ty³ - = -RTE_ACL_FIELD_TYPE_RANGE -, - -164 . - gsize - = ( -ušt16_t -), - -165 . - gf›ld_šdex - = 3, - -166 . - gšput_šdex - = 3, - -167 . - goff£t - = ( -‘h”_hdr -) + - -168 -SIZEOF_QINQ_HEADER - + - -169 ( -v4_hdr -è+ -off£tof -( -tý_hdr -, -¤c_pÜt -), - -174 . -ty³ - = -RTE_ACL_FIELD_TYPE_RANGE -, - -175 . - gsize - = ( -ušt16_t -), - -176 . - gf›ld_šdex - = 4, - -177 . - gšput_šdex - = 4, - -178 . - goff£t - = ( -‘h”_hdr -) + - -179 -SIZEOF_QINQ_HEADER - + - -180 ( -v4_hdr -è+ -off£tof -( -tý_hdr -, -d¡_pÜt -), - -184  -¹e_aþ_f›ld_def - - gf›ld_fÜm©_v6 -[] = { - -187 . -ty³ - = -RTE_ACL_FIELD_TYPE_BITMASK -, - -188 . - gsize - = ( -ušt8_t -), - -189 . - gf›ld_šdex - = 0, - -190 . - gšput_šdex - = 0, - -191 . - goff£t - = ( -‘h”_hdr -) + - -192 -off£tof -( -v6_hdr -, -´Ùo -), - -197 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -198 . - gsize - = ( -ušt32_t -), - -199 . - gf›ld_šdex - = 1, - -200 . - gšput_šdex - = 1, - -201 . - goff£t - = ( -‘h”_hdr -) + - -202 -off£tof -( -v6_hdr -, -¤c_addr -), - -206 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -207 . - gsize - = ( -ušt32_t -), - -208 . - gf›ld_šdex - = 2, - -209 . - gšput_šdex - = 2, - -210 . - goff£t - = ( -‘h”_hdr -) + - -211 -off£tof -( -v6_hdr -, -¤c_addr -è+ ( - gušt32_t -), - -215 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -216 . - gsize - = ( -ušt32_t -), - -217 . - gf›ld_šdex - = 3, - -218 . - gšput_šdex - = 3, - -219 . - goff£t - = ( -‘h”_hdr -) + - -220 -off£tof -( -v6_hdr -, -¤c_addr -è+ 2 * ( - gušt32_t -), - -224 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -225 . - gsize - = ( -ušt32_t -), - -226 . - gf›ld_šdex - = 4, - -227 . - gšput_šdex - = 4, - -228 . - goff£t - = ( -‘h”_hdr -) + - -229 -off£tof -( -v6_hdr -, -¤c_addr -è+ 3 * ( - gušt32_t -), - -234 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -235 . - gsize - = ( -ušt32_t -), - -236 . - gf›ld_šdex - = 5, - -237 . - gšput_šdex - = 5, - -238 . - goff£t - = ( -‘h”_hdr -) + - -239 -off£tof -( -v6_hdr -, -d¡_addr -), - -243 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -244 . - gsize - = ( -ušt32_t -), - -245 . - gf›ld_šdex - = 6, - -246 . - gšput_šdex - = 6, - -247 . - goff£t - = ( -‘h”_hdr -) + - -248 -off£tof -( -v6_hdr -, -d¡_addr -è+ ( - gušt32_t -), - -252 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -253 . - gsize - = ( -ušt32_t -), - -254 . - gf›ld_šdex - = 7, - -255 . - gšput_šdex - = 7, - -256 . - goff£t - = ( -‘h”_hdr -) + - -257 -off£tof -( -v6_hdr -, -d¡_addr -è+ 2 * ( - gušt32_t -), - -261 . -ty³ - = -RTE_ACL_FIELD_TYPE_MASK -, - -262 . - gsize - = ( -ušt32_t -), - -263 . - gf›ld_šdex - = 8, - -264 . - gšput_šdex - = 8, - -265 . - goff£t - = ( -‘h”_hdr -) + - -266 -off£tof -( -v6_hdr -, -d¡_addr -è+ 3 * ( - gušt32_t -), - -271 . -ty³ - = -RTE_ACL_FIELD_TYPE_RANGE -, - -272 . - gsize - = ( -ušt16_t -), - -273 . - gf›ld_šdex - = 9, - -274 . - gšput_šdex - = 9, - -275 . - goff£t - = ( -‘h”_hdr -) + - -276 ( -v6_hdr -è+ -off£tof -( -tý_hdr -, -¤c_pÜt -), - -281 . -ty³ - = -RTE_ACL_FIELD_TYPE_RANGE -, - -282 . - gsize - = ( -ušt16_t -), - -283 . - gf›ld_šdex - = 10, - -284 . - gšput_šdex - = 9, - -285 . - goff£t - = ( -‘h”_hdr -) + - -286 ( -v6_hdr -è+ -off£tof -( -tý_hdr -, -d¡_pÜt -), - -290 * - $lib_aþ_ü—‹_aùive_¡ªdby_bË_v4 -( -ušt8_t - -bË_num -, - -291 -ušt32_t - * -libaþ_n_ruËs -) - -293 - `´štf -("Create LIBACL‡ctive IPV4 Tables„te_socket_id(): %i\n", - -294 - `¹e_sock‘_id -()); - -297  -¹e_bË_aþ_·¿ms - -commÚ_v4_bË_libaþ_·¿ms - = { - -298 . -Çme - = "LIBACLIPV4A", - -299 . -n_ruËs - = * -libaþ_n_ruËs -, - -300 . -n_ruË_f›lds - = - `RTE_DIM -( -f›ld_fÜm©_v4 -), - -303 - `memýy -( -commÚ_v4_bË_libaþ_·¿ms -. -f›ld_fÜm© -, - -304 -f›ld_fÜm©_v4 -, (field_format_ipv4)); - -306 -ušt32_t - -v4_’Œy_size - = ( -lib_aþ_bË_’Œy -); - -308 ià( -bË_num - == 2) - -309 -commÚ_v4_bË_libaþ_·¿ms -. -Çme - = "LIBACLIPV4B"; - -310  -¹e_bË_aþ_Ýs -. - `f_ü—‹ -(& -commÚ_v4_bË_libaþ_·¿ms -, - -311 - `¹e_sock‘_id -(), - -312 -v4_’Œy_size -); - -315 - } -} - -317 * - $lib_aþ_ü—‹_aùive_¡ªdby_bË_v6 -( -ušt8_t - -bË_num -, - -318 -ušt32_t - * -libaþ_n_ruËs -) - -320 - `´štf -("Create LIBACL‡ctive IPV6 Tables„te_socket_id(): %i\n", - -321 - `¹e_sock‘_id -()); - -323  -¹e_bË_aþ_·¿ms - -commÚ_v6_bË_libaþ_·¿ms - = { - -324 . -Çme - = "LIBACLIPV6A", - -325 . -n_ruËs - = * -libaþ_n_ruËs -, - -326 . -n_ruË_f›lds - = - `RTE_DIM -( -f›ld_fÜm©_v6 -), - -329 - `memýy -( -commÚ_v6_bË_libaþ_·¿ms -. -f›ld_fÜm© -, - -330 -f›ld_fÜm©_v6 -, (field_format_ipv6)); - -332 -ušt32_t - -v6_’Œy_size - = ( -lib_aþ_bË_’Œy -); - -334 ià( -bË_num - == 2) - -335 -commÚ_v6_bË_libaþ_·¿ms -. -Çme - = "LIBACLIPV6B"; - -336  -¹e_bË_aþ_Ýs -. - `f_ü—‹ -(& -commÚ_v6_bË_libaþ_·¿ms -, - -337 - `¹e_sock‘_id -(), - -338 -v6_’Œy_size -); - -341 - } -} - -342  - $lib_aþ_·r£_cÚfig -( -lib_aþ - * -¶ib_aþ -, - -343 * -¬g_Çme -, * -¬g_v®ue -, - -344 -ušt32_t - * -libaþ_n_ruËs -) - -346 -ušt32_t - -n_ruËs_´e£Á - = 0; - -347 -ušt32_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›lds - = - `RTE_DIM -( -f›ld_fÜm©_v4 -); - -352 -¶ib_aþ --> -f›ld_fÜm© - = -f›ld_fÜm©_v4 -; - -353 -¶ib_aþ --> -f›ld_fÜm©_size - = ( -f›ld_fÜm©_v4 -); - -354 ià( - `¡rcmp -( -¬g_Çme -, "n_rules") == 0) { - -355 ià( -n_ruËs_´e£Á -) { - -356 - `´štf -("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 - `´štf -("pkt_type"); - -370 -pkt_ty³_´e£Á - = 1; - -373 ià( - `¡rcmp -( -¬g_v®ue -, "ipv4") == 0) { - -374 -¶ib_aþ --> -n_ruË_f›lds - = - -375 - `RTE_DIM -( -f›ld_fÜm©_v4 -); - -376 -¶ib_aþ --> -f›ld_fÜm© - = -f›ld_fÜm©_v4 -; - -377 -¶ib_aþ --> -f›ld_fÜm©_size - = - -378 ( -f›ld_fÜm©_v4 -); - -383 ià( - `¡rcmp -( -¬g_v®ue -, "vlan_ipv4") == 0) { - -384 -¶ib_aþ --> -n_ruË_f›lds - = - -385 - `RTE_DIM -( -f›ld_fÜm©_vÏn_v4 -); - -386 -¶ib_aþ --> -f›ld_fÜm© - = - -387 -f›ld_fÜm©_vÏn_v4 -; - -388 -¶ib_aþ --> -f›ld_fÜm©_size - = - -389 ( -f›ld_fÜm©_vÏn_v4 -); - -394 ià( - `¡rcmp -( -¬g_v®ue -, "qinq_ipv4") == 0) { - -395 -¶ib_aþ --> -n_ruË_f›lds - = - -396 - `RTE_DIM -( -f›ld_fÜm©_qšq_v4 -); - -397 -¶ib_aþ --> -f›ld_fÜm© - = - -398 -f›ld_fÜm©_qšq_v4 -; - -399 -¶ib_aþ --> -f›ld_fÜm©_size - = - -400 ( -f›ld_fÜm©_qšq_v4 -); - -405 ià( - `¡rcmp -( -¬g_v®ue -, "ipv6") == 0) { - -406 -¶ib_aþ --> -n_ruË_f›lds - = - -407 - `RTE_DIM -( -f›ld_fÜm©_v6 -); - -408 -¶ib_aþ --> -f›ld_fÜm© - = -f›ld_fÜm©_v6 -; - -409 -¶ib_aþ --> -f›ld_fÜm©_size - = - -410 ( -f›ld_fÜm©_v6 -); - -414 - `´štf -("other"); - -419 - } -} - -444 -ušt64_t - - -445 -lib_aþ_pkt_wÜk_key -( -lib_aþ - * -¶ib_aþ -, - -446  -¹e_mbuf - ** -pkts -, -ušt64_t - -pkts_mask -, - -447 -ušt64_t - * -pkts_drÝ_w™hout_ruË -, - -448 * -¶ib_aþ_ruË_bË_v4_aùive -, - -449 * -¶ib_aþ_ruË_bË_v6_aùive -, - -450  -p–še_aùiÚ_key - * -aùiÚ_¬¿y_aùive -, - -451  -aùiÚ_couÁ”_block - (* -p_aùiÚ_couÁ”_bË -)[ -aùiÚ_¬¿y_max -], - -452 -ušt64_t - * -cÚÁ¿ck_mask -, - -453 -ušt64_t - * -cÚÃxi¡_mask -, - -454  -lib_aþ_v4_’abËd -,  -lib_aþ_v6_’abËd -) - -457 -ušt64_t - - glookup_h™_mask - = 0; - -458 -ušt64_t - - glookup_h™_mask_v4 - = 0; - -459 -ušt64_t - - glookup_h™_mask_v6 - = 0; - -460 -ušt64_t - - glookup_miss_mask - = 0; - -461  - g¡©us -; - -464 ià( - glib_aþ_v4_’abËd -) { - -465 ià( - gACL_LIB_DEBUG -) - -466 -´štf -("ACL IPV4 Looku°Mask Befܐð0x%" -PRIx64 -"\n", - -467 -pkts_mask -); - -468 - g¡©us - = -¹e_bË_aþ_Ýs -. -f_lookup -( - -469 -¶ib_aþ_ruË_bË_v4_aùive -, - -470 -pkts -, -pkts_mask -, & -lookup_h™_mask_v4 -, - -471 (**è -¶ib_aþ --> -¶ib_aþ_’Œ›s_v4 -); - -472 ià( - g¡©us - < 0) - -473 -´štf -("Lookup failed\n"); - -474 ià( - gACL_LIB_DEBUG -) - -475 -´štf -("ACL IPV4 Looku°Mask Aᔠ= 0x%" -PRIx64 -"\n", - -476 -lookup_h™_mask_v4 -); - -479 ià( - glib_aþ_v6_’abËd -) { - -480 ià( - gACL_LIB_DEBUG -) - -481 -´štf -("ACL IPV6 Looku°Mask Befܐð0x%" -PRIx64 -"\n", - -482 -pkts_mask -); - -483 - g¡©us - = -¹e_bË_aþ_Ýs -. -f_lookup -( - -484 -¶ib_aþ_ruË_bË_v6_aùive -, - -485 -pkts -, -pkts_mask -, & -lookup_h™_mask_v6 -, - -486 (**è -¶ib_aþ --> -¶ib_aþ_’Œ›s_v6 -); - -487 ià( - g¡©us - < 0) - -488 -´štf -("Lookup Failed\n"); - -489 ià( - gACL_LIB_DEBUG -) - -490 -´štf -("ACL IPV6 Looku°Mask Aᔠ= 0x%" -PRIx64 -"\n", - -491 -lookup_h™_mask_v6 -); - -495 - glookup_h™_mask - = -lookup_h™_mask_v4 - | -lookup_h™_mask_v6 -; - -496 ià( - gACL_LIB_DEBUG -) - -497 -´štf -("ACL Looku°Mask Aᔠ= 0x%" -PRIx64 -"\n", - -498 -lookup_h™_mask -); - -500 - glookup_miss_mask - = -pkts_mask - & (~ -lookup_h™_mask -); - -501 - gpkts_mask - = -lookup_h™_mask -; - -502 * - gpkts_drÝ_w™hout_ruË - +ð -__bužtš_pÝcouÁÎ -( -lookup_miss_mask -); - -503 ià( - gACL_LIB_DEBUG -) - -504 -´štf -("pkt_wÜk_aþ_key…kts_drÝ: %" -PRIu64 - "‚_pkts: %u\n", - -505 * -pkts_drÝ_w™hout_ruË -, - -506 -__bužtš_pÝcouÁÎ -( -lookup_miss_mask -)); - -508 -ušt64_t - - gpkts_to_´oûss - = -lookup_h™_mask -; - -510 ; - gpkts_to_´oûss -;) { - -511 -ušt8_t - - gpos - = (ušt8_t) -__bužtš_ùzÎ -( -pkts_to_´oûss -); - -513 -ušt64_t - - gpkt_mask - = 1LLU << -pos -; - -515 - gpkts_to_´oûss - &ð~ -pkt_mask -; - -516  -¹e_mbuf - * - gpkt - = -pkts -[ -pos -]; - -518 -ušt8_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  -lib_aþ_bË_’Œy - * -’Œy - = - -525 ( -lib_aþ_bË_’Œy - *) - -526 -¶ib_aþ --> -¶ib_aþ_’Œ›s_v4 -[ -pos -]; - -527 -ušt16_t - - gphy_pÜt - = -’Œy --> -h—d -. -pÜt_id -; - -528 -ušt32_t - - gaùiÚ_id - = -’Œy --> -aùiÚ_id -; - -530 ià( - gACL_LIB_DEBUG -) - -531 -´štf -("aùiÚ_id = %u\n", -aùiÚ_id -); - -533 -ušt32_t - - gdsý_off£t - = -IP_START - + -IP_HDR_DSCP_OFST -; - -535 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -536 - glib_aþ_aùiÚ_couÁ -) { - -537 - gp_aùiÚ_couÁ”_bË - - -538 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -539 [ -aùiÚ_id -]. - g·ck‘CouÁ -++; - -540 - gp_aùiÚ_couÁ”_bË - - -541 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -542 [ -aùiÚ_id -]. - gby‹CouÁ - += - -543 -¹e_pktmbuf_pkt_Ën -( -pkt -); - -544 ià( - gACL_LIB_DEBUG -) - -545 -´štf -("Action Count Packet Count: %" - -546 -PRIu64 - " Byte Count: %" - -547 -PRIu64 - "\n" - -548 , -p_aùiÚ_couÁ”_bË - - -549 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -550 [ -aùiÚ_id -]. -·ck‘CouÁ -, - -551 -p_aùiÚ_couÁ”_bË - - -552 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -553 [ -aùiÚ_id -]. -by‹CouÁ -); - -556 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -557 - glib_aþ_aùiÚ_·ck‘_drÝ -) { - -560 ià( - gACL_LIB_DEBUG -) - -561 -´štf -("ACL before drop…kt_mask %" - -562 -PRIx64 -",…kt_num %d\n", - -563 -pkts_mask -, -pos -); - -564 - gpkts_mask - &ð~(1LLU << -pos -); - -565 (* - gpkts_drÝ_w™hout_ruË -)++; - -566 ià( - gACL_LIB_DEBUG -) - -567 -´štf -("ACL‡á” dr݅kt_mask %" -PRIx64 - - -569 -PRIu64 -"\n", -pkts_mask -, -pos -, - -570 * -pkts_drÝ_w™hout_ruË -); - -573 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -574 - glib_aþ_aùiÚ_fwd -) { - -575 - gphy_pÜt - = -aùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - -576 -fwd_pÜt -; - -577 - g’Œy --> - gh—d -. - gpÜt_id - = -phy_pÜt -; - -578 ià( - gACL_LIB_DEBUG -) - -579 -´štf -("Action FWD Port ID: %" - -580 -PRIu16 -"\n", -phy_pÜt -); - -583 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -584 - glib_aþ_aùiÚ_Çt -) { - -585 - gphy_pÜt - = -aùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - -586 -Çt_pÜt -; - -587 - g’Œy --> - gh—d -. - gpÜt_id - = -phy_pÜt -; - -588 ià( - gACL_LIB_DEBUG -) - -589 -´štf -("Action NAT Port ID: %" - -590 -PRIu16 -"\n", -phy_pÜt -); - -593 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -594 - glib_aþ_aùiÚ_dsý -) { - -597 -ušt8_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ܙy - << 2; - -601 ià( - gACL_LIB_DEBUG -) - -602 -´štf -("Action DSCP DSCP Priority: %" - -603 -PRIu16 - "\n", * -dsý -); - -606 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -607 - glib_aþ_aùiÚ_·ck‘_acû± -) { - -608 ià( - gACL_LIB_DEBUG -) - -609 -´štf -("Action Accept\n"); - -611 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - - -612 & - glib_aþ_aùiÚ_cÚÁ¿ck -) { - -615 * - gcÚÁ¿ck_mask - |ð -pkt_mask -; - -616 ià( - gACL_LIB_DEBUG -) - -617 -´štf -("ACL CTƒnabled: 0x%" - -618 -PRIx64 -"…kt_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™m­ - - -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 -´štf -("Connexist ENB CT:0x%" - -641 -PRIx64 -" connexist: 0x%" - -642 -PRIx64 -"…kt_mask: 0x%" - -643 -PRIx64 -"\n", - -644 * -cÚÁ¿ck_mask -, - -645 * -cÚÃxi¡_mask -, - -646 -pkt_mask -); - -651 ià( - ghdr_chk - =ð -IPv6_HDR_VERSION -) { - -653  -lib_aþ_bË_’Œy - * -’Œy - = - -654 ( -lib_aþ_bË_’Œy - *) - -655 -¶ib_aþ --> -¶ib_aþ_’Œ›s_v6 -[ -pos -]; - -656 -ušt16_t - - gphy_pÜt - = -’Œy --> -h—d -. -pÜt_id -; - -657 -ušt32_t - - gaùiÚ_id - = -’Œy --> -aùiÚ_id -; - -659 ià( - gACL_LIB_DEBUG -) - -660 -´štf -("aùiÚ_id = %u\n", -aùiÚ_id -); - -662 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -663 - glib_aþ_aùiÚ_couÁ -) { - -664 - gp_aùiÚ_couÁ”_bË - - -665 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -666 [ -aùiÚ_id -]. - g·ck‘CouÁ -++; - -667 - gp_aùiÚ_couÁ”_bË - - -668 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -669 [ -aùiÚ_id -]. - gby‹CouÁ - += - -670 -¹e_pktmbuf_pkt_Ën -( -pkt -); - -671 ià( - gACL_LIB_DEBUG -) - -672 -´štf -("Action Count Packet Count: %" - -673 -PRIu64 - " Byte Count: %" - -674 -PRIu64 - "\n", - -675 -p_aùiÚ_couÁ”_bË - - -676 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -677 [ -aùiÚ_id -]. -·ck‘CouÁ -, - -678 -p_aùiÚ_couÁ”_bË - - -679 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -680 [ -aùiÚ_id -]. -by‹CouÁ -); - -683 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -684 - glib_aþ_aùiÚ_·ck‘_drÝ -) { - -686 ià( - gACL_LIB_DEBUG -) - -687 -´štf -("ACL before drop…kt_mask %" - -688 -PRIx64 -",…kt_num %d\n", - -689 -pkts_mask -, -pos -); - -690 - gpkts_mask - &ð~(1LLU << -pos -); - -691 (* - gpkts_drÝ_w™hout_ruË -)++; - -692 ià( - gACL_LIB_DEBUG -) - -693 -´štf -("ACL‡á” dr݅kt_mask %" -PRIx64 - - -695 -PRIu64 - "\n", -pkts_mask -, -pos -, - -696 * -pkts_drÝ_w™hout_ruË -); - -700 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -701 - glib_aþ_aùiÚ_fwd -) { - -702 - gphy_pÜt - = -aùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - -703 -fwd_pÜt -; - -704 - g’Œy --> - gh—d -. - gpÜt_id - = -phy_pÜt -; - -705 ià( - gACL_LIB_DEBUG -) - -706 -´štf -("Action FWD Port ID: %" - -707 -PRIu16 -"\n", -phy_pÜt -); - -710 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -711 - glib_aþ_aùiÚ_Çt -) { - -712 - gphy_pÜt - = -aùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - -713 -Çt_pÜt -; - -714 - g’Œy --> - gh—d -. - gpÜt_id - = -phy_pÜt -; - -715 ià( - gACL_LIB_DEBUG -) - -716 -´štf -("Action NAT Port ID: %" - -717 -PRIu16 -"\n", -phy_pÜt -); - -720 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -721 - glib_aþ_aùiÚ_dsý -) { - -724 -ušt32_t - - gdsý_off£t - = -IP_START - + - -725 -IP_HDR_DSCP_OFST_IPV6 -; - -726 -ušt16_t - * - gdsý - = -RTE_MBUF_METADATA_UINT16_PTR -( - -727 -pkt -, -dsý_off£t -); - -728 -ušt16_t - - g‹mp - = * -dsý -; - -729 -ušt16_t - - gdsý_v®ue - = ( -¹e_bsw­16 -( -‹mp -) & - -731 -ušt8_t - - gdsý_¡Üe - = - -732 -aùiÚ_¬¿y_aùive - - -733 [ -aùiÚ_id -]. -dsý_´iܙy - << 2; - -734 -ušt16_t - - gdsý_‹mp - = -dsý_¡Üe -; - -736 - gdsý_‹mp - = -dsý_‹mp - << 4; - -737 * - gdsý - = -¹e_bsw­16 -( -dsý_‹mp - | -dsý_v®ue -); - -738 ià( - gACL_LIB_DEBUG -) - -739 -´štf -("Action DSCP DSCP Priority: %" - -740 -PRIu16 -"\n", * -dsý -); - -743 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - - -744 & - glib_aþ_aùiÚ_·ck‘_acû± -) { - -745 ià( - gACL_LIB_DEBUG -) - -746 -´štf -("Action Accept\n"); - -748 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - - -749 & - glib_aþ_aùiÚ_cÚÁ¿ck -) { - -752 * - gcÚÁ¿ck_mask - |ð -pkt_mask -; - -753 ià( - gACL_LIB_DEBUG -) - -754 -´štf -("ACL CTƒnabled: 0x%" - -755 -PRIx64 -"…kt_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™m­ - - -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 -´štf -("Connexist ENB CT:0x%" - -778 -PRIx64 -" connexist: 0x%" - -779 -PRIx64 -"…kt_mask: 0x%" - -780 -PRIx64 -"\n", - -781 * -cÚÁ¿ck_mask -, - -782 * -cÚÃxi¡_mask -, - -783 -pkt_mask -); - -788  - gpkts_mask -; - -813 -ušt64_t - - -814 -lib_aþ_v4_pkt_wÜk_key -( -lib_aþ - * -¶ib_aþ -, - -815  -¹e_mbuf - ** -pkts -, -ušt64_t - -pkts_mask -, - -816 -ušt64_t - * -pkts_drÝ_w™hout_ruË -, - -817 * -¶ib_aþ_ruË_bË_v4_aùive -, - -818  -p–še_aùiÚ_key - * -aùiÚ_¬¿y_aùive -, - -819  -aùiÚ_couÁ”_block - (* -p_aùiÚ_couÁ”_bË -)[ -aùiÚ_¬¿y_max -], - -820 -ušt64_t - * -cÚÁ¿ck_mask -, - -821 -ušt64_t - * -cÚÃxi¡_mask -) - -824 -ušt64_t - - glookup_h™_mask_v4 - = 0; - -825 -ušt64_t - - glookup_miss_mask_v4 - = 0; - -826  - g¡©us -; - -828 ià( - gACL_LIB_DEBUG -) - -829 -´štf -("ACL IPV4 Looku°Mask Befܐð0x%" -PRIx64 -"\n", - -830 -pkts_mask -); - -831 - g¡©us - = -¹e_bË_aþ_Ýs -. -f_lookup -( - -832 -¶ib_aþ_ruË_bË_v4_aùive -, - -833 -pkts -, -pkts_mask -, & -lookup_h™_mask_v4 -, - -834 (**è -¶ib_aþ --> -¶ib_aþ_’Œ›s_v4 -); - -835 ià( - g¡©us - < 0) - -836 -´štf -("Lookup Failed\n"); - -837 ià( - gACL_LIB_DEBUG -) - -838 -´štf -("ACL IPV4 Looku°Mask Aᔠ= 0x%" -PRIx64 -"\n", - -839 -lookup_h™_mask_v4 -); - -840 ià( - gACL_LIB_DEBUG -) - -841 -´štf -("ACL Looku°Mask Aᔠ= 0x%" -PRIx64 -"\n", - -842 -lookup_h™_mask_v4 -); - -844 - glookup_miss_mask_v4 - = -pkts_mask - & (~ -lookup_h™_mask_v4 -); - -845 - gpkts_mask - = -lookup_h™_mask_v4 -; - -846 * - gpkts_drÝ_w™hout_ruË - +ð -__bužtš_pÝcouÁÎ -( -lookup_miss_mask_v4 -); - -847 ià( - gACL_LIB_DEBUG -) - -848 -´štf -("pkt_wÜk_aþ_key…kts_drÝ: %" -PRIu64 - "‚_pkts: %u\n", - -849 * -pkts_drÝ_w™hout_ruË -, - -850 -__bužtš_pÝcouÁÎ -( -lookup_miss_mask_v4 -)); - -852 -ušt64_t - - gpkts_to_´oûss - = -lookup_h™_mask_v4 -; - -854 ; - gpkts_to_´oûss -;) { - -855 -ušt8_t - - gpos - = (ušt8_t) -__bužtš_ùzÎ -( -pkts_to_´oûss -); - -857 -ušt64_t - - gpkt_mask - = 1LLU << -pos -; - -859 - gpkts_to_´oûss - &ð~ -pkt_mask -; - -860  -¹e_mbuf - * - gpkt - = -pkts -[ -pos -]; - -864  -lib_aþ_bË_’Œy - * - g’Œy - = - -865 ( -lib_aþ_bË_’Œy - *) - -866 -¶ib_aþ --> -¶ib_aþ_’Œ›s_v4 -[ -pos -]; - -867 -ušt16_t - - gphy_pÜt - = -’Œy --> -h—d -. -pÜt_id -; - -868 -ušt32_t - - gaùiÚ_id - = -’Œy --> -aùiÚ_id -; - -870 ià( - gACL_LIB_DEBUG -) - -871 -´štf -("aùiÚ_id = %u\n", -aùiÚ_id -); - -873 -ušt32_t - - gdsý_off£t - = -IP_START - + -IP_HDR_DSCP_OFST -; - -875 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -876 - glib_aþ_aùiÚ_couÁ -) { - -877 - gp_aùiÚ_couÁ”_bË - - -878 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -879 [ -aùiÚ_id -]. - g·ck‘CouÁ -++; - -880 - gp_aùiÚ_couÁ”_bË - - -881 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -882 [ -aùiÚ_id -]. - gby‹CouÁ - += - -883 -¹e_pktmbuf_pkt_Ën -( -pkt -); - -884 ià( - gACL_LIB_DEBUG -) - -885 -´štf -("Action Count Packet Count: %" - -886 -PRIu64 - " Byte Count: %" - -887 -PRIu64 - "\n" - -888 , -p_aùiÚ_couÁ”_bË - - -889 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -890 [ -aùiÚ_id -]. -·ck‘CouÁ -, - -891 -p_aùiÚ_couÁ”_bË - - -892 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -893 [ -aùiÚ_id -]. -by‹CouÁ -); - -896 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -897 - glib_aþ_aùiÚ_·ck‘_drÝ -) { - -900 ià( - gACL_LIB_DEBUG -) - -901 -´štf -("ACL before drop…kt_mask %" - -902 -PRIx64 -",…kt_num %d\n", - -903 -pkts_mask -, -pos -); - -904 - gpkts_mask - &ð~(1LLU << -pos -); - -905 (* - gpkts_drÝ_w™hout_ruË -)++; - -906 ià( - gACL_LIB_DEBUG -) - -907 -´štf -("ACL‡á” dr݅kt_mask %" -PRIx64 - - -909 -PRIu64 - "\n", -pkts_mask -, -pos -, - -910 * -pkts_drÝ_w™hout_ruË -); - -913 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -914 - glib_aþ_aùiÚ_fwd -) { - -915 - gphy_pÜt - = -aùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - -916 -fwd_pÜt -; - -917 - g’Œy --> - gh—d -. - gpÜt_id - = -phy_pÜt -; - -918 ià( - gACL_LIB_DEBUG -) - -919 -´štf -("Action FWD Port ID: %" - -920 -PRIu16 -"\n", -phy_pÜt -); - -923 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -924 - glib_aþ_aùiÚ_Çt -) { - -925 - gphy_pÜt - = -aùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - -926 -Çt_pÜt -; - -927 - g’Œy --> - gh—d -. - gpÜt_id - = -phy_pÜt -; - -928 ià( - gACL_LIB_DEBUG -) - -929 -´štf -("Action NAT Port ID: %" - -930 -PRIu16 -"\n", -phy_pÜt -); - -933 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -934 - glib_aþ_aùiÚ_dsý -) { - -937 -ušt8_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ܙy - << 2; - -941 ià( - gACL_LIB_DEBUG -) - -942 -´štf -("Action DSCP DSCP Priority: %" - -943 -PRIu16 - "\n", * -dsý -); - -946 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -947 - glib_aþ_aùiÚ_·ck‘_acû± -) { - -948 ià( - gACL_LIB_DEBUG -) - -949 -´štf -("Action Accept\n"); - -951 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - - -952 & - glib_aþ_aùiÚ_cÚÁ¿ck -) { - -955 * - gcÚÁ¿ck_mask - |ð -pkt_mask -; - -956 ià( - gACL_LIB_DEBUG -) - -957 -´štf -("ACL CTƒnabled: 0x%" - -958 -PRIx64 -"…kt_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™m­ - - -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 -´štf -("ACL Connexist ENB CT:0x%" - -981 -PRIx64 -" connexist: 0x%" - -982 -PRIx64 -"…kt_mask: 0x%" - -983 -PRIx64 -"\n", - -984 * -cÚÁ¿ck_mask -, - -985 * -cÚÃxi¡_mask -, - -986 -pkt_mask -); - -991  - gpkts_mask -; - -1016 -ušt64_t - - -1017 -lib_aþ_v6_pkt_wÜk_key -( -lib_aþ - * -¶ib_aþ -, - -1018  -¹e_mbuf - ** -pkts -, -ušt64_t - -pkts_mask -, - -1019 -ušt64_t - * -pkts_drÝ_w™hout_ruË -, - -1020 * -¶ib_aþ_ruË_bË_v6_aùive -, - -1021  -p–še_aùiÚ_key - * -aùiÚ_¬¿y_aùive -, - -1022  -aùiÚ_couÁ”_block - (* -p_aùiÚ_couÁ”_bË -)[ -aùiÚ_¬¿y_max -], - -1023 -ušt64_t - * -cÚÁ¿ck_mask -, - -1024 -ušt64_t - * -cÚÃxi¡_mask -) - -1027 -ušt64_t - - glookup_h™_mask_v6 - = 0; - -1028 -ušt64_t - - glookup_miss_mask_v6 - = 0; - -1029  - g¡©us -; - -1032 ià( - gACL_LIB_DEBUG -) - -1033 -´štf -("ACL IPV6 Looku°Mask Befܐð0x%" -PRIx64 -"\n", - -1034 -pkts_mask -); - -1035 - g¡©us - = -¹e_bË_aþ_Ýs -. -f_lookup -( - -1036 -¶ib_aþ_ruË_bË_v6_aùive -, - -1037 -pkts -, -pkts_mask -, & -lookup_h™_mask_v6 -, - -1038 (**è -¶ib_aþ --> -¶ib_aþ_’Œ›s_v6 -); - -1039 ià( - g¡©us - < 0) - -1040 -´štf -("Lookup Failed\n"); - -1041 ià( - gACL_LIB_DEBUG -) - -1042 -´štf -("ACL IPV6 Looku°Mask Aᔠ= 0x%" -PRIx64 -"\n", - -1043 -lookup_h™_mask_v6 -); - -1045 ià( - gACL_LIB_DEBUG -) - -1046 -´štf -("ACL Looku°Mask Aᔠ= 0x%" -PRIx64 -"\n", - -1047 -lookup_h™_mask_v6 -); - -1049 - glookup_miss_mask_v6 - = -pkts_mask - & (~ -lookup_h™_mask_v6 -); - -1050 - gpkts_mask - = -lookup_h™_mask_v6 -; - -1051 * - gpkts_drÝ_w™hout_ruË - +ð -__bužtš_pÝcouÁÎ -( -lookup_miss_mask_v6 -); - -1052 ià( - gACL_LIB_DEBUG -) - -1053 -´štf -("pkt_wÜk_aþ_key…kts_drÝ: %" -PRIu64 - "‚_pkts: %u\n", - -1054 * -pkts_drÝ_w™hout_ruË -, - -1055 -__bužtš_pÝcouÁÎ -( -lookup_miss_mask_v6 -)); - -1057 -ušt64_t - - gpkts_to_´oûss - = -lookup_h™_mask_v6 -; - -1059 ; - gpkts_to_´oûss -;) { - -1060 -ušt8_t - - gpos - = (ušt8_t) -__bužtš_ùzÎ -( -pkts_to_´oûss -); - -1062 -ušt64_t - - gpkt_mask - = 1LLU << -pos -; - -1064 - gpkts_to_´oûss - &ð~ -pkt_mask -; - -1065  -¹e_mbuf - * - gpkt - = -pkts -[ -pos -]; - -1068  -lib_aþ_bË_’Œy - * - g’Œy - = - -1069 ( -lib_aþ_bË_’Œy - *) - -1070 -¶ib_aþ --> -¶ib_aþ_’Œ›s_v6 -[ -pos -]; - -1071 -ušt16_t - - gphy_pÜt - = -’Œy --> -h—d -. -pÜt_id -; - -1072 -ušt32_t - - gaùiÚ_id - = -’Œy --> -aùiÚ_id -; - -1074 ià( - gACL_LIB_DEBUG -) - -1075 -´štf -("aùiÚ_id = %u\n", -aùiÚ_id -); - -1077 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -1078 - glib_aþ_aùiÚ_couÁ -) { - -1079 - gp_aùiÚ_couÁ”_bË - - -1080 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -1081 [ -aùiÚ_id -]. - g·ck‘CouÁ -++; - -1082 - gp_aùiÚ_couÁ”_bË - - -1083 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -1084 [ -aùiÚ_id -]. - gby‹CouÁ - += - -1085 -¹e_pktmbuf_pkt_Ën -( -pkt -); - -1086 ià( - gACL_LIB_DEBUG -) - -1087 -´štf -("Action Count Packet Count: %" - -1088 -PRIu64 - " Byte Count: %" - -1089 -PRIu64 - "\n", - -1090 -p_aùiÚ_couÁ”_bË - - -1091 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -1092 [ -aùiÚ_id -]. -·ck‘CouÁ -, - -1093 -p_aùiÚ_couÁ”_bË - - -1094 [ -¶ib_aþ --> -aùiÚ_couÁ”_šdex -] - -1095 [ -aùiÚ_id -]. -by‹CouÁ -); - -1098 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -1099 - glib_aþ_aùiÚ_·ck‘_drÝ -) { - -1101 ià( - gACL_LIB_DEBUG -) - -1102 -´štf -("ACL before drop…kt_mask %" - -1103 -PRIx64 -",…kt_num %d\n", - -1104 -pkts_mask -, -pos -); - -1105 - gpkts_mask - &ð~(1LLU << -pos -); - -1106 (* - gpkts_drÝ_w™hout_ruË -)++; - -1107 ià( - gACL_LIB_DEBUG -) - -1108 -´štf -("ACL‡á” dr݅kt_mask %" -PRIx64 - - -1110 -PRIu64 - "\n", -pkts_mask -, -pos -, - -1111 * -pkts_drÝ_w™hout_ruË -); - -1115 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -1116 - glib_aþ_aùiÚ_fwd -) { - -1117 - gphy_pÜt - = -aùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - -1118 -fwd_pÜt -; - -1119 - g’Œy --> - gh—d -. - gpÜt_id - = -phy_pÜt -; - -1120 ià( - gACL_LIB_DEBUG -) - -1121 -´štf -("Action FWD Port ID: %" - -1122 -PRIu16 -"\n", -phy_pÜt -); - -1125 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -1126 - glib_aþ_aùiÚ_Çt -) { - -1127 - gphy_pÜt - = -aùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - -1128 -Çt_pÜt -; - -1129 - g’Œy --> - gh—d -. - gpÜt_id - = -phy_pÜt -; - -1130 ià( - gACL_LIB_DEBUG -) - -1131 -´štf -("Action NAT Port ID: %" - -1132 -PRIu16 -"\n", -phy_pÜt -); - -1135 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - & - -1136 - glib_aþ_aùiÚ_dsý -) { - -1139 -ušt32_t - - gdsý_off£t - = -IP_START - + - -1140 -IP_HDR_DSCP_OFST_IPV6 -; - -1141 -ušt16_t - * - gdsý - = -RTE_MBUF_METADATA_UINT16_PTR -( - -1142 -pkt -, -dsý_off£t -); - -1143 -ušt16_t - - g‹mp - = * -dsý -; - -1144 -ušt16_t - - gdsý_v®ue - = ( -¹e_bsw­16 -( -‹mp -) & - -1146 -ušt8_t - - gdsý_¡Üe - = - -1147 -aùiÚ_¬¿y_aùive - - -1148 [ -aùiÚ_id -]. -dsý_´iܙy - << 2; - -1149 -ušt16_t - - gdsý_‹mp - = -dsý_¡Üe -; - -1151 - gdsý_‹mp - = -dsý_‹mp - << 4; - -1152 * - gdsý - = -¹e_bsw­16 -( -dsý_‹mp - | -dsý_v®ue -); - -1153 ià( - gACL_LIB_DEBUG -) - -1154 -´štf -("Action DSCP DSCP Priority: %" - -1155 -PRIu16 -"\n", * -dsý -); - -1158 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - - -1159 & - glib_aþ_aùiÚ_·ck‘_acû± -) { - -1160 ià( - gACL_LIB_DEBUG -) - -1161 -´štf -("Action Accept\n"); - -1163 ià( - gaùiÚ_¬¿y_aùive -[ -aùiÚ_id -]. - gaùiÚ_b™m­ - - -1164 & - glib_aþ_aùiÚ_cÚÁ¿ck -) { - -1167 * - gcÚÁ¿ck_mask - |ð -pkt_mask -; - -1168 ià( - gACL_LIB_DEBUG -) - -1169 -´štf -("ACL CTƒnabled: 0x%" - -1170 -PRIx64 -"…kt_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™m­ - - -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 -´štf -("ACL Connexist ENB CT:0x%" - -1193 -PRIx64 -" connexist: 0x%" - -1194 -PRIx64 -"…kt_mask: 0x%" - -1195 -PRIx64 -"\n", - -1196 * -cÚÁ¿ck_mask -, - -1197 * -cÚÃxi¡_mask -, - -1198 -pkt_mask -); - -1202  - gpkts_mask -; - - @VIL/acl/lib_acl.h - -17 #iâdeà -__INCLUDE_ACL_LIB_H__ - - -18  - #__INCLUDE_ACL_LIB_H__ - - - ) - -20  - ~<¡dlib.h -> - -21  - ~<¡ršg.h -> - -22  - ~<š‰y³s.h -> - -23  - ~<¹e_p–še.h -> - -24  - ~<¹e_bË_aþ.h -> - -25  - ~"¹e_úxn_Œackšg.h -" - -26  - ~"¹e_ù_tý.h -" - -28  - #lib_aþ_aùiÚ_·ck‘_drÝ - 1 - - ) - -29  - #lib_aþ_aùiÚ_·ck‘_acû± - 2 - - ) - -30  - #lib_aþ_aùiÚ_Çt - 4 - - ) - -31  - #lib_aþ_aùiÚ_fwd - 8 - - ) - -32  - #lib_aþ_aùiÚ_couÁ - 16 - - ) - -33  - #lib_aþ_aùiÚ_dsý - 32 - - ) - -34  - #lib_aþ_aùiÚ_cÚÁ¿ck - 64 - - ) - -35  - #lib_aþ_aùiÚ_cÚÃxi¡ - 128 - - ) - -36  - #aùiÚ_¬¿y_max - 10000 - - ) - -37  - #lib_aþ_´iv©e_public - 0 - - ) - -38  - #lib_aþ_public_´iv©e - 1 - - ) - -39  - #IP_HDR_DSCP_OFST - 1 - - ) - -40  - #IPv4_HDR_VERSION - 4 - - ) - -41  - #IPv6_HDR_VERSION - 6 - - ) - -42  - #IP_HDR_DSCP_OFST_IPV6 - 0 - - ) - -43  - #IP_VERSION_CHECK - 4 - - ) - -44  - #IP_START - ( -MBUF_HDR_ROOM - + -ETH_HDR_SIZE -) - - ) - -45  - #DEFULT_NUM_RULE - (4*1024) - - ) - -49  - sp–še_aùiÚ_key - { - -50 -ušt32_t - - maùiÚ_id -; - -51 -ušt32_t - - maùiÚ_b™m­ -; - -52 -ušt32_t - - mÇt_pÜt -; - -53 -ušt32_t - - mfwd_pÜt -; - -54 -ušt8_t - - mdsý_´iܙy -; - -55 -ušt8_t - - m´iv©e_public -; - -56 } - g__¹e_ÿche_®igÃd -; - -62  - saùiÚ_couÁ”_block - { - -63 -ušt64_t - - mby‹CouÁ -; - -64 -ušt64_t - - m·ck‘CouÁ -; - -65 } - g__¹e_ÿche_®igÃd -; - -70  - slib_aþ_bË_’Œy - { - -71  -¹e_p–še_bË_’Œy - - mh—d -; - -72 -ušt32_t - - maùiÚ_id -; - -76  - slib_aþ - { - -77 -ušt32_t - - mn_ruËs -; - -78 -ušt32_t - - mn_ruË_f›lds -; - -79  -¹e_aþ_f›ld_def - * - mf›ld_fÜm© -; - -80 -ušt32_t - - mf›ld_fÜm©_size -; - -81  - maùiÚ_couÁ”_šdex -; - -82  -lib_aþ_bË_’Œy - - -83 * - m¶ib_aþ_’Œ›s_v4 -[ -RTE_PORT_IN_BURST_SIZE_MAX -]; - -84  -lib_aþ_bË_’Œy - - -85 * - m¶ib_aþ_’Œ›s_v6 -[ -RTE_PORT_IN_BURST_SIZE_MAX -]; - -86 } - g__¹e_ÿche_®igÃd -; - -88 * -lib_aþ_ü—‹_aùive_¡ªdby_bË_v4 -( -ušt8_t - -bË_num -, - -89 -ušt32_t - * -libaþ_n_ruËs -); - -91 * -lib_aþ_ü—‹_aùive_¡ªdby_bË_v6 -( -ušt8_t - -bË_num -, - -92 -ušt32_t - * -libaþ_n_ruËs -); - -93  -lib_aþ_·r£_cÚfig -( -lib_aþ - * -¶ib_aþ -, - -94 * -¬g_Çme -, * -¬g_v®ue -, - -95 -ušt32_t - * -libaþ_n_ruËs -); - -96 -ušt64_t - - -97 -lib_aþ_pkt_wÜk_key -( -lib_aþ - * -¶ib_aþ -, - -98  -¹e_mbuf - ** -pkts -, -ušt64_t - -pkts_mask -, - -99 -ušt64_t - * -pkts_drÝ_w™hout_ruË -, - -100 * -¶ib_aþ_ruË_bË_v4_aùive -, - -101 * -¶ib_aþ_ruË_bË_v6_aùive -, - -102  -p–še_aùiÚ_key - * -aùiÚ_¬¿y_aùive -, - -103  -aùiÚ_couÁ”_block - (* -p_aùiÚ_couÁ”_bË -)[ -aùiÚ_¬¿y_max -], - -104 -ušt64_t - * -cÚÁ¿ck_mask -, - -105 -ušt64_t - * -cÚÃxi¡_mask -, - -106  -lib_aþ_v4_’abËd -,  -lib_aþ_v6_’abËd -); - -107 -ušt64_t - - -108 -lib_aþ_v4_pkt_wÜk_key -( -lib_aþ - * -¶ib_aþ -, - -109  -¹e_mbuf - ** -pkts -, -ušt64_t - -pkts_mask -, - -110 -ušt64_t - * -pkts_drÝ_w™hout_ruË -, - -111 * -¶ib_aþ_ruË_bË_v4_aùive -, - -112  -p–še_aùiÚ_key - * -aùiÚ_¬¿y_aùive -, - -113  -aùiÚ_couÁ”_block - (* -p_aùiÚ_couÁ”_bË -)[ -aùiÚ_¬¿y_max -], - -114 -ušt64_t - * -cÚÁ¿ck_mask -, - -115 -ušt64_t - * -cÚÃxi¡_mask -); - -116 -ušt64_t - - -117 -lib_aþ_v6_pkt_wÜk_key -( -lib_aþ - * -¶ib_aþ -, - -118  -¹e_mbuf - ** -pkts -, -ušt64_t - -pkts_mask -, - -119 -ušt64_t - * -pkts_drÝ_w™hout_ruË -, - -120 * -¶ib_aþ_ruË_bË_v6_aùive -, - -121  -p–še_aùiÚ_key - * -aùiÚ_¬¿y_aùive -, - -122  -aùiÚ_couÁ”_block - (* -p_aùiÚ_couÁ”_bË -)[ -aùiÚ_¬¿y_max -], - -123 -ušt64_t - * -cÚÁ¿ck_mask -, - -124 -ušt64_t - * -cÚÃxi¡_mask -); - - @VIL/alg/lib_ftp_alg.c - -16  - ~<¡dio.h -> - -17  - ~<¡dlib.h -> - -18  - ~<¡dšt.h -> - -19  - ~<¡ršg.h -> - -20  - ~ - -22  - ~<­p.h -> - -23  - ~<¹e_commÚ.h -> - -24  - ~<¹e_m®loc.h -> - -25  - ~<¹e_mbuf.h -> - -26  - ~<¹e_.h -> - -27  - ~<¹e_by‹Üd”.h -> - -28  - ~<¹e_bË_Ím.h -> - -29  - ~<¹e_bË_hash.h -> - -30  - ~<¹e_p–še.h -> - -31  - ~<¹e_¬p.h -> - -32  - ~<¹e_icmp.h -> - -33  - ~<¹e_hash.h -> - -34  - ~<¹e_jhash.h -> - -35  - ~<¹e_cyþes.h -> - -36  - ~"p–še_cgDZ_commÚ.h -" - -37  - ~"p–še_aùiÚs_commÚ.h -" - -38  - ~"p–še_cgDZ_be.h -" - -39  - ~"hash_func.h -" - -40  - ~"lib_áp_®g.h -" - -41  - ~"vnf_commÚ.h -" - -42  - ~"p–še_commÚ_be.h -" - -43  - ~"¹e_ù_tý.h -" - -44  - ~"¹e_úxn_Œackšg.h -" - -45  - #ALG_DEBUG - 1 - - ) - -48 -ušt8_t - - -49 -¹e_ù_ü—‹_úxn_hashkey -( - -50 -ušt32_t - * -¤c_addr -, - -51 -ušt32_t - * -d¡_addr -, - -52 -ušt16_t - -¤c_pÜt -, - -53 -ušt16_t - -d¡_pÜt -, - -54 -ušt8_t - -´Ùo -, - -55 -ušt32_t - * -key -, - -56 -ušt8_t - -ty³ -); - -59  -¹e_mbuf - * - glib_®g_pkt -; - -60 ’um { - mPRIVATE -, - mPUBLIC -}; - -61  -¹e_hash_·¿m‘”s - - gáp_®g_hash_·¿ms - = { - -62 . -Çme - = "FTP ALG", - -63 . - g’Œ›s - = 1024, - -64 . - g»£rved - = 0, - -65 . - gkey_Ën - = ( -áp_®g_key -), - -66 . - ghash_func - = -¹e_jhash -, - -67 . - ghash_func_š™_v® - = 0, - -70  -¹e_hash - * - gáp_®g_hash_hªdË -; - -75  - $lib_áp_®g_š™ -() - -77 - `´štf -("NAT FTP ALG initialization ...\n"); - -81 -áp_®g_hash_hªdË - = - `¹e_hash_ü—‹ -(& -áp_®g_hash_·¿ms -); - -83 #ifdeà -ALGDBG - - -84 ià( -áp_®g_hash_hªdË - =ð -NULL -) - -85 - `´štf -("FTP ALG„te_hash_create failed ...\n"); - -87 - `´štf -("ftp_alg_hash_table %p\n\n", - -88 (*) -áp_®g_hash_hªdË -); - -91 - } -} - -99  -áp_®g_bË_’Œy - * - $»Œ›ve_áp_®g_’Œy -( -áp_®g_key - -®g_key -) - -101  -áp_®g_bË_’Œy - * -»t_®g_d©a - = -NULL -; - -102 -®g_key -. -fžËr1 - = 0; - -103 -®g_key -. -fžËr2 - = 0; - -105  -»t - = - `¹e_hash_lookup_d©a -( -áp_®g_hash_hªdË -, & -®g_key -, - -106 (**)& -»t_®g_d©a -); - -107 ià( -»t - < 0) { - -108 #ifdeà -ALGDBG - - -109 - `´štf -("alg-hash†ookup failed„et %d, EINVAL %d, ENOENT %d\n", - -110 -»t -, -EINVAL -, -ENOENT -); - -113  -»t_®g_d©a -; - -116  -NULL -; - -117 - } -} - -124  - $»move_áp_®g_’Œy -( -ušt32_t - -addr -, -ušt8_t - -pÜtid -) - -129  -áp_®g_key - -®g_key -; - -130 -®g_key -. -l4pÜt - = - `¹e_bsw­16 -( -pÜtid -); - -131 -®g_key -. -_add»ss - = - `¹e_bsw­32 -( -addr -); - -132 -®g_key -. -fžËr1 - = 0; - -133 -®g_key -. -fžËr2 - = 0; - -135 #ifdeà -ALGDBG - - -136 - `´štf -("»move_®g_’Œy i°%x,…܈%d\n", -®g_key -. -_add»ss -, - -137 -®g_key -. -l4pÜt -); - -139  - `¹e_hash_d–_key -( -áp_®g_hash_hªdË -, & -®g_key -); - -140 - } -} - -147 - $pÝuϋ_áp_®g_’Œy -( -ušt32_t - -addr -, -ušt8_t - -pÜtid -) - -151  -áp_®g_key - -®g_key -; - -152 -®g_key -. -l4pÜt - = - `¹e_bsw­16 -( -pÜtid -); - -154 -®g_key -. -_add»ss - = - `¹e_bsw­32 -( -addr -); - -155 -®g_key -. -fžËr1 - = 0; - -156 -®g_key -. -fžËr2 - = 0; - -161 #ifdeà -ALGDBG - - -162 - `´štf -("pÝuϋ_áp_®g_’Œy i°%x,…܈%d\n", -®g_key -. -_add»ss -, - -163 -®g_key -. -l4pÜt -); - -166  -áp_®g_bË_’Œy - * -Ãw_®g_d©a - = - -167 - `»Œ›ve_áp_®g_’Œy -( -®g_key -); - -168 ià( -Ãw_®g_d©a -) { - -169 #ifdeà -ALGDBG - - -170 - `´štf -("®g_’Œyƒxi¡ %x,…܈%d\n", -®g_key -. -_add»ss -, - -171 -®g_key -. -l4pÜt -); - -176 -Ãw_®g_d©a - = ( -áp_®g_bË_’Œy - *) - -177 - `m®loc -(( -Ãw_®g_d©a -)); - -179 -Ãw_®g_d©a --> -l4pÜt - = - `¹e_bsw­16 -( -pÜtid -); - -180 -Ãw_®g_d©a --> -_add»ss - = - `¹e_bsw­32 -( -addr -); - -181 - `¹e_hash_add_key_d©a -( -áp_®g_hash_hªdË -, & -®g_key -, -Ãw_®g_d©a -); - -183 #ifdeà -ALGDBG - - -185 -´štf - - -187 ( -®g_key -. -_add»ss - >> 24), - -188 (( -®g_key -. -_add»ss - & 0x00ff0000) >> 16), - -189 (( -®g_key -. -_add»ss - & 0x0000ff00) >> 8), - -190 (( -®g_key -. -_add»ss - & 0x000000ff)), -pÜtid -); - -192 - `puts -(""); - -194 - } -} - -202  - $áp_®g_modify_·ylßd -( - -203  -cgDZ_bË_’Œy - * -eg»ss_’Œy -, - -204 * -pÜt_¡ršg -, - -205 * -pÜt_¡ršg_Œª¦©ed -,  -áp_£ssiÚ_ty³ -) - -207 -ušt32_t - -Œª¥Üt_ -; - -208 -ušt16_t - -Œª¥Üt_pÜt -; - -209 -ušt16_t - -tmp1 -, -tmp2 -, -tmp3 -, -tmp4 -, -tmp5 -, -tmp6 -; - -210 -ušt16_t - -Ãw_pÜt_¡ršg_Ëngth -; - -212 -ušt8_t - * -b±r_public_add»ss -; - -214 -Œª¥Üt_ - = -eg»ss_’Œy --> -d©a -. -pub_ -; - -215 -Œª¥Üt_pÜt - = -eg»ss_’Œy --> -d©a -. -pub_pÜt -; - -216 -tmp5 - = ( -ušt16_t -è( -Œª¥Üt_pÜt -/0x100); - -217 -tmp6 - = ( -ušt16_t -è( -Œª¥Üt_pÜt - % 0x100); - -219 -Œª¥Üt_ - = - `¹e_bsw­32 -(transport_ip); - -221 -b±r_public_add»ss - = ( -ušt8_t - *è& -Œª¥Üt_ -; - -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štf -( -pÜt_¡ršg_Œª¦©ed -, -FTP_PASV_PARAMETER_STRING -, - -230 -FTP_PASV_RETURN_CODE -, -tmp1 -, -tmp2 -, -tmp3 -, -tmp4 -, - -231 -tmp5 -, -tmp6 -); - -233 - `¥rštf -( -pÜt_¡ršg_Œª¦©ed -, -FTP_PORT_PARAMETER_STRING -, - -234 -tmp1 -, -tmp2 -, -tmp3 -, -tmp4 -, -tmp5 -, -tmp6 -); - -235 #ifdeà -ALGDBG - - -236 - `´štf -("FTP ALG: FTP‚ew string: Len:%d %s\n", - -237 ( -ušt16_t -è - `¡¾’ -( -pÜt_¡ršg_Œª¦©ed -)-2, - -238 -pÜt_¡ršg_Œª¦©ed -); - -240 - `´štf -("FTP‚onranslated PASV string: Len:%d, %s\n", - -241 ( -ušt16_t -) - `¡¾’ -( -pÜt_¡ršg -)-2,…ort_string); - -242 - `´štf -("old strlen:%d‚ew strlen:%d\n", - -243 () - `¡¾’ -( -pÜt_¡ršg -), - -244 () - `¡¾’ -( -pÜt_¡ršg_Œª¦©ed -)); - -247 ( -Ãw_pÜt_¡ršg_Ëngth - = - -248 ( -ušt16_t -è - `¡¾’ -( -pÜt_¡ršg_Œª¦©ed -)); - -249 - } -} - -256  -šlše -  - $áp_®g_modify_pkt_Ën -( -¹e_mbuf - * -pkt -) - -258 -ušt16_t - -pkt_Ëngth - = 0; - -259  -_hdr_size_by‹s - = - `¹e_ù_g‘_IP_hdr_size -( -pkt -); - -260 * -hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -262 ià( -_hdr_size_by‹s - =ð -IPv4_HEADER_SIZE -) { - -263  -v4_hdr - * -ihdr4 - = (v4_hd¸*) -hdr -; - -264 -pkt_Ëngth - = - `¹e_bsw­16 -( -ihdr4 --> -tÙ®_Ëngth -è+ -ETH_HDR_SIZE -; - -265 } ià( -_hdr_size_by‹s - =ð -IPv6_HEADER_SIZE -) { - -266  -v6_hdr - * -ihdr6 - = (v6_hd¸*) -hdr -; - -267 -pkt_Ëngth - = - `¹e_bsw­16 -( -ihdr6 --> -·ylßd_Ën -) + - -268 -IPv6_HEADER_SIZE - + -ETH_HDR_SIZE -; - -271 -ušt16_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_Œim -( -pkt -, -mbuf_pkt_Ëngth - - -pkt_Ëngth -); - -282 - `¹e_pktmbuf_­³nd -( -pkt -, -pkt_Ëngth - - -mbuf_pkt_Ëngth -); - -283 - } -} - -292 -ušt16_t - - $áp_®g_g‘_IP_hdr_size -( -¹e_mbuf - * -pkt -) - -298 -ušt8_t - -hdr_chk - = - `RTE_MBUF_METADATA_UINT8 -( -pkt -, -IP_START -); - -299 -hdr_chk - = hdr_chk >> 4; - -301 ià( -hdr_chk - =ð -IP_VERSION_4 -) - -302  -IPv4_HEADER_SIZE -; - -303 ià( -hdr_chk - =ð -IP_VERSION_6 -) - -304  -IPv6_HEADER_SIZE -; - -308 - } -} - -316  - $áp_®g_compu‹_checksums -( - -317 * -i_hdr -, - -318  -tý_hdr - * -t_hdr -) - -328 -št8_t - -hdr_chk - = - `¹e_ù_v”siÚ -( -i_hdr -); - -329 -t_hdr --> -cksum - = 0; - -331 ià( -hdr_chk - =ð -IP_VERSION_4 -) { - -332  -v4_hdr - * -i4_hdr - = (v4_hd¸*) -i_hdr -; - -333 -i4_hdr --> -hdr_checksum - = 0; - -334 -t_hdr --> -cksum - = 0; - -335 -t_hdr --> -cksum - = - `¹e_v4_ud±ý_cksum -( -i4_hdr -,_hdr); - -337 #ifdeà -ALGDBG - - -338 - `´štf -("cksum %x\n", - `¹e_bsw­32 -( -t_hdr --> -cksum -)); - -341 -i4_hdr --> -hdr_checksum - = - `¹e_v4_cksum -(i4_hdr); - -342 } ià( -hdr_chk - =ð -IP_VERSION_6 -) { - -343  -v6_hdr - * -i6_hdr - = (v6_hd¸*) -i_hdr -; - -344 -t_hdr --> -cksum - = 0; - -345 -t_hdr --> -cksum - = - `¹e_v6_ud±ý_cksum -( -i6_hdr -,_hdr); - -347 - } -} - -356  - $áp_®g_adju¡_tý_ack -( -¹e_mbuf - * -pkt -, -št16_t - -ackSeqdiff -) - -359 -ušt16_t - -_hdr_size_by‹s - = -IPv4_HEADER_SIZE -; - -360  -v4_hdr - * -hdr - = (ipv4_hdr *) - -361 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -362  -tý_hdr - * -thdr - = (tcp_hdr *) - -363 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -364 -IP_START - + -_hdr_size_by‹s -); - -369 -ušt32_t - -‹mp -; - -370 -‹mp - = - `¹e_bsw­32 -( -thdr --> -»cv_ack -); - -372 ià( -ackSeqdiff - < 0) - -373 -‹mp - +ð - `abs -( -ackSeqdiff -); - -375 -‹mp - -ð - `abs -( -ackSeqdiff -); - -377 -thdr --> -»cv_ack - = - `¹e_bsw­32 -( -‹mp -); - -378 - } -} - -386  - $áp_®g_adju¡_tý_£q -( -¹e_mbuf - * -pkt -, -št16_t - -ackSeqdiff -) - -389 -ušt16_t - -_hdr_size_by‹s - = -IPv4_HEADER_SIZE -; - -390  -v4_hdr - * -hdr - = (ipv4_hdr *) - -391 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -392  -tý_hdr - * -thdr - = (tcp_hdr *) - -393 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -394 -IP_START - + -_hdr_size_by‹s -); - -395 -ušt32_t - -‹mp -; - -397 -‹mp - = - `¹e_bsw­32 -( -thdr --> -£Á_£q -); - -398 ià( -ackSeqdiff - < 0) - -399 -‹mp - -ð - `abs -( -ackSeqdiff -); - -401 -‹mp - +ð - `abs -( -ackSeqdiff -); - -403 -thdr --> -£Á_£q - = - `¹e_bsw­32 -( -‹mp -); - -404 - } -} - -414  - $áp_®g_d–_tý_£qu’û -( - -415  -¹e_mbuf - * -pkt -, - -416 * -pÜt_¡ršg -, - -417 -št16_t - -exi¡šg_týSeqdiff -, - -418 -ušt16_t - -Þd_pÜt_¡ršg_Ëngth -, - -419 -ušt16_t - -Ãw_pÜt_¡ršg_Ëngth -) - -421 -št16_t - -cu¼’t_£qu’û_numb”_d– -=0; - -422 -št16_t - -fš®_£qu’û_numb”_d– -; - -424 -ušt16_t - -_hdr_size_by‹s - = -IPv4_HEADER_SIZE -; - -425  -v4_hdr - * -hdr - = (ipv4_hdr *) - -426 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -427  -tý_hdr - * -thdr - = (tcp_hdr *) - -428 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -429 -IP_START - + -_hdr_size_by‹s -); - -434 -cu¼’t_£qu’û_numb”_d– - = ( -št16_t -è( -Ãw_pÜt_¡ršg_Ëngth - - - -435 -Þd_pÜt_¡ršg_Ëngth -); - -436 -hdr --> -tÙ®_Ëngth - = - `¹e_bsw­16 -(iphdr->total_length); - -438 #ifdeà -ALGDBG - - -439 - `´štf -("tÙ®_Ëngth :%u\n", -hdr --> -tÙ®_Ëngth -); - -441 if( -cu¼’t_£qu’û_numb”_d– - < 0) - -442 -hdr --> -tÙ®_Ëngth - -ð - `abs -( -cu¼’t_£qu’û_numb”_d– -); - -444 -hdr --> -tÙ®_Ëngth - +ð -cu¼’t_£qu’û_numb”_d– -; - -446 -hdr --> -tÙ®_Ëngth - = - `¹e_bsw­16 -(iphdr->total_length); - -447 ià( -exi¡šg_týSeqdiff - !=0) - -448 - `áp_®g_adju¡_tý_£q -( -pkt -, -exi¡šg_týSeqdiff -); - -449 -fš®_£qu’û_numb”_d– -ð -cu¼’t_£qu’û_numb”_d– - + -exi¡šg_týSeqdiff -; - -450  -fš®_£qu’û_numb”_d– -; - -451 - } -} - -462  - $áp_®g_dpi -( - -463  -p–še_cgDZ - * -p_Çt -, - -464  -p–še_cgDZ_’Œy_key - * -Çt_’Œy_key -, - -465  -¹e_mbuf - * -pkt -, - -466  -¹e_ù_úxn_Œack” - * -cgÇt_úxn_Œack” -, - -467 -št32_t - -ù_pos™iÚ -, - -468 -ušt8_t - -dœeùiÚ -) - -476 * -pÜt_cmd_¡ršg -; - -477 * -pÜt_cmd_’d_¡ršg -; - -478 * -tý_h—d”_’d -; - -479 * -tý_¡¬t -; - -482 -ušt16_t - -´iv©e_pÜt_numb” -; - -483 -ušt16_t - -public_pÜt_numb” -; - -484 -ušt16_t - -1 -, -2 -, -3 -, -4 -, -pÜt1 -, -pÜt2 -; - -485 -št16_t - -týSeqdiff -; - -486 -št16_t - -ackSeqdiff -, -ackAdju¡ -; - -487 -ušt32_t - -´iv©e_add»ss -; - -488 -ušt32_t - -public_add»ss -; - -489 -ušt8_t - * -b±r_´iv©e_add»ss -; - -491  -pÜt_¡ršg -[ -FTP_MAXIMUM_PORT_STRING_LENGTH -]; - -492  -pÜt_¡ršg_Œª¦©ed -[ -FTP_MAXIMUM_PORT_STRING_LENGTH -]; - -493 -št16_t - -Ãw_pÜt_¡ršg_Ëngth -; - -494 -št16_t - -Þd_pÜt_¡ršg_Ëngth -; - -495  -dummy_v®ue -; - -496  -cgDZ_bË_’Œy - * -eg»ss_’Œy -, * -šg»ss_’Œy -; - -497 -ušt32_t - -ù_key -[10]; - -498 -ušt8_t - -key_dœeùiÚ -; - -500 -ušt16_t - -_hdr_size_by‹s - = -IPv4_HEADER_SIZE -; - -502  -v4_hdr - * -_hdr - = - `¹e_pktmbuf_mtod_off£t -( -pkt -, - -503  -v4_hdr - *, ( -‘h”_hdr -)); - -507  -tý_hdr - * -thdr - = - `¹e_pktmbuf_mtod_off£t -( -pkt -, tcp_hdr *, - -508 (( -‘h”_hdr -)+( -v4_hdr -))); - -509 -ušt16_t - -¤c_pÜt - = - `¹e_bsw­16 -( -thdr -->src_port); - -510 -ušt16_t - -d¡_pÜt - = - `¹e_bsw­16 -( -thdr -->dst_port); - -511 -ušt8_t - -´Ùo - = -_hdr --> -Ãxt_´Ùo_id -; - -512 -ušt32_t - -¤c_addr - = - `¹e_bsw­32 -( -_hdr -->src_addr); - -513 -ušt32_t - -d¡_addr - = - `¹e_bsw­32 -( -_hdr -->dst_addr); - -514 -ušt32_t - -tmp_tý_·ylod_size -; - -517 - -¤c_pÜt - & -d¡_pÜt - -checkšg - -to - -be - -moved - -äom - -cgÇt -Ø -dpi - - -518 - -FÜ - -cÚŒÞ - -chªÃl - - -519 -fœ¡ - -v®id©iÚ - -of - -týSeqdiff - -to - -be - -checked - - -520 -IF - < > 0 - -521 - `áp_®g_tý_ack -(è -to - -be - - `ÿÎed -( -this - -šþudes - -PORT - - -522 -»¥Ú£ - -ªd - -PASV -„e¥Ú£ -ack - -as - -w–l -) - -523 -R‘uº - - -524 -ELSE - - -525 -the - -pÜt -/ -·sv - -·¿m‹r - -checkign - -to - -be - -dÚe - - -526 - -FÜ - -d©a - -chªÃl - - -527 - -»Œeive - -ALG - -’Œy - - -528 -IF - -found - - -529 - -»move - -the - -ALG - -’Œy - - -530 -ev’ -  -nÙ - - `found -( -found - -ÿ£s - -too -) - -531 - -£t - -the - -by·ss - -æag - -š -h -CT - -£ssiÚ - -bË - - -535 #ifdeà -ALGDBG - - -537 - `´štf -("á°p܈numb”: %d, %d\n", -¤c_pÜt -, -d¡_pÜt -); - -538 - `´štf -("ftp TCP seq‚um diff: %d\n", - -539 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ - -540 -ù_pos™iÚ -]. -týSeqdiff -); - -541 - `´štf -("tcp data offset: %d\n", - -542 (( -thdr --> -d©a_off - & 0xf0) >> 2)); - -543 - `´štf -("ù…os™iÚ iÀdpi:%d\n", -ù_pos™iÚ -); - -547 ià( -¤c_pÜt - =ð21 || -d¡_pÜt - == 21) { - -556 -tý_¡¬t - = (*) -thdr -; - -559 -pÜt_cmd_¡ršg - = (* )( -tý_¡¬t -+(( -thdr --> -d©a_off - & 0xf0) >> 2)); - -560 -tý_h—d”_’d - = -pÜt_cmd_¡ršg -; - -562 ià( -dœeùiÚ - =ð -PRIVATE -) { - -564 #ifdeà -ALGDBG - - -565 - `´štf -("In PRIVATE "); - -568 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. -£q_þ›Á - - -569 ð - `¹e_bsw­32 -( -thdr --> -£Á_£q -); - -570 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. -ack_þ›Á - - -571 ð - `¹e_bsw­32 -( -thdr --> -»cv_ack -); - -572 #ifdeà -ALGDBG - - -573 - `´štf -("-->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 -( -_hdr --> -tÙ®_Ëngth -) - - -577 ((( -thdr --> -d©a_off - & 0xf0) >> 4) * 4)) - 20); - -581 #ifdeà -ALGDBG - - -582 - `´štf -("In PUBLIC "); - -584 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. -£q_£rv” - - -585 ð - `¹e_bsw­32 -( -thdr --> -£Á_£q -); - -586 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. -ack_£rv” - - -587 ð - `¹e_bsw­32 -( -thdr --> -»cv_ack -); - -588 #ifdeà -ALGDBG - - -589 - `´štf -("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n", - -590 - `¹e_bsw­32 -( -thdr --> -£Á_£q -),„‹_bsw­32Ñhdr-> -»cv_ack -), - -591 ( -_hdr --> -tÙ®_Ëngth - - ((( -thdr --> -d©a_off - & 0xf0) >> 2)) - -596 ià( - `ssÿnf -( -pÜt_cmd_¡ršg -, -FTP_PASV_PARAMETER_STRING -, & -dummy_v®ue -, - -597 & -1 -, & -2 -, & -3 -, & -4 -, & -pÜt1 -, & -pÜt2 -) == - -598 -FTP_PASV_PARAMETER_COUNT -){ - -600 - `¥rštf - ( -pÜt_¡ršg -, -FTP_PASV_PARAMETER_STRING -, -FTP_PASV_RETURN_CODE -, - -601 -1 -, -2 -, -3 -, -4 -, -pÜt1 -, -pÜt2 -); - -603  -i - = 0; - -604  -pÜt_cmd_¡ršg -[ -i -] != '\r' &&…ort_cmd_string[i+1] != '\n') - -605 -i -++; - -607 -i - += 2; - -609 -Þd_pÜt_¡ršg_Ëngth - = -i -; - -611 -´iv©e_pÜt_numb” - = ( -ušt16_t -è( -pÜt1 - * 0x100 + -pÜt2 -); - -612 -b±r_´iv©e_add»ss - = ( -ušt8_t - *è& -´iv©e_add»ss -; - -614 -b±r_´iv©e_add»ss -[3] = ( -ušt8_t -è( -4 - & 0x00FF); - -615 -b±r_´iv©e_add»ss -[2] = ( -ušt8_t -è( -3 - & 0x00FF); - -616 -b±r_´iv©e_add»ss -[1] = ( -ušt8_t -è( -2 - & 0x00FF); - -617 -b±r_´iv©e_add»ss -[0] = ( -ušt8_t -è( -1 - & 0x00FF); - -621 ià( -dœeùiÚ - =ð -PUBLIC -) { - -628 - `pÝuϋ_áp_®g_’Œy -( -´iv©e_add»ss -, -´iv©e_pÜt_numb” -); - -634 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -635 -£rv”_dœeùiÚ - = -SERVER_IN_PUBLIC -; - -636 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -637 -áp_£ssiÚ_ty³ -= 1; - -638 } ià( -dœeùiÚ - =ð -PRIVATE -) { - -641  -p–še_cgDZ_’Œy_key - -d©a_chªÃl_key -; - -642 -´iv©e_add»ss - = - `¹e_bsw­32 -(private_address); - -643 -d©a_chªÃl_key -. - - = -´iv©e_add»ss -; - -644 -d©a_chªÃl_key -. -pÜt - = -´iv©e_pÜt_numb” -; - -646 -d©a_chªÃl_key -. -pid - = -pkt --> -pÜt -; - -653 #ifdeà -FTP_ALG - - -654 ià( - `add_dyÇmic_cgDZ_’Œy_®g -(( -p–še - *) -p_Çt -, - -655 & -d©a_chªÃl_key -, & -eg»ss_’Œy -, & -šg»ss_’Œy -) == 0){ - -657 #ifdeà -ALGDBG - - -658 - `´štf -("Wrong FTP ALG…acket\n"); - -662 -p_Çt --> -DZDrݳdPktCouÁ -++; - -664 #ifdeà -CGNAPT_DEBUGGING - - -665 -p_Çt --> -DZDrݳdPktCouÁ4 -++; - -671 -tmp_tý_·ylod_size - = - `¹e_bsw­16 -( -_hdr --> -tÙ®_Ëngth -) - - -672 (( -thdr --> -d©a_off - & 0xf0è>> 2è- -_hdr_size_by‹s -; - -673 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -674 -tý_·ylßd_size - = -tmp_tý_·ylod_size -; - -677 - `pÝuϋ_áp_®g_’Œy -( -eg»ss_’Œy --> -d©a -. -pub_ -, - -678 -eg»ss_’Œy --> -d©a -. -pub_pÜt -); - -680 -Ãw_pÜt_¡ršg_Ëngth - = - `áp_®g_modify_·ylßd -( -eg»ss_’Œy -, - -681 -pÜt_¡ršg -, - -682 -pÜt_¡ršg_Œª¦©ed -, 1); - -683 - `¡ºýy -( -tý_h—d”_’d -, -pÜt_¡ršg_Œª¦©ed -, - -684 - `¡¾’ -( -pÜt_¡ršg_Œª¦©ed -)); - -685 -týSeqdiff - = - `áp_®g_d–_tý_£qu’û -Ð -pkt -, -pÜt_¡ršg -, - -686 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s - - -687 [ -ù_pos™iÚ -]. -týSeqdiff -, - -688 -Þd_pÜt_¡ršg_Ëngth -, - -689 -Ãw_pÜt_¡ršg_Ëngth -); - -692 - `áp_®g_modify_pkt_Ën -( -pkt -); - -699 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -700 -®g_by·ss_æag - = -NO_BYPASS -; - -701 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -702 -týSeqdiff - =cpSeqdiff; - -703 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -704 -£rv”_dœeùiÚ - = -SERVER_IN_PRIVATE -; - -705 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -706 -áp_£ssiÚ_ty³ - = 1; - -710 } ià( - `ssÿnf -( -pÜt_cmd_¡ršg -, -FTP_PORT_PARAMETER_STRING -, - -711 & -1 -, & -2 -, & -3 -, & -4 -, & -pÜt1 -, & -pÜt2 -) == - -712 -FTP_PORT_PARAMETER_COUNT -){ - -714  -i - = 0; - -715  -ušt8_t - -pÜt_h™ -; - -716  -pÜt_cmd_¡ršg -[ -i -] != '\r' && - -717 -pÜt_cmd_¡ršg -[ -i -+1] != '\n') - -718 -i -++; - -720 -i - += 2; - -722 -Þd_pÜt_¡ršg_Ëngth - = -i -; - -724 #ifdeà -ALGDBG - - -725 - `´štf -Ð" Exi¡šg Seq Difàð%d", -cgÇt_úxn_Œack” --> - -726 -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. -týSeqdiff -); - -727 - `´štf -("FTP ALG: FTP PORT command†ength: %d\n", - -728 -Þd_pÜt_¡ršg_Ëngth -); - -731 -´iv©e_pÜt_numb” - = ( -ušt16_t -è( -pÜt1 - * 0x100 + -pÜt2 -); - -733 #ifdeà -ALGDBG - - -734 - `´štf -("FTP ALG:…rivate…ort‚umber before swap: %u\n", - -735 -´iv©e_pÜt_numb” -); - -738 -b±r_´iv©e_add»ss - = ( -ušt8_t - *è& -´iv©e_add»ss -; - -739 -b±r_´iv©e_add»ss -[3] = ( -ušt8_t -è( -4 - & 0x00FF); - -740 -b±r_´iv©e_add»ss -[2] = ( -ušt8_t -è( -3 - & 0x00FF); - -741 -b±r_´iv©e_add»ss -[1] = ( -ušt8_t -è( -2 - & 0x00FF); - -742 -b±r_´iv©e_add»ss -[0] = ( -ušt8_t -è( -1 - & 0x00FF); - -744 - `¥rštf -( -pÜt_¡ršg -, -FTP_PORT_PARAMETER_STRING -, -1 -, -2 -, - -745 -3 -, -4 -, -pÜt1 -, -pÜt2 -); - -747 #ifdeà -ALGDBG - - -748 - `´štf -("FTP ALG: FTP original PORT string: %d,%s\n", - -749 (è - `¡¾’ -( -pÜt_¡ršg -)-2,…ort_string); - -750 - `´štf -("´v‡ddr: %x\n", -´iv©e_add»ss -); - -754 ià( -dœeùiÚ - =ð -PUBLIC -) { - -760  -p–še_cgDZ_’Œy_key - -d©a_chªÃl_key -; - -761 -d©a_chªÃl_key -. - - = -´iv©e_add»ss -; - -762 -d©a_chªÃl_key -. -pÜt - = -´iv©e_pÜt_numb” -; - -763 -d©a_chªÃl_key -. -pid - = 0xffff; - -766 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -767 -£rv”_dœeùiÚ - = -SERVER_IN_PRIVATE -; - -768 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -769 -áp_£ssiÚ_ty³ -= 0; - -772 #ifdeà -ALGDBG - - -773 - `´štf -("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n", - -774 - `¹e_bsw­32 -( -thdr --> -£Á_£q -), - -775 - `¹e_bsw­32 -( -thdr --> -»cv_ack -), - -776 ( -_hdr --> -tÙ®_Ëngth - - - -777 ((( -thdr --> -d©a_off - & 0xf0) >> 2)) - 20)); - -779 - `pÝuϋ_áp_®g_’Œy -( -´iv©e_add»ss -, -´iv©e_pÜt_numb” -); - -780 } ià( -dœeùiÚ - =ð -PRIVATE -) { - -786  -p–še_cgDZ_’Œy_key - -d©a_chªÃl_key -; - -787 -´iv©e_add»ss - = - `¹e_bsw­32 -(private_address); - -788 -d©a_chªÃl_key -. - - = -´iv©e_add»ss -; - -789 -d©a_chªÃl_key -. -pÜt - = -´iv©e_pÜt_numb” -; - -791 -d©a_chªÃl_key -. -pid - = -pkt --> -pÜt -; - -800 #ifdeà -FTP_ALG - - -801 ià( - `add_dyÇmic_cgDZ_’Œy_®g -(( -p–še - *) - -802 -p_Çt -, & -d©a_chªÃl_key -, & -eg»ss_’Œy -, - -803 & -šg»ss_’Œy -) == 0){ - -805 #ifdeà -ALGDBG - - -806 - `´štf -("Wrong FTP ALG…acket\n"); - -809 -p_Çt --> -DZDrݳdPktCouÁ -++; - -811 #ifdeà -CGNAPT_DEBUGGING - - -812 -p_Çt --> -DZDrݳdPktCouÁ4 -++; - -818 -tmp_tý_·ylod_size - = - `¹e_bsw­16 -( -_hdr --> -tÙ®_Ëngth -) - - -819 (( -thdr --> -d©a_off - & 0xf0) >> 2) - - -820 -_hdr_size_by‹s -; - -821 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -822 -tý_·ylßd_size - = -tmp_tý_·ylod_size -; - -825 - `pÝuϋ_áp_®g_’Œy -( -eg»ss_’Œy --> -d©a -. -pub_ -, - -826 -eg»ss_’Œy --> -d©a -. -pub_pÜt -); - -828 -Ãw_pÜt_¡ršg_Ëngth - = - `áp_®g_modify_·ylßd -( -eg»ss_’Œy -, - -829 -pÜt_¡ršg -, - -830 -pÜt_¡ršg_Œª¦©ed -, 0); - -831 - `¡ºýy -( -tý_h—d”_’d -, -pÜt_¡ršg_Œª¦©ed -, - -832 - `¡¾’ -( -pÜt_¡ršg_Œª¦©ed -)); - -833 -týSeqdiff - = - `áp_®g_d–_tý_£qu’û -Ð -pkt -, -pÜt_¡ršg -, - -834 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s - - -835 [ -ù_pos™iÚ -]. -týSeqdiff -, - -836 -Þd_pÜt_¡ršg_Ëngth -, - -837 -Ãw_pÜt_¡ršg_Ëngth -); - -839 - `áp_®g_modify_pkt_Ën -( -pkt -); - -848 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -849 -®g_by·ss_æag - = -NO_BYPASS -; - -850 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -851 -týSeqdiff - =cpSeqdiff; - -852 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -853 -£rv”_dœeùiÚ - = -SERVER_IN_PUBLIC -; - -854 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. - -855 -áp_£ssiÚ_ty³ - = 0; - -857 #ifdeà -ALGDBG - - -858 - `´štf -("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n", - -859 - `¹e_bsw­32 -( -thdr --> -£Á_£q -), - -860 - `¹e_bsw­32 -( -thdr --> -»cv_ack -), - -861 ( -_hdr --> -tÙ®_Ëngth - - - -862 ((( -thdr --> -d©a_off - & 0xf0) >> 2)) - 20)); - -869 ià(( -ackAdju¡ -= -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ - -870 -ù_pos™iÚ -]. -týSeqdiff -) != 0) { - -871 ià( -dœeùiÚ - =ð -PRIVATE -) { - -873 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s - - -874 [ -ù_pos™iÚ -]. -£q_þ›Á - != - -875 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s - - -876 [ -ù_pos™iÚ -]. -ack_£rv” -) { - -877  -Seqh™s -; - -878 - `áp_®g_adju¡_tý_£q -Ð -pkt -, -ackAdju¡ -); - -879 -tmp_tý_·ylod_size - = - `¹e_bsw­16 -( - -880 -_hdr --> -tÙ®_Ëngth -) - - -881 (( -thdr --> -d©a_off - & 0xf0) >> 2) - - -882 -_hdr_size_by‹s -; - -883 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s - - -884 [ -ù_pos™iÚ -]. -tý_·ylßd_size - = -tmp_tý_·ylod_size -; - -885 #ifdeà -ALGDBG - - -886 - `´štf -("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n", - -887 - `¹e_bsw­32 -( -thdr --> -£Á_£q -), - -888 - `¹e_bsw­32 -( -thdr --> -»cv_ack -), - -889 ( -_hdr --> -tÙ®_Ëngth - -((( -thdr --> -d©a_off - & 0xf0) >> 2))- 20)); - -893 ià( -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s - - -894 [ -ù_pos™iÚ -]. -ack_£rv” - != - -895 ( -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s - - -896 [ -ù_pos™iÚ -]. -£q_þ›Á - + - -897 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s - - -898 [ -ù_pos™iÚ -]. -tý_·ylßd_size -)) { - -899  -Ackh™s -; - -900 - `áp_®g_adju¡_tý_ack -Ð -pkt -, -ackAdju¡ -); - -901 #ifdeà -ALGDBG - - -902 - `´štf -("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n", - -903 - `¹e_bsw­32 -( -thdr --> -£Á_£q -), - -904 - `¹e_bsw­32 -( -thdr --> -»cv_ack -), - -905 ( -_hdr --> -tÙ®_Ëngth - -((( -thdr --> -d©a_off - & 0xf0) >> 2))- 20)); - -914 #ifdeà -ALGDBG - - -915 - `´štf -("In Data Channel \n"); - -917 - `»move_áp_®g_’Œy - ( -d¡_addr -, -d¡_pÜt -); - -918 -cgÇt_úxn_Œack” --> -hash_bË_’Œ›s -[ -ù_pos™iÚ -]. -®g_by·ss_æag - = -BYPASS -; - -920 - } -} - - @VIL/alg/lib_ftp_alg.h - -16 #iâdeà -__INCLUDE_LIB_FTP_ALG_H__ - - -17  - #__INCLUDE_LIB_FTP_ALG_H__ - - - ) - -18  - ~"¹e_‘h”.h -" - -19  - ~"¹e_ù_tý.h -" - -21  - #META_DATA_OFFSET - 128 - - ) - -22  - #ETHERNET_START - ( -META_DATA_OFFSET - + -RTE_PKTMBUF_HEADROOM -) - - ) - -23  - #ETH_HDR_SIZE - 14 - - ) - -24  - #IP_START - ( -ETHERNET_START - + -ETH_HDR_SIZE -) - - ) - -25  - #PROTOCOL_START - ( -IP_START - + 9) - - ) - -26  - #TCP_START - ( -IP_START - + -IP_V4_HEADER_SIZE -) - - ) - -27  - #TCP_MIN_HDR_SIZE - 20 - - ) - -29  - #RTE_TCP_PROTO_ID - 6 - - ) - -30  - #RTE_SP_DEFAULT_TTL - 64 - - ) - -32  - #RTE_SYNPROXY_MAX_SPOOFED_PKTS - 64 - - ) - -34  - #RTE_TCP_SYN - 0x02 - - ) - -35  - #RTE_TCP_ACK - 0x10 - - ) - -36  - #RTE_TCP_SYN_ACK - ( -RTE_TCP_SYN - | -RTE_TCP_ACK -) - - ) - -37  - #IP_VERSION_4 - 4 - - ) - -38  - #IP_VERSION_6 - 6 - - ) - -39  - #IPv4_HEADER_SIZE - 20 - - ) - -40  - #IPv6_HEADER_SIZE - 40 - - ) - -44 - eáp_®g_by·ss - { - -45 - mNO_BYPASS -, - -46 - mBYPASS - - -49 - eáp_®g_mode - { - -50 - mFTP_ALG_PORT -, - -51 - mFTP_ALG_PASV - - -53 - eáp_®g_dœeùiÚ - { - -54 - mSERVER_IN_PRIVATE -, - -55 - mSERVER_IN_PUBLIC - - -57 - ephy_pÜt - { - -58 - mPRIVATE_PORT -, - -59 - mPUBLIC_PORT - - -62  - sáp_®g_key - { - -63 -ušt32_t - - m_add»ss -; - -64 -ušt16_t - - ml4pÜt -; - -65 -ušt8_t - - mfžËr1 -; - -66 -ušt8_t - - mfžËr2 -; - -68  - sáp_®g_bË_’Œy - { - -69 -ušt32_t - - m_add»ss -; - -70 -ušt16_t - - ml4pÜt -; - -71 -ušt8_t - - máp_®g_mode -; - -72 -ušt8_t - - máp_®g_dœeùiÚ -; - -73 -ušt32_t - - m£ssiÚ_id -; - -74 -ušt8_t - - m®g_by·ss_æag -; - -75 -ušt8_t - - mdummy -; - -76 -ušt8_t - - mdummy1 -; - -78 } - g__¹e_ÿche_®igÃd -; - -80  - #FTP_SERVER_PORT - 21 - - ) - -81  - #FTP_PORT_STRING - "PORT" - - ) - -82  - #FTP_PORT_PARAMETER_STRING - "PORT %hu,%hu,%hu,%hu,%hu,%hu\r\n" - - ) - -83  - #FTP_PORT_PARAMETER_COUNT - 6 - - ) - -84  - #FTP_PORT_RESPONSE_STRING - "200 PORT commªd sucûssful.\r\n" - - ) - -85  - #FTP_PORT_STRING_END_MARKER - '\n' - - ) - -86  - #FTP_MAXIMUM_PORT_STRING_LENGTH - 60 - - ) - -87  - #FTP_PASV_STRING - "PASV" - - ) - -88  - #FTP_PASV_PARAMETER_STRING - "%d EÁ”šg PassivMod(%hu,%hu,%hu,%hu,%hu,%hu)\r\n" - - ) - -89  - #FTP_PASV_PARAMETER_COUNT - 7 - - ) - -90  - #FTP_PASV_STRING_END_MARKER - '\n' - - ) - -91  - #FTP_PASV_RETURN_CODE - 227 - - ) - -93  -áp_®g_dpi -( - -94  -p–še_cgDZ - * -p_Çt -, - -95  -p–še_cgDZ_’Œy_key - * -Çt_’Œy_key -, - -96  -¹e_mbuf - * -pkt -, - -97  -¹e_ù_úxn_Œack” - * -cgÇt_úxn_Œack” -, - -98 -št32_t - -ù_pos™iÚ -, - -99 -ušt8_t - -dœeùiÚ -); - -100  -lib_áp_®g_š™ -(); - -101 -št8_t - -¹e_ù_v”siÚ -(* -i_hdr -); - - @VIL/alg/lib_sip_alg.c - -17  - ~<¡dio.h -> - -18  - ~<¡dlib.h -> - -19  - ~<¡dšt.h -> - -20  - ~<¡ršg.h -> - -21  - ~ - -22  - ~<¬·/š‘.h -> - -23  - ~ - -25  - ~<­p.h -> - -26  - ~<¹e_commÚ.h -> - -27  - ~<¹e_m®loc.h -> - -28  - ~<¹e_.h -> - -29  - ~<¹e_udp.h -> - -30  - ~<¹e_by‹Üd”.h -> - -31  - ~<¹e_bË_Ím.h -> - -32  - ~<¹e_bË_hash.h -> - -33  - ~<¹e_p–še.h -> - -34  - ~<¹e_¬p.h -> - -35  - ~<¹e_icmp.h -> - -36  - ~<¹e_hash.h -> - -37  - ~<¹e_jhash.h -> - -38  - ~<¹e_cyþes.h -> - -40  - ~"p–še_aùiÚs_commÚ.h -" - -41  - ~"hash_func.h -" - -42  - ~"lib_s_®g.h -" - -43  - ~"vnf_commÚ.h -" - -44  - ~"p–še_commÚ_be.h -" - -46  - #SIP_ALG_SIP - "SIP" - - ) - -47  - #SIP_ALG_200_OK - "200 OK" - - ) - -48  - #SIP_ALG_INVITE - "INVITE" - - ) - -49  - #SIP_ALG_BYE - "BYE" - - ) - -50  - #SIP_ALG_TRYING - "100 Tryšg" - - ) - -51  - #SIP_ALG_RINGING - "180 Ršgšg" - - ) - -52  - #SIP_ALG_ACK - "ACK" - - ) - -53  - #SIP_ALG_CONTACT - "Cڏù" - - ) - -54  - #SIP_ALG_CONTENT_LEN - "CڋÁ-L’gth" - - ) - -55  - #SIP_ALG_VIA - "VŸ" - - ) - -56  - #SIP_ALG_FROM - "From" - - ) - -57  - #SIP_ALG_TO - "To" - - ) - -58  - #SIP_ALG_CALLID - "C®l-ID" - - ) - -59  - #SIP_ALG_RTP - "RTP" - - ) - -60  - #SIP_ALG_RTCP - "a=RTCP" - - ) - -61  - #SIP_ALG_CANCEL - "CANCEL" - - ) - -62  - #SIP_ALG_CONTYPE - "CڋÁ-Ty³" - - ) - -63  - #SIP_ALG_APPSDP - "­¶iÿtiÚ/sdp" - - ) - -64  - #SIP_ALG_CSEQ - "CSeq" - - ) - -65  - #SIP_ALG_AUDIO - "m÷udio" - - ) - -66  - #SIP_ALG_DOUBLE_CRLF - "\r\n\r\n" - - ) - -67  - #SIP_ALG_CRLF - "\r\n" - - ) - -68  - #SIP_ALG_AT - "@" - - ) - -69  - #SIP_ALG_GREAT - ">" - - ) - -70  - #SIP_ALG_OWNER - "o=" - - ) - -71  - #SIP_ALG_IPV4 - "IP4" - - ) - -72  - #SIP_ALG_CONN - "c=" - - ) - -73  - #SIP_ALG_REMOTE_PARTY_ID - "RemÙe-P¬ty-ID" - - ) - -74  - #SIP_ALG_SPACE - " " - - ) - -75  - #SIP_ALG_SEMICOLON - ";" - - ) - -77  - #SIP_DEFAULT_L4PORT - 5060 - - ) - -79  - #SIP_ALG_INVITE_MSGTYPE - 1 - - ) - -80  - #SIP_ALG_BYE_MSGTYPE - 2 - - ) - -81  - #SIP_ALG_200_OK_INVITE_MSGTYPE - 3 - - ) - -82  - #SIP_ALG_200_OK_BYE_MSGTYPE - 4 - - ) - -83  - #SIP_ALG_TRYING_RINGING_MSGTYPE - 5 - - ) - -84  - #SIP_ALG_ACK_MSGTYPE - 6 - - ) - -86  - #MAX_NUM_SIP_ALG_ENTRIES - 16384 - - ) - -88  - #SIP_ALG_VIA_FIELD_IPADDR - 14 - - ) - -89  - #SIP_ALG_CTAC_FIELD_IPADDR - 7 - - ) - -91  - #ADDRESS_PORT_STRING - 1 - - ) - -92  - #PORT_STRING - 2 - - ) - -94  - #MAX_ADDR_PORT_SIZE - 30 - - ) - -95  - #MAX_ADDR_SIZE - 20 - - ) - -96  - #MAX_PORT_SIZE - 10 - - ) - -97  - #MAX_SIP_UDP_MSG_SIZE - 2000 - - ) - -99  - #ALG_DEBUG - 0 - - ) - -101 ’um { - mFALSE -, - mTRUE - }; - -103  -¹e_mempoÞ - * - glib_®g_pktmbuf_tx_poÞ -; - -105  -¹e_mbuf - * - glib_®g_pkt -; - -107  -¹e_hash_·¿m‘”s - - gs_®g_hash_·¿ms - = { - -108 . -Çme - = -NULL -, - -109 . - g’Œ›s - = -MAX_NUM_SIP_ALG_ENTRIES -, - -110 . - g»£rved - = 0, - -111 . - gkey_Ën - = ( -s_®g_key -), - -112 . - ghash_func - = -¹e_jhash -, - -113 . - ghash_func_š™_v® - = 0, - -114 . - gexŒa_æag - = 1, - -117  -¹e_hash - * - gs_®g_hash_bË -; - -119  -s_®g_bË_’Œy - * - gs_®g_bË -[ -MAX_NUM_SIP_ALG_ENTRIES -]; - -121 * -s_®g_´oûss -( -¹e_mbuf - * -pkt -, - -122 -ušt16_t - -pkt_dœeùiÚ -, ušt16_ˆ -ÿÎ_dœeùiÚ -, - -123 -ušt16_t - -msgTy³ -, -ušt32_t - -modIp -, - -124 -ušt16_t - -modL4PÜt -, -ušt32_t - -pubIp -, - -125 -ušt16_t - -pubL4PÜt -, ušt16_ˆ -modRPÜt -, - -126 -ušt16_t - -modRtýPÜt -, ušt16_ˆ* -diffModSL’ -); - -127 * -g‘SC®lIdSŒ -(* -pMsg -); - -128 * -ÇtSAlgModifyPaylßdAddrPÜt -(* -pSMsg -, ** -pSMsgEnd -, - -129 -ušt32_t - -ÞdSŒL’ -, ušt32_ˆ* -diffL’ -, - -130 -ušt32_t - -pub_ -, -ušt16_t - -pub_pÜt -, - -131 -ušt32_t - -ty³ -); - -132 * -ÇtSAlgAdju¡Msg -(* -pSMsg -, ** -pSMsgEnd -, - -133 -ušt32_t - -ÃwSŒL’ -, ušt32_ˆ -ÞdSŒL’ -); - -137  - $lib_s_®g_š™ -() - -139 * -s - = - `¹e_zm®loc -( -NULL -, 64, -RTE_CACHE_LINE_SIZE -);; - -140  -sock‘id - = 0; - -142 if(! -s -){ - -143 - `´štf -("NAT SIP ALG Init failed\n"); - -146 - `¢´štf -( -s -, - `¡¾’ -(s), "v4_s_®g_hash_%d", -sock‘id -); - -147 - `´štf -("NAT SIP ALG initialization ...\n"); - -150 -s_®g_hash_·¿ms -. -sock‘_id - = -SOCKET_ID_ANY -; - -151 -s_®g_hash_·¿ms -. -Çme - = -s -; - -152 -s_®g_hash_bË - = - `¹e_hash_ü—‹ -(& -s_®g_hash_·¿ms -); - -154 ià( -s_®g_hash_bË - =ð -NULL -) { - -155 - `´štf -("SIP ALG„te_hash_create failed. socket %d ...\n", - -156 -s_®g_hash_·¿ms -. -sock‘_id -); - -157 - `¹e_ex™ -(0, "SIP ALG„te_hash_create failed"); - -159 - `´štf -("s_®g_hash_bË %p\n\n", (*) -s_®g_hash_bË -); - -162 - } -} - -164 * -™ß -( -n -); - -165 * - $™ß -( -n -) - -167  -Ën - = -n - =ð0 ? 1 : - `æoÜ -( - `log10l -( - `Ïbs -(n))) + 1; - -169 ià( -n - < 0) - -170 -Ën -++; - -172 * -buf - = - `ÿÎoc -((), -Ën - + 1); - -173 if( -buf - !ð -NULL -) - -174 - `¢´štf -( -buf -, -Ën - + 1, "%ld", -n -); - -175  -buf -; - -176 - } -} - -178  -s_®g_bË_’Œy - * -»Œ›ve_s_®g_’Œy -( - -179  -s_®g_key - * -®g_key -); - -181  -s_®g_bË_’Œy - * - $»Œ›ve_s_®g_’Œy -( - -182  -s_®g_key - * -®g_key -) - -184  -s_®g_bË_’Œy - * -s_®g_d©a - = -NULL -; - -186  -»t - = - `¹e_hash_lookup -( -s_®g_hash_bË -, -®g_key -); - -188 ià( -»t - < 0) { - -189 #ifdeà -ALGDBG - - -190 - `´štf -("alg-hash†ookup failed„et %d, " - -192 -»t -, -EINVAL -, -ENOENT -); - -195 -s_®g_d©a - = -s_®g_bË -[ -»t -]; - -196  -s_®g_d©a -; - -199  -NULL -; - -200 - } -} - -203  - $»move_s_®g_’Œy -( -ušt32_t - -addr -, -ušt16_t - -pÜtid -) - -205  -s_®g_key - -®g_key -; - -206 * -s_®g_’Œy_d©a -; - -207  -»t -; - -209 -®g_key -. -l4pÜt - = -pÜtid -; - -210 -®g_key -. -_add»ss - = -addr -; - -211 -®g_key -. -fžËr1 - = 0; - -212 -®g_key -. -fžËr2 - = 0; - -214 ià( -ALG_DEBUG -) - -215 - `´štf -("»move_s_’Œy i°%x,…܈%d\n", -®g_key -. -_add»ss -, - -216 -®g_key -. -l4pÜt -); - -218 -»t - = - `¹e_hash_lookup -( -s_®g_hash_bË -, & -®g_key -); - -219 ià( -»t - < 0) { - -220 ià( -ALG_DEBUG -) - -221 - `´štf -("removesipalgentry: " - -223 -»t -); - -227 -s_®g_’Œy_d©a - = -s_®g_bË -[ -»t -]; - -229 - `ä“ -( -s_®g_’Œy_d©a -); - -230 - `¹e_hash_d–_key -( -s_®g_hash_bË -, & -®g_key -); - -233 - } -} - -239  -pÝuϋ_s_®g_’Œy -( -ušt32_t - -addr -, -ušt16_t - -pÜtid -, - -240 * -s_ÿÎ_id -, -ušt8_t - -ÿÎ_dœeùiÚ -, - -241 -s_®g_pÜt_ty³ - -pÜt_ty³ -); - -242  - $pÝuϋ_s_®g_’Œy -( -ušt32_t - -addr -, -ušt16_t - -pÜtid -, - -243 * -s_ÿÎ_id -, -ušt8_t - -ÿÎ_dœeùiÚ -, - -244 -s_®g_pÜt_ty³ - -pÜt_ty³ -) - -246  -s_®g_key - -®g_key -; - -248 -®g_key -. -l4pÜt - = -pÜtid -; - -249 -®g_key -. -_add»ss - = -addr -; - -250 -®g_key -. -fžËr1 - = 0; - -251 -®g_key -. -fžËr2 - = 0; - -252  -»t -; - -254 ià( -ALG_DEBUG -) - -255 - `´štf -("populate_sip_alg_entry…ort %d, ip %x\n", - -256 -®g_key -. -l4pÜt -,‡lg_key. -_add»ss -); - -258  -s_®g_bË_’Œy - * -Ãw_®g_d©a - = - -259 - `»Œ›ve_s_®g_’Œy -(& -®g_key -); - -261 ià( -Ãw_®g_d©a -) { - -262 ià( -ALG_DEBUG -) - -263 - `´štf -("sip_alg_entryƒxists ip%x,…ort %d\n", - -264 -®g_key -. -_add»ss -,‡lg_key. -l4pÜt -); - -268 -Ãw_®g_d©a - = -NULL -; - -269 -Ãw_®g_d©a - = ( -s_®g_bË_’Œy - *) - -270 - `m®loc -(( -s_®g_bË_’Œy -)); - -271 ià( -Ãw_®g_d©a - =ð -NULL -) { - -272 - `´štf -("populate sip‡lgƒntry:‡llocation failed\n"); - -276 -Ãw_®g_d©a --> -l4pÜt - = -pÜtid -; - -277 -Ãw_®g_d©a --> -_add»ss - = -addr -; - -278 -Ãw_®g_d©a --> -l4pÜt_ty³ - = -pÜt_ty³ -; - -279 -Ãw_®g_d©a --> -s_®g_ÿÎ_dœeùiÚ - = -ÿÎ_dœeùiÚ -; - -280 - `¡rýy -((*) -Ãw_®g_d©a --> -s_®g_ÿÎ_id -, (*) -s_ÿÎ_id -); - -281 -Ãw_®g_d©a --> -fžËr1 - = 0; - -282 -Ãw_®g_d©a --> -fžËr2 - = 0; - -283 -Ãw_®g_d©a --> -fžËr3 - = 0; - -285 -»t - = - `¹e_hash_add_key -( -s_®g_hash_bË -, & -®g_key -); - -286 ià( -»t - < 0) { - -287 - `´štf -("pÝuϋ s -„‹_hash_add_key_d©¨ERROR %d\n", -»t -); - -288 - `ä“ -( -Ãw_®g_d©a -); - -292 -s_®g_bË -[ -»t -] = -Ãw_®g_d©a -; - -294 ià( -ALG_DEBUG -) { - -295 - `´štf -("SIP_ALG:able update - ip=%x on…ort=%d„et=%d\n", - -296 -®g_key -. -_add»ss -, -pÜtid -, -»t -); - -299 - } -} - -301  - $s_®g_dpi -( -¹e_mbuf - * -pkt -, -pkt_dœ - -pkt_dœeùiÚ -, - -302 -ušt32_t - -modIp -, -ušt16_t - -modL4PÜt -, - -303 -ušt32_t - -pubIp -, -ušt16_t - -pubL4PÜt -, - -304 -ušt16_t - -modRPÜt -, ušt16_ˆ -modRtýPÜt -) - -306 -ušt16_t - -msgTy³ - = 0; - -307 -s_®g_ÿÎ_dœeùiÚ - -ÿÎ_dœeùiÚ - = 0; - -308 -ušt32_t - -_add»ss - = 0; - -309 -ušt16_t - -pÜt - = 0; - -310  -»t - = 0; - -311  -v4_hdr - * -_h -; - -312  -‘h”_hdr - * -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -, ether_hdr *); - -313  -udp_hdr - * -udp_h -; - -314 * -pSMsg - = -NULL -; - -315  -s_®g_bË_’Œy - * -s_®g_’Œy -; - -316 * -s_ÿÎ_id - = -NULL -; - -317  -pos - = 0; - -318  -s_®g_key - -®g_key -; - -319 -ušt16_t - -diffModSL’ - = 0; - -321 -_h - = ( -v4_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -322 -udp_h - = ( -udp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -323 -pSMsg - = ((*) -udp_h - + ( -udp_hdr -)); - -325 ià( -ALG_DEBUG -) { - -326 - `´štf -("%s:…ack‘†’gth(%u), bufã¸Ëngth(%u)\n", -__func__ -, - -327 - `¹e_pktmbuf_pkt_Ën -( -pkt -),…kt-> -buf_Ën -); - -328 - `´štf -("%s:†a¡ segm’ˆaddr(%°%p)\n", -__func__ -, - -329 - `¹e_pktmbuf_Ï¡£g -( -pkt -),…kt); - -330 - `´štf -("%s: d©¨Ën(%u, %u)\n", -__func__ -, - `¹e_pktmbuf_d©a_Ën -( -pkt -), - -331 - `¹e_pktmbuf_d©a_Ën -( - `¹e_pktmbuf_Ï¡£g -( -pkt -))); - -332 - `´štf -("%s: bufã¸addr(%p), d©a_off(%u),‚b_£gs(%u)\n", -__func__ -, - -333 -pkt --> -buf_addr -,…kt-> -d©a_off -,…kt-> -nb_£gs -); - -336 ià( - `IS_STRING_SAME -( -pSMsg -, -SIP_ALG_INVITE -)) { - -338 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_CALLID -, & -pos -, 0) == - -339 -TRUE -) - -340 -s_ÿÎ_id - = - -341 - `g‘SC®lIdSŒ -( -pSMsg - + -pos - + - -342 - `TAG_TO_DATAPOS -( -SIP_ALG_CALLID -)); - -344 ià( -ALG_DEBUG -) - -345 - `´štf -("s®gdpi: %d c®Èid %s\n", -__LINE__ -, - -346 -s_ÿÎ_id -); - -348 ià( -pkt_dœeùiÚ - =ð -PRIVATE -) { - -349 -ÿÎ_dœeùiÚ - = -SIP_CALL_OUTGOING -; - -350 -_add»ss - = - `¹e_bsw­32 -( -_h --> -¤c_addr -); - -351 -pÜt - = - `¹e_bsw­16 -( -udp_h --> -¤c_pÜt -); - -352 } ià( -pkt_dœeùiÚ - =ð -PUBLIC -) { - -353 -ÿÎ_dœeùiÚ - = -SIP_CALL_INCOMING -; - -354 -_add»ss - = -pubIp -; - -355 -pÜt - = -pubL4PÜt -; - -358 ià( -ALG_DEBUG -) - -359 - `´štf -("0=>sip_alg_dpi:…kt_dir(%d), call_dir(%d), " - -361 -pkt_dœeùiÚ -, -ÿÎ_dœeùiÚ -, -_add»ss -, -pÜt -); - -364 -»t - = - `pÝuϋ_s_®g_’Œy -( -_add»ss -, -pÜt -, - -365 -s_ÿÎ_id -, -ÿÎ_dœeùiÚ -, - -366 -SIP_UDP -); - -367 ià( -»t - < 0) { - -368 - `´štf -("sipalgdpi:populate SIP‡lg UDPƒntry failed\n"); - -371 ià( -modRPÜt - != 0) { - -372 -»t - = - `pÝuϋ_s_®g_’Œy -( -_add»ss -, -modRPÜt -, - -373 -s_ÿÎ_id -, - -374 -ÿÎ_dœeùiÚ -, -SIP_RTP -); - -375 ià( -»t - < 0) { - -376 - `´štf -("sipalgdpi: " - -381 ià( -modRtýPÜt - != 0) { - -382 -»t - = - `pÝuϋ_s_®g_’Œy -( -_add»ss -, -modRtýPÜt -, - -383 -s_ÿÎ_id -, - -384 -ÿÎ_dœeùiÚ -, -SIP_RTCP -); - -385 ià( -»t - < 0) { - -386 - `´štf -("sipalgdpi: " - -393 -pSMsg - = - -394 - `s_®g_´oûss -( -pkt -, -pkt_dœeùiÚ -, -ÿÎ_dœeùiÚ -, - -395 -SIP_ALG_INVITE_MSGTYPE -, -modIp -, -modL4PÜt -, 0, - -396 0, -modRPÜt -, -modRtýPÜt -, & -diffModSL’ -); - -403 ià( -pkt_dœeùiÚ - =ð -PRIVATE -) { - -404 -®g_key -. -_add»ss - = - `¹e_bsw­32 -( -_h --> -¤c_addr -); - -405 -®g_key -. -l4pÜt - = - `¹e_bsw­16 -( -udp_h --> -¤c_pÜt -); - -407 -®g_key -. -_add»ss - = -pubIp -; - -408 -®g_key -. -l4pÜt - = -pubL4PÜt -; - -411 -®g_key -. -fžËr1 - = 0; - -412 -®g_key -. -fžËr2 - = 0; - -413 -s_®g_’Œy - = - `»Œ›ve_s_®g_’Œy -(& -®g_key -); - -415 ià( -ALG_DEBUG -) { - -416 - `´štf -("%s: s_®g_’Œy_±r(%p)\n", -__func__ -, - -417 -s_®g_’Œy -); - -418 - `´štf -("1=>%s:…kt_dir(%d), modIp(%x),modL4Port(%x), " - -420 -__func__ -, -pkt_dœeùiÚ -, -modIp -, -modL4PÜt -, - -421 -modRPÜt -, -modRtýPÜt -, -pubIp -, -pubL4PÜt -); - -424 ià( -s_®g_’Œy -) { - -425 -ÿÎ_dœeùiÚ - = -s_®g_’Œy --> -s_®g_ÿÎ_dœeùiÚ -; - -426 ià( - `IS_STRING_SAME -( -pSMsg -, -SIP_ALG_BYE -) || - -427 - `IS_STRING_SAME -( -pSMsg -, -SIP_ALG_CANCEL -)) { - -428 -msgTy³ - = -SIP_ALG_BYE_MSGTYPE -; - -430  -sAlgProûss -; - -431 } ià( - `IS_STRING_SAME -( -pSMsg -, -SIP_ALG_ACK -)) { - -432 -msgTy³ - = -SIP_ALG_ACK_MSGTYPE -; - -434  -sAlgProûss -; - -437 -pSMsg - += 8; - -439 ià( - `IS_STRING_SAME -( -pSMsg -, -SIP_ALG_200_OK -)) { - -441 ià( -ÇtSAlgMsgF›ldPos - - -442 ( -pSMsg -, -SIP_ALG_CSEQ -, & -pos -, 0è=ð -TRUE -) { - -443 * -pBye -; - -445 -pBye - = - -446 -pSMsg - + -pos - + - -447 - `TAG_TO_DATAPOS -( -SIP_ALG_CSEQ -); - -448 - `SKIP_SPACES -( -pBye -); - -450 * -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 } ià( - `IS_STRING_SAME -( -pSMsg -, -SIP_ALG_TRYING -) || - -465 - `IS_STRING_SAME -( -pSMsg -, -SIP_ALG_RINGING -)) { - -466 -msgTy³ - = -SIP_ALG_TRYING_RINGING_MSGTYPE -; - -469 -sAlgProûss -: - -470 ià( -ALG_DEBUG -) - -471 - `´štf -("2=>%s:…kt_dir(%d), call_dir(%d), " - -474 -__func__ -, -pkt_dœeùiÚ -, -ÿÎ_dœeùiÚ -, - -475 -msgTy³ -, -modIp -, -modL4PÜt -, -modRPÜt -, - -476 -modRtýPÜt -); - -478 -pSMsg - = - -479 - `s_®g_´oûss -( -pkt -, -pkt_dœeùiÚ -, -ÿÎ_dœeùiÚ -, - -480 -msgTy³ -, -modIp -, -modL4PÜt -, -pubIp -, - -481 -pubL4PÜt -, -modRPÜt -, -modRtýPÜt -, - -482 & -diffModSL’ -); - -484 -pSMsg - = -NULL -; - -487 ià( -ALG_DEBUG -) - -488 - `´štf -("%s: BefܐIPÙ®†’gth(%u), ud°Ëngth(%u)\n", -__func__ -, - -489 - `¹e_bsw­16 -( -_h --> -tÙ®_Ëngth -),„‹_bsw­16( -udp_h --> -dg¿m_Ën -)); - -494 -ušt16_t - -Ën - = 0; - -495 ià( -diffModSL’ - > 0) { - -496 -Ën - = - `¹e_bsw­16 -( -udp_h --> -dg¿m_Ën -); - -497 -Ën - +ð -diffModSL’ -; - -498 -udp_h --> -dg¿m_Ën - = - `¹e_bsw­16 -( -Ën -); - -500 -Ën - = - `¹e_bsw­16 -( -_h --> -tÙ®_Ëngth -); - -501 -Ën - +ð -diffModSL’ -; - -502 -_h --> -tÙ®_Ëngth - = - `¹e_bsw­16 -( -Ën -); - -504 ià( - `¹e_pktmbuf_­³nd -( -pkt -, -diffModSL’ -è=ð -NULL -) - -505 - `´štf -("%s:…ktmbuf_­³nd„‘uº NULL", -__func__ -); - -509 ià( -ALG_DEBUG -) - -510 - `´štf -("%s: After IPotal†ength(%u), udp†ength(%u), " - -511 "diffModSL’(%u)\n", -__func__ -, - -512 - `¹e_bsw­16 -( -_h --> -tÙ®_Ëngth -), - -513 - `¹e_bsw­16 -( -udp_h --> -dg¿m_Ën -), - -514 -diffModSL’ -); - -516 ià( -pSMsg - !ð -NULL -) - -520 - } -} - -522 * - $s_®g_´oûss -( -¹e_mbuf - * -pkt -, -ušt16_t - -pkt_dœeùiÚ -, - -523 -ušt16_t - -ÿÎ_dœeùiÚ -, ušt16_ˆ -msgTy³ -, -ušt32_t - -modIp -, - -524 -ušt16_t - -modL4PÜt -, -ušt32_t - -pubIp -, ušt16_ˆ -pubL4PÜt -, - -525 -ušt16_t - -modRPÜt -, ušt16_ˆ -modRtýPÜt -, - -526 -ušt16_t - * -diffModSL’ -) - -528  -v4_hdr - * -_h -; - -529  -‘h”_hdr - * -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -, ether_hdr *); - -530  -udp_hdr - * -udp_h -; - -531 * -pSMsg -, * -pSŒ -, * -pEndPŒ -; - -532  -pos -; - -534 -ušt32_t - -diffL’ -, -addrPÜtL’ -; - -535  -sdpMsgL’ - = 0; - -536  -s_msg_Ën - = 0; - -538 -_h - = ( -v4_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -539 -udp_h - = ( -udp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -540 -pSMsg - = ((*) -udp_h - + ( -udp_hdr -)); - -541 * -pTmpSMsg - = -pSMsg -; - -542 * -pS¹SMsg - = -pSMsg -; - -544 -s_msg_Ën - = - -545 - `¹e_bsw­16 -( -_h --> -tÙ®_Ëngth -è- ( -v4_hdr -) - - -546 ( -udp_hdr -); - -548 ià( - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_CONTENT_LEN -, & -pos -, 0) == - -549 -TRUE -) - -550 -pTmpSMsg - +ð( -pos - + - `TAG_TO_DATAPOS -( -SIP_ALG_CONTENT_LEN -)); - -552 - `´štf -("sip_alg_process: Invalid Content Length\n"); - -553  -NULL -; - -556 - `SKIP_SPACES -( -pTmpSMsg -); - -557  -sdpD©aL’ - = - `¡¹Þ -( -pTmpSMsg -, & -pSŒ -, 10); - -559 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, -SIP_ALG_DOUBLE_CRLF -, & -pos -, 0); - -560 -pTmpSMsg - +ð( -pos - + - `¡¾’ -( -SIP_ALG_DOUBLE_CRLF -)); - -562 ià( -sdpD©aL’ - != 0) - -563 ià( -ÇtSAlgMsgF›ldPos - - -564 ( -pTmpSMsg -, -SIP_ALG_REMOTE_PARTY_ID -, & -pos -, 0è=ð -TRUE -) { - -565 -pTmpSMsg - +ð -pos - + - `¡¾’ -( -SIP_ALG_REMOTE_PARTY_ID -); - -567 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -568 -SIP_ALG_DOUBLE_CRLF -, & -pos -, - -570 -pTmpSMsg - +ð( -pos - + - `¡¾’ -( -SIP_ALG_DOUBLE_CRLF -)); - -573  -sMsgL’ - = ( -pTmpSMsg - - -pSMsg -); - -575 * -pSMsgEnd - = -pSMsg - + -sMsgL’ - + -sdpD©aL’ -; - -577 ià( -ALG_DEBUG -) - -578 - `´štf -("%s:…SipMsg: %p,…SipMsgEnd: %p, sipMsgLen: %d, " - -580 -__func__ -, -pSMsg -, -pSMsgEnd -, -sMsgL’ -, -sdpD©aL’ -, - -581 -s_msg_Ën -); - -583 ià( -ÿÎ_dœeùiÚ - =ð -SIP_CALL_OUTGOING -) { - -584 ià(( -msgTy³ - =ð -SIP_ALG_INVITE_MSGTYPE -) - -585 || ( -msgTy³ - =ð -SIP_ALG_ACK_MSGTYPE -)) { - -587 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_VIA -, & -pos -, 0) - -588 =ð -TRUE -) { - -590 -pSMsg - += - -591 ( -pos - + - `¡¾’ -( -SIP_ALG_VIA -) + - -592 -SIP_ALG_VIA_FIELD_IPADDR -); - -593 -pTmpSMsg - = -pSMsg -; - -595 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, - -596 -SIP_ALG_SEMICOLON -, & -pos -, - -598 -pTmpSMsg - +ð -pos -; - -599 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -601 - `´štf -("sip_alg_process; No valid VIA field\n"); - -602  -NULL -; - -605 -pSMsg - = - -606 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -607 -addrPÜtL’ -, - -608 & -diffL’ -, -modIp -, - -609 -modL4PÜt -, - -610 -ADDRESS_PORT_STRING -); - -612 * -diffModSL’ - +ð -diffL’ -; - -616 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_FROM -, & -pos -, 0) - -617 =ð -TRUE -) { - -618 -pSMsg - +ð -pos -; - -620 -pTmpSMsg - = -pSMsg -; - -622 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -623 & -pos -, 0); - -624 -pTmpSMsg - +ð -pos -; - -625 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -627 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -629 -pSMsg - +ð -pos - + 1; - -631 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -633 -´štf - - -635  -NULL -; - -638 -pSMsg - = - -639 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -640 -addrPÜtL’ -, - -641 & -diffL’ -, -modIp -, - -642 -modL4PÜt -, - -643 -ADDRESS_PORT_STRING -); - -645 * -diffModSL’ - +ð -diffL’ -; - -649 ià( -ÇtSAlgMsgF›ldPos - - -650 ( -pSMsg -, -SIP_ALG_CALLID -, & -pos -, 0è=ð -TRUE -) { - -651 -pSMsg - +ð -pos -; - -653 -pTmpSMsg - = -pSMsg -; - -655 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -656 -SIP_ALG_CRLF -, & -pos -, - -658 -pTmpSMsg - +ð -pos -; - -659 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -661 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -663 -pSMsg - +ð -pos - + 1; - -664 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -666 - `´štf -("sip_alg_process; " - -668  -NULL -; - -672 -pSMsg - = - -673 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -674 -addrPÜtL’ -, - -675 & -diffL’ -, -modIp -, 0, - -676 -ADDRESS_PORT_STRING -); - -678 * -diffModSL’ - +ð -diffL’ -; - -681 ià( -ÇtSAlgMsgF›ldPos - - -682 ( -pSMsg -, -SIP_ALG_CONTACT -, & -pos -, 0è=ð -TRUE -) { - -683 -pSMsg - +ð -pos -; - -685 -pTmpSMsg - = -pSMsg -; - -686 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -687 -SIP_ALG_CRLF -, & -pos -, - -689 -pTmpSMsg - +ð -pos -; - -691 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -693 -pSMsg - +ð -pos - + 1; - -694 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -697 - `´štf -("sip_alg_process; " - -699  -NULL -; - -702 -pSMsg - = - -703 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -704 -addrPÜtL’ -, - -705 & -diffL’ -, -modIp -, - -706 -modL4PÜt -, - -707 -ADDRESS_PORT_STRING -); - -709 * -diffModSL’ - +ð -diffL’ -; - -711 ià( -msgTy³ - =ð -SIP_ALG_INVITE_MSGTYPE -) { - -713 ià( -ÇtSAlgMsgF›ldPos - - -714 ( -pSMsg -, -SIP_ALG_CONTYPE -, & -pos -, - -715 0è=ð -TRUE -) { - -716 -pSMsg - += - -717 ( -pos - + - -718 - `TAG_TO_DATAPOS -( -SIP_ALG_CONTYPE -)); - -719 - `SKIP_SPACES -( -pSMsg -); - -721 ià(! -IS_STRING_SAME - - -722 ( -pSMsg -, -SIP_ALG_APPSDP -)) { - -723 - `´štf -("sip_alg_process " - -725  -NULL -; - -728 - `´štf -("sip_alg_process; " - -730  -NULL -; - -734 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, - -735 -SIP_ALG_CONTENT_LEN -, & -pos -, - -737 -pSMsg - += - -738 ( -pos - + - `TAG_TO_DATAPOS -( -SIP_ALG_CONTENT_LEN -)); - -739 - `SKIP_SPACES -( -pSMsg -); - -740 -sdpMsgL’ - = - `¡¹Þ -( -pSMsg -, & -pEndPŒ -, 10); - -741 ià(! -sdpMsgL’ -) { - -743 ià( -msgTy³ - =ð -SIP_ALG_ACK_MSGTYPE -) - -744  -sAlgProûssEx™ -; - -746 - `´štf -("sip_alg_process - " - -748  -NULL -; - -752 ià( -ÇtSAlgMsgF›ldPos - - -753 ( -pSMsg -, -SIP_ALG_OWNER -, & -pos -, - -754 0è=ð -TRUE -) { - -755 -pSMsg - +ð -pos -; - -757 -pTmpSMsg - = -pSMsg -; - -759 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pSMsg -, - -760 -SIP_ALG_CRLF -, - -761 & -pos -, - -763 -pTmpSMsg - +ð -pos -; - -766 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, - -767 -SIP_ALG_IPV4 -, & -pos -, - -769 -pSMsg - +ð( -pos - + - `¡¾’ -( -SIP_ALG_IPV4 -)); - -770 - `SKIP_SPACES -( -pSMsg -); - -772 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -774 - `´štf -("sip_alg_processing: " - -776  -NULL -; - -779 -pSMsg - = - -780 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -781 & -pSMsgEnd -, - -782 -addrPÜtL’ -, - -783 & -diffL’ -, - -784 -modIp -, 0, - -785 -ADDRESS_PORT_STRING -); - -787 * -diffModSL’ - +ð -diffL’ -; - -788 -sdpMsgL’ - +ð -diffL’ -; - -792 ià( -ÇtSAlgMsgF›ldPos - - -793 ( -pSMsg -, -SIP_ALG_CONN -, & -pos -, - -794 0è=ð -TRUE -) { - -795 -pSMsg - +ð -pos -; - -796 -pTmpSMsg - = -pSMsg -; - -798 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pSMsg -, - -799 -SIP_ALG_CRLF -, - -800 & -pos -, - -802 -pTmpSMsg - +ð -pos -; - -805 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, - -806 -SIP_ALG_IPV4 -, & -pos -, - -808 -pSMsg - +ð( -pos - + - `¡¾’ -( -SIP_ALG_IPV4 -)); - -809 - `SKIP_SPACES -( -pSMsg -); - -811 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -813 - `´štf -("sip_alg_processing: " - -815  -NULL -; - -818 -pSMsg - = - -819 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -820 & -pSMsgEnd -, - -821 -addrPÜtL’ -, - -822 & -diffL’ -, - -823 -modIp -, 0, - -824 -ADDRESS_PORT_STRING -); - -826 * -diffModSL’ - +ð -diffL’ -; - -827 -sdpMsgL’ - +ð -diffL’ -; - -831 ià( -ÇtSAlgMsgF›ldPos - - -832 ( -pSMsg -, -SIP_ALG_AUDIO -, & -pos -, - -833 0è=ð -TRUE -) { - -834 -pSMsg - += - -835 ( -pos - + - -836 - `TAG_TO_DATAPOS -( -SIP_ALG_AUDIO -)); - -837 - `SKIP_SPACES -( -pSMsg -); - -838 -pTmpSMsg - = -pSMsg -; - -839 -ÇtSAlgMsgF›ldPosFšdS·û - - -840 ( -pTmpSMsg -, -SIP_ALG_SPACE -, & -pos -, - -842 -pTmpSMsg - +ð -pos -; - -843 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -847 -pSMsg - = - -848 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -849 & -pSMsgEnd -, - -850 -addrPÜtL’ -, - -851 & -diffL’ -, 0, - -852 -modRPÜt -, - -853 -PORT_STRING -); - -855 * -diffModSL’ - +ð -diffL’ -; - -856 -sdpMsgL’ - +ð -diffL’ -; - -860 ià( -ÇtSAlgMsgF›ldPos - - -861 ( -pSMsg -, -SIP_ALG_RTCP -, & -pos -, - -862 0è=ð -TRUE -) { - -863 -pSMsg - += - -864 ( -pos - + - -865 - `TAG_TO_DATAPOS -( -SIP_ALG_RTCP -)); - -866 - `SKIP_SPACES -( -pSMsg -); - -867 -pTmpSMsg - = -pSMsg -; - -868 -ÇtSAlgMsgF›ldPosFšdS·û - - -869 ( -pTmpSMsg -, -SIP_ALG_SPACE -, & -pos -, - -871 -pTmpSMsg - +ð -pos -; - -872 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -875 -pSMsg - = - -876 -ÇtSAlgModifyPaylßdAddrPÜt - - -877 ( -pSMsg -, & -pSMsgEnd -, -addrPÜtL’ -, - -878 & -diffL’ -, 0, -modRtýPÜt -, - -879 -PORT_STRING -); - -881 * -diffModSL’ - +ð -diffL’ -; - -882 -sdpMsgL’ - +ð -diffL’ -; - -887 } ià(( -msgTy³ - =ð -SIP_ALG_TRYING_RINGING_MSGTYPE -) - -888 || ( -msgTy³ - =ð -SIP_ALG_200_OK_INVITE_MSGTYPE -)) { - -890 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_VIA -, & -pos -, 0) - -891 =ð -TRUE -) { - -893 -pSMsg - += - -894 ( -pos - + - `¡¾’ -( -SIP_ALG_VIA -) + - -895 -SIP_ALG_VIA_FIELD_IPADDR -); - -896 -pTmpSMsg - = -pSMsg -; - -898 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, - -899 -SIP_ALG_SEMICOLON -, & -pos -, - -901 -pTmpSMsg - +ð -pos -; - -902 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -904 - `´štf -("sip_alg_process; No valid VIA field\n"); - -905  -NULL -; - -908 -pSMsg - = - -909 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -910 -addrPÜtL’ -, - -911 & -diffL’ -, -modIp -, - -912 -modL4PÜt -, - -913 -ADDRESS_PORT_STRING -); - -914 * -diffModSL’ - = -diffL’ -; - -917 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_FROM -, & -pos -, 0) - -918 =ð -TRUE -) { - -919 -pSMsg - +ð -pos -; - -921 -pTmpSMsg - = -pSMsg -; - -923 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -924 & -pos -, 0); - -925 -pTmpSMsg - +ð -pos -; - -928 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -930 -pSMsg - +ð -pos - + 1; - -932 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -934 -´štf - - -936  -NULL -; - -939 -pSMsg - = - -940 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -941 -addrPÜtL’ -, - -942 & -diffL’ -, -modIp -, - -943 -modL4PÜt -, - -944 -ADDRESS_PORT_STRING -); - -946 * -diffModSL’ - +ð -diffL’ -; - -950 ià( -ÇtSAlgMsgF›ldPos - - -951 ( -pSMsg -, -SIP_ALG_CALLID -, & -pos -, 0è=ð -TRUE -) { - -952 -pSMsg - +ð -pos -; - -954 -pTmpSMsg - = -pSMsg -; - -956 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -957 -SIP_ALG_CRLF -, & -pos -, - -959 -pTmpSMsg - +ð -pos -; - -962 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -964 -pSMsg - +ð -pos - + 1; - -965 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -967 - `´štf -("sip_alg_process; " - -969  -NULL -; - -973 -pSMsg - = - -974 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -975 -addrPÜtL’ -, - -976 & -diffL’ -, -modIp -, 0, - -977 -ADDRESS_PORT_STRING -); - -979 * -diffModSL’ - +ð -diffL’ -; - -981 } ià( -pkt_dœeùiÚ - =ð -PRIVATE - - -982 && -msgTy³ - =ð -SIP_ALG_BYE_MSGTYPE -) { - -986 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_VIA -, & -pos -, 0) - -987 =ð -TRUE -) { - -989 -pSMsg - += - -990 ( -pos - + - `¡¾’ -( -SIP_ALG_VIA -) + - -991 -SIP_ALG_VIA_FIELD_IPADDR -); - -992 -pTmpSMsg - = -pSMsg -; - -994 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, - -995 -SIP_ALG_SEMICOLON -, & -pos -, - -997 -pTmpSMsg - +ð -pos -; - -998 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1000 - `´štf -("sip_alg_process; No valid VIA field\n"); - -1001  -NULL -; - -1004 -pSMsg - = - -1005 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1006 -addrPÜtL’ -, - -1007 & -diffL’ -, -modIp -, 0, - -1008 -ADDRESS_PORT_STRING -); - -1009 * -diffModSL’ - = -diffL’ -; - -1012 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_FROM -, & -pos -, 0) - -1013 =ð -TRUE -) { - -1014 -pSMsg - +ð -pos -; - -1016 -pTmpSMsg - = -pSMsg -; - -1018 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1019 & -pos -, 0); - -1020 -pTmpSMsg - +ð -pos -; - -1021 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -1023 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1025 -pSMsg - +ð -pos - + 1; - -1027 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1029 -´štf - - -1031  -NULL -; - -1034 -pSMsg - = - -1035 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1036 -addrPÜtL’ -, - -1037 & -diffL’ -, -modIp -, - -1038 -modL4PÜt -, - -1039 -ADDRESS_PORT_STRING -); - -1041 * -diffModSL’ - +ð -diffL’ -; - -1045 ià( -ÇtSAlgMsgF›ldPos - - -1046 ( -pSMsg -, -SIP_ALG_CALLID -, & -pos -, 0è=ð -TRUE -) { - -1047 -pSMsg - +ð -pos -; - -1049 -pTmpSMsg - = -pSMsg -; - -1051 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -1052 -SIP_ALG_CRLF -, & -pos -, - -1054 -pTmpSMsg - +ð -pos -; - -1055 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -1057 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1059 -pSMsg - +ð -pos - + 1; - -1060 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1062 - `´štf -("sip_alg_process; " - -1064  -NULL -; - -1068 -pSMsg - = - -1069 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1070 -addrPÜtL’ -, - -1071 & -diffL’ -, -modIp -, 0, - -1072 -ADDRESS_PORT_STRING -); - -1074 * -diffModSL’ - +ð -diffL’ -; - -1077 ià( -ÇtSAlgMsgF›ldPos - - -1078 ( -pSMsg -, -SIP_ALG_CONTACT -, & -pos -, 0è=ð -TRUE -) { - -1079 -pSMsg - +ð -pos -; - -1081 -pTmpSMsg - = -pSMsg -; - -1082 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -1083 -SIP_ALG_CRLF -, & -pos -, 0); - -1084 -pTmpSMsg - +ð -pos -; - -1086  -æag - = 0; - -1087 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, - -1088 & -pos -, 0è=ð -FALSE -) - -1089 -æag - = 1; - -1091 ià( -æag -) - -1092  -SMsgAdvªû2 -; - -1093 -pSMsg - +ð -pos - + 1; - -1094 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1097 - `´štf -("sip_alg_process; " - -1099  -NULL -; - -1102 -pSMsg - = - -1103 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1104 -addrPÜtL’ -, - -1105 & -diffL’ -, -modIp -, - -1106 -modL4PÜt -, - -1107 -ADDRESS_PORT_STRING -); - -1109 * -diffModSL’ - +ð -diffL’ -; - -1110 } ià( -pkt_dœeùiÚ - =ð -PUBLIC - - -1111 && -msgTy³ - =ð -SIP_ALG_BYE_MSGTYPE -) { - -1118 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, 0); - -1119 -pSMsg - +ð -pos - + 1; - -1120 -pTmpSMsg - = -pSMsg -; - -1121 - `ÇtSAlgMsgF›ldPosFšdS·û -( -pTmpSMsg -, -SIP_ALG_SPACE -, - -1122 & -pos -, 0); - -1123 -pTmpSMsg - +ð -pos -; - -1124 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1126 -pSMsg - = - -1127 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1128 -addrPÜtL’ -, - -1129 & -diffL’ -, -modIp -, - -1130 -modL4PÜt -, - -1131 -ADDRESS_PORT_STRING -); - -1132 * -diffModSL’ - +ð -diffL’ -; - -1136 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_TO -, & -pos -, 0) - -1137 =ð -TRUE -) { - -1138 -pSMsg - +ð -pos -; - -1139 -pTmpSMsg - = -pSMsg -; - -1140 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1141 & -pos -, 0); - -1142 -pTmpSMsg - +ð -pos -; - -1143 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1145 -pSMsg - +ð -pos - + 1; - -1146 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1147 -pSMsg - = - -1148 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -1149 & -pSMsgEnd -, - -1150 -addrPÜtL’ -, - -1151 & -diffL’ -, - -1152 -modIp -, - -1153 -modL4PÜt -, - -1154 -ADDRESS_PORT_STRING -); - -1155 * -diffModSL’ - +ð -diffL’ -; - -1160 ià( -ÇtSAlgMsgF›ldPos - - -1161 ( -pSMsg -, -SIP_ALG_CALLID -, & -pos -, 0è=ð -TRUE -) { - -1162 -pSMsg - +ð -pos -; - -1164 -pTmpSMsg - = -pSMsg -; - -1166 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -1167 -SIP_ALG_CRLF -, & -pos -, - -1169 -pTmpSMsg - +ð -pos -; - -1172 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1174 -pSMsg - +ð -pos - + 1; - -1175 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1177 - `´štf -("sip_alg_process; " - -1179  -NULL -; - -1183 -pSMsg - = - -1184 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1185 -addrPÜtL’ -, - -1186 & -diffL’ -, -modIp -, 0, - -1187 -ADDRESS_PORT_STRING -); - -1189 * -diffModSL’ - +ð -diffL’ -; - -1190 } ià( -pkt_dœeùiÚ - =ð -PRIVATE - - -1191 && ( -msgTy³ - =ð -SIP_ALG_200_OK_BYE_MSGTYPE -)) { - -1197 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_TO -, & -pos -, 0) - -1198 =ð -TRUE -) { - -1199 -pSMsg - +ð -pos -; - -1201 -pTmpSMsg - = -pSMsg -; - -1203 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1204 & -pos -, 0); - -1205 -pTmpSMsg - +ð -pos -; - -1206 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -1208 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1210 -pSMsg - +ð -pos - + 1; - -1212 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1214 -´štf - - -1216  -NULL -; - -1219 -pSMsg - = - -1220 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1221 -addrPÜtL’ -, - -1222 & -diffL’ -, -modIp -, - -1223 -modL4PÜt -, - -1224 -ADDRESS_PORT_STRING -); - -1226 * -diffModSL’ - = -diffL’ -; - -1230 ià( -ÇtSAlgMsgF›ldPos - - -1231 ( -pSMsg -, -SIP_ALG_CONTACT -, & -pos -, 0è=ð -TRUE -) { - -1232 -pSMsg - +ð -pos -; - -1234 -pTmpSMsg - = -pSMsg -; - -1235 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -1236 -SIP_ALG_CRLF -, & -pos -, - -1238 -pTmpSMsg - +ð -pos -; - -1240  -æag - = 0; - -1241 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, - -1242 & -pos -, 0è=ð -FALSE -) - -1243 -æag - = 1; - -1245 ià( -æag -) - -1246  -SMsgAdvªû2 -; - -1247 -pSMsg - +ð -pos - + 1; - -1248 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1250 - `´štf -("sip_alg_process; " - -1252  -NULL -; - -1255 -pSMsg - = - -1256 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1257 -addrPÜtL’ -, - -1258 & -diffL’ -, -modIp -, - -1259 -modL4PÜt -, - -1260 -ADDRESS_PORT_STRING -); - -1262 * -diffModSL’ - +ð -diffL’ -; - -1263 } ià( -pkt_dœeùiÚ - =ð -PUBLIC - - -1264 && ( -msgTy³ - =ð -SIP_ALG_200_OK_BYE_MSGTYPE -)) { - -1268 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_VIA -, & -pos -, 0) - -1269 =ð -TRUE -) { - -1271 -pSMsg - += - -1272 ( -pos - + - `¡¾’ -( -SIP_ALG_VIA -) + - -1273 -SIP_ALG_VIA_FIELD_IPADDR -); - -1274 -pTmpSMsg - = -pSMsg -; - -1276 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, - -1277 -SIP_ALG_SEMICOLON -, & -pos -, - -1279 -pTmpSMsg - +ð -pos -; - -1280 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1282 - `´štf -("sip_alg_process; No valid VIA field\n"); - -1283  -NULL -; - -1286 -pSMsg - = - -1287 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1288 -addrPÜtL’ -, - -1289 & -diffL’ -, -modIp -, 0, - -1290 -ADDRESS_PORT_STRING -); - -1291 * -diffModSL’ - = -diffL’ -; - -1294 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_FROM -, & -pos -, 0) - -1295 =ð -TRUE -) { - -1296 -pSMsg - +ð -pos -; - -1298 -pTmpSMsg - = -pSMsg -; - -1300 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1301 & -pos -, 0); - -1302 -pTmpSMsg - +ð -pos -; - -1303 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -1305 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1307 -pSMsg - +ð -pos - + 1; - -1309 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1311 -´štf - - -1313  -NULL -; - -1316 -pSMsg - = - -1317 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1318 -addrPÜtL’ -, - -1319 & -diffL’ -, -modIp -, - -1320 -modL4PÜt -, - -1321 -ADDRESS_PORT_STRING -); - -1323 * -diffModSL’ - +ð -diffL’ -; - -1326 ià( -ÇtSAlgMsgF›ldPos - - -1327 ( -pSMsg -, -SIP_ALG_CALLID -, & -pos -, 0è=ð -TRUE -) { - -1328 -pSMsg - +ð -pos -; - -1330 -pTmpSMsg - = -pSMsg -; - -1331 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -1332 -SIP_ALG_CRLF -, & -pos -, - -1334 -pTmpSMsg - +ð -pos -; - -1335 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1337 -pSMsg - +ð -pos - + 1; - -1338 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1340 -pSMsg - = - -1341 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -1342 & -pSMsgEnd -, - -1343 -addrPÜtL’ -, - -1344 & -diffL’ -, - -1345 -modIp -, 0, - -1346 -ADDRESS_PORT_STRING -); - -1348 * -diffModSL’ - +ð -diffL’ -; - -1351 - `´štf -("sip_alg_process; " - -1353  -NULL -; - -1357 } ià( -ÿÎ_dœeùiÚ - =ð -SIP_CALL_INCOMING -) { - -1358 ià(( -msgTy³ - =ð -SIP_ALG_INVITE_MSGTYPE -) - -1359 || ( -msgTy³ - =ð -SIP_ALG_ACK_MSGTYPE -)) { - -1362 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, 0) - -1363 =ð -TRUE -) { - -1364 -pSMsg - +ð -pos - + 1; - -1365 -pTmpSMsg - = -pSMsg -; - -1366 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_SIP -, - -1367 & -pos -, 0); - -1368 -pTmpSMsg - +ð( -pos - - 1); - -1370 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1372 -´štf - - -1374 -__LINE__ -); - -1375  -NULL -; - -1378 -pSMsg - = - -1379 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1380 -addrPÜtL’ -, - -1381 & -diffL’ -, -modIp -, - -1382 -modL4PÜt -, - -1383 -ADDRESS_PORT_STRING -); - -1384 * -diffModSL’ - +ð -diffL’ -; - -1388 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_TO -, & -pos -, 0) - -1389 =ð -TRUE -) { - -1390 -pSMsg - +ð -pos -; - -1391 -pTmpSMsg - = -pSMsg -; - -1392 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1393 & -pos -, 0); - -1394 -pTmpSMsg - +ð -pos -; - -1395 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1397 -pSMsg - +ð -pos - + 1; - -1398 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1400 - `´štf -("sip_alg_processing; " - -1402 -__LINE__ -); - -1403  -NULL -; - -1406 -pSMsg - = - -1407 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1408 -addrPÜtL’ -, - -1409 & -diffL’ -, -modIp -, - -1410 -modL4PÜt -, - -1411 -ADDRESS_PORT_STRING -); - -1412 * -diffModSL’ - +ð -diffL’ -; - -1414 } ià(( -msgTy³ - =ð -SIP_ALG_TRYING_RINGING_MSGTYPE -) - -1415 || ( -msgTy³ - =ð -SIP_ALG_200_OK_INVITE_MSGTYPE -)) { - -1418 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_TO -, & -pos -, 0) - -1419 =ð -TRUE -) { - -1420 -pSMsg - +ð -pos -; - -1421 -pTmpSMsg - = -pSMsg -; - -1422 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1423 & -pos -, 0); - -1424 -pTmpSMsg - +ð -pos -; - -1425 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1427 -pSMsg - +ð -pos - + 1; - -1428 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1429 -pSMsg - = - -1430 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -1431 & -pSMsgEnd -, - -1432 -addrPÜtL’ -, - -1433 & -diffL’ -, - -1434 -modIp -, - -1435 -modL4PÜt -, - -1436 -ADDRESS_PORT_STRING -); - -1437 * -diffModSL’ - +ð -diffL’ -; - -1440 ià( -msgTy³ - =ð -SIP_ALG_200_OK_INVITE_MSGTYPE -) { - -1444 ià( -ÇtSAlgMsgF›ldPos - - -1445 ( -pSMsg -, -SIP_ALG_CONTACT -, & -pos -, - -1446 0è=ð -TRUE -) { - -1447 -pSMsg - +ð -pos -; - -1449 -pTmpSMsg - = -pSMsg -; - -1450 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, - -1451 -SIP_ALG_SEMICOLON -, - -1452 & -pos -, 0); - -1453 -pTmpSMsg - +ð -pos -; - -1455  -æag - = 0; - -1456 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, - -1457 -SIP_ALG_AT -, & -pos -, - -1458 30è=ð -FALSE -) - -1459 -æag - = 1; - -1461 ià( -æag -) - -1462  -SMsgAdvªû -; - -1464 -pSMsg - +ð -pos - + 1; - -1465 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1467 - `´štf -("sip_alg_process; " - -1469  -NULL -; - -1472 -pSMsg - = - -1473 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -1474 & -pSMsgEnd -, - -1475 -addrPÜtL’ -, - -1476 & -diffL’ -, - -1477 -modIp -, - -1478 -modL4PÜt -, - -1479 -ADDRESS_PORT_STRING -); - -1481 * -diffModSL’ - +ð -diffL’ -; - -1482 -SMsgAdvªû -: - -1484 -pTmpSMsg - = -pSMsg -; - -1485 ià( -ÇtSAlgMsgF›ldPos - - -1486 ( -pSMsg -, -SIP_ALG_REMOTE_PARTY_ID -, & -pos -, - -1487 0è=ð -TRUE -) { - -1488 -pSMsg - +ð -pos - + - -1489 - `¡¾’ -( -SIP_ALG_REMOTE_PARTY_ID -); - -1490 -pTmpSMsg - = -pSMsg -; - -1491 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, - -1492 -SIP_ALG_GREAT -, - -1493 & -pos -, 0); - -1494 -pTmpSMsg - +ð -pos -; - -1495 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, - -1496 -SIP_ALG_AT -, & -pos -, - -1498 -pSMsg - +ð -pos - + 1; - -1499 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1501 -pSMsg - = - -1502 -ÇtSAlgModifyPaylßdAddrPÜt - - -1503 ( -pSMsg -, & -pSMsgEnd -, -addrPÜtL’ -, - -1504 & -diffL’ -, -modIp -, -modL4PÜt -, - -1505 -ADDRESS_PORT_STRING -); - -1506 -diffModSL’ - +ð -diffL’ -; - -1508 - `´štf -("sip_alg_process: " - -1510 -pSMsg - = -pTmpSMsg -; - -1514 ià( -ÇtSAlgMsgF›ldPos - - -1515 ( -pSMsg -, -SIP_ALG_OWNER -, & -pos -, - -1516 0è=ð -TRUE -) { - -1517 -pSMsg - +ð -pos -; - -1519 -pTmpSMsg - = -pSMsg -; - -1521 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pSMsg -, - -1522 -SIP_ALG_CRLF -, - -1523 & -pos -, - -1525 -pTmpSMsg - +ð -pos -; - -1528 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, - -1529 -SIP_ALG_IPV4 -, & -pos -, - -1531 -pSMsg - +ð( -pos - + - `¡¾’ -( -SIP_ALG_IPV4 -)); - -1532 - `SKIP_SPACES -( -pSMsg -); - -1534 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1536 - `´štf -("sip_alg_processing: " - -1538  -NULL -; - -1541 -pSMsg - = - -1542 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -1543 & -pSMsgEnd -, - -1544 -addrPÜtL’ -, - -1545 & -diffL’ -, - -1546 -modIp -, 0, - -1547 -ADDRESS_PORT_STRING -); - -1549 * -diffModSL’ - +ð -diffL’ -; - -1550 -sdpMsgL’ - +ð -diffL’ -; - -1554 ià( -ÇtSAlgMsgF›ldPos - - -1555 ( -pSMsg -, -SIP_ALG_CONN -, & -pos -, - -1556 0è=ð -TRUE -) { - -1557 -pSMsg - +ð -pos -; - -1558 -pTmpSMsg - = -pSMsg -; - -1560 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pSMsg -, - -1561 -SIP_ALG_CRLF -, - -1562 & -pos -, - -1564 -pTmpSMsg - +ð -pos -; - -1567 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, - -1568 -SIP_ALG_IPV4 -, & -pos -, - -1570 -pSMsg - +ð( -pos - + - `¡¾’ -( -SIP_ALG_IPV4 -)); - -1571 - `SKIP_SPACES -( -pSMsg -); - -1573 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1575 - `´štf -("sip_alg_processing: " - -1577  -NULL -; - -1580 -pSMsg - = - -1581 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -1582 & -pSMsgEnd -, - -1583 -addrPÜtL’ -, - -1584 & -diffL’ -, - -1585 -modIp -, 0, - -1586 -ADDRESS_PORT_STRING -); - -1588 * -diffModSL’ - +ð -diffL’ -; - -1589 -sdpMsgL’ - +ð -diffL’ -; - -1593 ià( -ÇtSAlgMsgF›ldPos - - -1594 ( -pSMsg -, -SIP_ALG_AUDIO -, & -pos -, - -1595 0è=ð -TRUE -) { - -1596 -pSMsg - += - -1597 ( -pos - + - `¡¾’ -( -SIP_ALG_AUDIO -)); - -1598 - `SKIP_SPACES -( -pSMsg -); - -1599 -pTmpSMsg - = -pSMsg -; - -1600 -ÇtSAlgMsgF›ldPosFšdS·û - - -1601 ( -pTmpSMsg -, -SIP_ALG_SPACE -, & -pos -, - -1603 -pTmpSMsg - +ð -pos -; - -1604 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1608 -pSMsg - = - -1609 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -1610 & -pSMsgEnd -, - -1611 -addrPÜtL’ -, - -1612 & -diffL’ -, 0, - -1613 -modRPÜt -, - -1614 -PORT_STRING -); - -1616 * -diffModSL’ - +ð -diffL’ -; - -1617 -sdpMsgL’ - +ð -diffL’ -; - -1620 } ià( -pkt_dœeùiÚ - =ð -PUBLIC - - -1621 && -msgTy³ - =ð -SIP_ALG_BYE_MSGTYPE -) { - -1625 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, 0); - -1626 -pSMsg - +ð -pos - + 1; - -1627 -pTmpSMsg - = -pSMsg -; - -1628 - `ÇtSAlgMsgF›ldPosFšdS·û -( -pTmpSMsg -, -SIP_ALG_SPACE -, - -1629 & -pos -, 0); - -1630 -pTmpSMsg - +ð -pos -; - -1631 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1633 -pSMsg - = - -1634 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1635 -addrPÜtL’ -, - -1636 & -diffL’ -, -modIp -, - -1637 -modL4PÜt -, - -1638 -ADDRESS_PORT_STRING -); - -1639 * -diffModSL’ - +ð -diffL’ -; - -1643 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_TO -, & -pos -, 0) - -1644 =ð -TRUE -) { - -1645 -pSMsg - +ð -pos -; - -1646 -pTmpSMsg - = -pSMsg -; - -1647 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1648 & -pos -, 0); - -1649 -pTmpSMsg - +ð -pos -; - -1650 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1652 -pSMsg - +ð -pos - + 1; - -1653 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1654 -pSMsg - = - -1655 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, - -1656 & -pSMsgEnd -, - -1657 -addrPÜtL’ -, - -1658 & -diffL’ -, - -1659 -modIp -, - -1660 -modL4PÜt -, - -1661 -ADDRESS_PORT_STRING -); - -1662 * -diffModSL’ - +ð -diffL’ -; - -1665 -´štf - - -1667  -NULL -; - -1669 } ià( -pkt_dœeùiÚ - =ð -PRIVATE - - -1670 && -msgTy³ - =ð -SIP_ALG_BYE_MSGTYPE -) { - -1674 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_VIA -, & -pos -, 0) - -1675 =ð -TRUE -) { - -1677 -pSMsg - += - -1678 ( -pos - + - `¡¾’ -( -SIP_ALG_VIA -) + - -1679 -SIP_ALG_VIA_FIELD_IPADDR -); - -1680 -pTmpSMsg - = -pSMsg -; - -1682 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, - -1683 -SIP_ALG_SEMICOLON -, & -pos -, - -1685 -pTmpSMsg - +ð -pos -; - -1686 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1688 - `´štf -("sip_alg_process; No valid VIA field\n"); - -1689  -NULL -; - -1692 -pSMsg - = - -1693 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1694 -addrPÜtL’ -, - -1695 & -diffL’ -, -modIp -, 0, - -1696 -ADDRESS_PORT_STRING -); - -1697 * -diffModSL’ - = -diffL’ -; - -1700 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_FROM -, & -pos -, 0) - -1701 =ð -TRUE -) { - -1702 -pSMsg - +ð -pos -; - -1704 -pTmpSMsg - = -pSMsg -; - -1706 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1707 & -pos -, 0); - -1708 -pTmpSMsg - +ð -pos -; - -1709 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -1711 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1713 -pSMsg - +ð -pos - + 1; - -1715 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1717 -´štf - - -1719  -NULL -; - -1722 -pSMsg - = - -1723 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1724 -addrPÜtL’ -, - -1725 & -diffL’ -, -modIp -, - -1726 -modL4PÜt -, - -1727 -ADDRESS_PORT_STRING -); - -1729 * -diffModSL’ - +ð -diffL’ -; - -1731 } ià( -pkt_dœeùiÚ - =ð -PRIVATE - - -1732 && -msgTy³ - =ð -SIP_ALG_200_OK_BYE_MSGTYPE -) { - -1736 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_VIA -, & -pos -, 0) - -1737 =ð -TRUE -) { - -1739 -pSMsg - += - -1740 ( -pos - + - `¡¾’ -( -SIP_ALG_VIA -) + - -1741 -SIP_ALG_VIA_FIELD_IPADDR -); - -1742 -pTmpSMsg - = -pSMsg -; - -1744 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, - -1745 -SIP_ALG_SEMICOLON -, & -pos -, - -1747 -pTmpSMsg - +ð -pos -; - -1748 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1750 - `´štf -("sip_alg_process; No valid VIA field\n"); - -1751  -NULL -; - -1754 -pSMsg - = - -1755 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1756 -addrPÜtL’ -, - -1757 & -diffL’ -, -modIp -, 0, - -1758 -ADDRESS_PORT_STRING -); - -1759 * -diffModSL’ - = -diffL’ -; - -1762 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, - -1763 -SIP_ALG_FROM -, & -pos -, 0è=ð -TRUE -) { - -1764 -pSMsg - +ð -pos -; - -1766 -pTmpSMsg - = -pSMsg -; - -1768 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1769 & -pos -, 0); - -1770 -pTmpSMsg - +ð -pos -; - -1771 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -1773 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1775 -pSMsg - +ð -pos - + 1; - -1777 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1779 -´štf - - -1781  -NULL -; - -1784 -pSMsg - = - -1785 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1786 -addrPÜtL’ -, - -1787 & -diffL’ -, -modIp -, - -1788 -modL4PÜt -, - -1789 -ADDRESS_PORT_STRING -); - -1791 * -diffModSL’ - +ð -diffL’ -; - -1793 } ià( -pkt_dœeùiÚ - =ð -PUBLIC - - -1794 && -msgTy³ - =ð -SIP_ALG_200_OK_BYE_MSGTYPE -) { - -1796 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_TO -, & -pos -, 0) - -1797 =ð -TRUE -) { - -1798 -pSMsg - +ð -pos -; - -1800 -pTmpSMsg - = -pSMsg -; - -1802 - `ÇtSAlgMsgF›ldPos -( -pTmpSMsg -, -SIP_ALG_GREAT -, - -1803 & -pos -, 0); - -1804 -pTmpSMsg - +ð -pos -; - -1805 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -1807 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1809 -pSMsg - +ð -pos - + 1; - -1811 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1813 -´štf - - -1815  -NULL -; - -1818 -pSMsg - = - `ÇtSAlgModifyPaylßdAddrPÜt -(pSipMsg, - -1819 & -pSMsgEnd -, - -1820 -addrPÜtL’ -, - -1821 & -diffL’ -, -modIp -, - -1822 -modL4PÜt -, - -1823 -ADDRESS_PORT_STRING -); - -1825 * -diffModSL’ - = -diffL’ -; - -1829 ià( -ÇtSAlgMsgF›ldPos - - -1830 ( -pSMsg -, -SIP_ALG_CONTACT -, & -pos -, 0è=ð -TRUE -) { - -1831 -pSMsg - +ð -pos -; - -1833 -pTmpSMsg - = -pSMsg -; - -1834 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -1835 -SIP_ALG_CRLF -, & -pos -, - -1837 -pTmpSMsg - +ð -pos -; - -1839 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AT -, & -pos -, - -1841 -pSMsg - +ð -pos - + 1; - -1842 -addrPÜtL’ - = -pTmpSMsg - - -pSMsg -; - -1844 - `´štf -("sip_alg_process; " - -1846  -NULL -; - -1849 -pSMsg - = - -1850 - `ÇtSAlgModifyPaylßdAddrPÜt -( -pSMsg -, & -pSMsgEnd -, - -1851 -addrPÜtL’ -, - -1852 & -diffL’ -, -modIp -, - -1853 -modL4PÜt -, - -1854 -ADDRESS_PORT_STRING -); - -1856 * -diffModSL’ - +ð -diffL’ -; - -1860 -SMsgAdvªû2 -: - -1862 ià( -ÿÎ_dœeùiÚ - =ð -SIP_CALL_OUTGOING -) { - -1864 ià( -pkt_dœeùiÚ - =ð -PRIVATE -) { - -1865 ià( -msgTy³ - =ð -SIP_ALG_200_OK_BYE_MSGTYPE -) { - -1866 ià( -»move_s_®g_’Œy - - -1867 ( - `¹e_bsw­32 -( -_h --> -¤c_addr -), - -1868 - `¹e_bsw­16 -( -udp_h --> -¤c_pÜt -)) < 0) - -1869 - `´štf -("removesipalgentry failed: " - -1871 -_h --> -¤c_addr -, -udp_h --> -¤c_pÜt -); - -1875 ià( -pkt_dœeùiÚ - =ð -PUBLIC -) { - -1876 ià( -msgTy³ - =ð -SIP_ALG_200_OK_BYE_MSGTYPE -) { - -1877 ià( - `»move_s_®g_’Œy -( -pubIp -, -pubL4PÜt -) < 0) - -1878 - `´štf -("removesipalgentry failed: " - -1880 -pubIp -, -pubL4PÜt -); - -1886 ià(( -sdpMsgL’ - > 0è&& ( -sdpD©aL’ - > 0)) { - -1887 -pSMsg - = -pS¹SMsg -; - -1888 * -tmpSdpL’ - = -NULL -; - -1890 -sdpMsgL’ - +ð -sdpD©aL’ -; - -1891 -tmpSdpL’ - = - `™ß -( -sdpMsgL’ -); - -1892  -tmpSŒL’ - = - `¡¾’ -( -tmpSdpL’ -); - -1895 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_CONTENT_LEN -, & -pos -, 0) - -1896 =ð -TRUE -) { - -1897 -pSMsg - +ð( -pos - + - `TAG_TO_DATAPOS -( -SIP_ALG_CONTENT_LEN -)); - -1898 - `SKIP_SPACES -( -pSMsg -); - -1899 -pTmpSMsg - = -pSMsg -; - -1900 - `ÇtSAlgMsgF›ldPosFšdC¾f -( -pTmpSMsg -, - -1901 -SIP_ALG_DOUBLE_CRLF -, & -pos -, - -1903 -pTmpSMsg - +ð -pos -; - -1904 - `SKIP_SPACES -( -pSMsg -); - -1905 -diffL’ - = -pTmpSMsg - - -pSMsg -; - -1906 - `ÇtSAlgAdju¡Msg -( -pSMsg -, & -pSMsgEnd -, -tmpSŒL’ -, - -1907 -diffL’ -); - -1908 - `¡ºýy -( -pSMsg -, -tmpSdpL’ -, -tmpSŒL’ -); - -1910 - `´štf -("sip_alg_process: Invalid Content Length\n"); - -1911  -NULL -; - -1915 -sAlgProûssEx™ -: - -1917  -pS¹SMsg -; - -1918 - } -} - -1924  - $ÇtSAlgG‘AudioPÜts -( -¹e_mbuf - * -pkt -, -ušt16_t - * -¹pPÜt -, - -1925 -ušt16_t - * -¹ýPÜt -) - -1927  -v4_hdr - * -_h -; - -1928  -‘h”_hdr - * -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -, ether_hdr *); - -1929  -udp_hdr - * -udp_h -; - -1930 * -pSMsg -, * -pEndPŒ -; - -1931  -pos -, -sdpMsgL’ -; - -1933 -_h - = ( -v4_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -1934 -udp_h - = ( -udp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -1935 -pSMsg - = ((*) -udp_h - + ( -udp_hdr -)); - -1938 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_CONTYPE -, & -pos -, 0è=ð -FALSE -) - -1941 -pSMsg - +ð( -pos - + - `TAG_TO_DATAPOS -( -SIP_ALG_CONTYPE -)); - -1942 - `SKIP_SPACES -( -pSMsg -); - -1945 ià(! - `IS_STRING_SAME -( -pSMsg -, -SIP_ALG_APPSDP -)) { - -1946 - `´štf -("sip_alg_getAudioPort Invalid Contentype\n"); - -1951 - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_CONTENT_LEN -, & -pos -, 0); - -1952 -pSMsg - +ð( -pos - + - `TAG_TO_DATAPOS -( -SIP_ALG_CONTENT_LEN -)); - -1953 - `SKIP_SPACES -( -pSMsg -); - -1954 -sdpMsgL’ - = - `¡¹Þ -( -pSMsg -, & -pEndPŒ -, 10); - -1955 ià(! -sdpMsgL’ -) { - -1956 - `´štf -("sipAlggetAudioport - sdpMsgLen is 0\n"); - -1961 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_AUDIO -, & -pos -, 0) == - -1962 -TRUE -) { - -1963 -pSMsg - +ð( -pos - + - `TAG_TO_DATAPOS -( -SIP_ALG_AUDIO -)); - -1964 - `SKIP_SPACES -( -pSMsg -); - -1965 * -¹pPÜt - = - `¡¹Þ -( -pSMsg -, & -pEndPŒ -, 10); - -1967 * -¹pPÜt - = 0; - -1970 ià( - `ÇtSAlgMsgF›ldPos -( -pSMsg -, -SIP_ALG_RTCP -, & -pos -, 0) == - -1971 -TRUE -) { - -1972 -pSMsg - +ð( -pos - + - `TAG_TO_DATAPOS -( -SIP_ALG_RTCP -)); - -1973 - `SKIP_SPACES -( -pSMsg -); - -1974 * -¹ýPÜt - = - `¡¹Þ -( -pSMsg -, & -pEndPŒ -, 10); - -1976 * -¹ýPÜt - = 0; - -1978 ià( -ALG_DEBUG -) - -1979 - `´štf -(" sipAlgGetAudioPort;„tpPort %d,„tcpPort %d\n", - -1980 * -¹pPÜt -, * -¹ýPÜt -); - -1982 - } -} - -1986 - $ÇtSAlgMsgF›ldPosFšdS·û -(* -pD©a -, cÚ¡ * -pIdSŒ -, * -pPos -, - -1987  -£¬chL’ -) - -1989 * -pS¹ - = -pD©a -; - -1990  -i - = 0; - -1992 ià(! -pIdSŒ -) - -1993  -FALSE -; - -1995 ià(! -£¬chL’ -) - -1996 -£¬chL’ - = 1500; - -1998  -TRUE -) { - -1999 * -pD©a - != ' ') { - -2000 -pD©a -++; - -2001 -i -++; - -2004 ià( -i - > -£¬chL’ -) { - -2005 - `´štf -("SIP ALG Find Field Pos: " - -2007 -£¬chL’ -); - -2008 * -pPos - = -£¬chL’ -; - -2009  -FALSE -; - -2012 ià( - `bcmp -( -pD©a -, -pIdSŒ -, - `¡¾’ -(pIdStr)) == 0) - -2016 * -pPos - = -pD©a - - -pS¹ -; - -2017  -TRUE -; - -2018 - } -} - -2021  - $ÇtSAlgMsgF›ldPosFšdC¾f -( - -2022 * -pD©a -, - -2023 cÚ¡ * -pIdSŒ -, - -2024 * -pPos -, - -2025  -£¬chL’ -) - -2027 * -pS¹ - = -pD©a -; - -2028  -i - = 0; - -2030 ià(! -pIdSŒ -) - -2031  -FALSE -; - -2033 ià(! -£¬chL’ -) - -2034 -£¬chL’ - = 1500; - -2036  -TRUE -) { - -2037 * -pD©a - != '\r' && *(pData + 1) != '\n') { - -2038 -pD©a -++; - -2039 -i -++; - -2041 ià( -i - >ð -£¬chL’ -) { - -2042 - `´štf -("SIP ALG Find Field Pos: " - -2044 -£¬chL’ -); - -2045 * -pPos - = -£¬chL’ -; - -2046  -FALSE -; - -2049 ià( - `bcmp -( -pD©a -, -pIdSŒ -, - `¡¾’ -(pIdStr)) == 0) - -2053 * -pPos - = -pD©a - - -pS¹ -; - -2054  -TRUE -; - -2055 - } -} - -2058  - $ÇtSAlgMsgF›ldPos -(* -pD©a -, - -2059 cÚ¡ * -pIdSŒ -, - -2060 * -pPos -, - -2061  -£¬chL’ -) - -2063 * -pS¹ - = -pD©a -; - -2064  -i - = 0, -j - = 0; - -2066 ià(! -pIdSŒ -) - -2067  -FALSE -; - -2069 ià(! -£¬chL’ -) - -2070 -£¬chL’ - = 1500; - -2072  -TRUE -) { - -2073 * -pD©a - != '\r' && *(pData + 1) != '\n') { - -2076 * -pD©a - == ' ') { - -2077 -pD©a -++; - -2078 -j -++; - -2081 ià(* -pD©a - == '\r' && *(pData + 1) == '\n') - -2084 ià( - `bcmp -( -pD©a -, -pIdSŒ -, - `¡¾’ -(pIdStr)) == 0) { - -2085 * -pPos - = -pD©a - - -pS¹ -; - -2086  -TRUE -; - -2089 -pD©a -++; - -2090 -j -++; - -2092 ià( -j - >ð -£¬chL’ -) { - -2093 * -pPos - = -pD©a - - -pS¹ -; - -2094  -FALSE -; - -2101  -i - = 0; i < ( -£¬chL’ - - 1); i++) { - -2102 ià( -pD©a -[ -i -] == '\r') - -2103 ià( -pD©a -[ -i - + 1] == '\n') - -2107 ià( -i - > -£¬chL’ -) { - -2108 - `´štf -("SIP ALG Find Field Pos: " - -2110 -£¬chL’ -); - -2111 * -pPos - = -£¬chL’ -; - -2112  -FALSE -; - -2115 -pD©a - +ð -i - + 2; - -2116 -£¬chL’ - -ð( -i - + 2); - -2118 ià(( -pD©a -[0] == '\r' &&…Data[1] == '\n') || - -2119 ( -£¬chL’ - <= 0)) { - -2122 ià( -£¬chL’ - > 0) { - -2123 -pD©a - += 2; - -2127 * -pPos - = -pD©a - - -pS¹ -; - -2129  -FALSE -; - -2133 * -pPos - = -pD©a - - -pS¹ -; - -2134  -TRUE -; - -2135 - } -} - -2138 * - $g‘SC®lIdSŒ -(* -pMsg -) - -2140 * -pS¹ -; - -2141 * -pC®lId - = -NULL -; - -2142  -i -; - -2144 -pS¹ - = -pMsg -; - -2145  -i - = 0; i < 200; i++) { - -2146 ià(* -pMsg - != '\r') - -2147 -pMsg -++; - -2151 ià( -i - >= 200) { - -2152 - `´štf -("SIP_ALG: getCallid wrong string format\n"); - -2153  -NULL -; - -2156 -size_t - -size - = - `RTE_CACHE_LINE_ROUNDUP -( -pMsg - - -pS¹ - + 1); - -2158 -pC®lId - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -2159 ià(! -pC®lId -) - -2160  -NULL -; - -2162 - `bcÝy -( -pS¹ -, -pC®lId -, -pMsg - -…Start); - -2163 *( -pC®lId - + ( -pMsg - - -pS¹ -)) = 0; - -2165 ià( -ALG_DEBUG -) - -2166 - `´štf -("%s: %s\n", -__func__ -, -pC®lId -); - -2168  -pC®lId -; - -2169 - } -} - -2171 * - $ÇtSAlgModifyPaylßdAddrPÜt -( - -2172 * -pSMsg -, ** -pSMsgEnd -, - -2173 -ušt32_t - -ÞdSŒL’ -, ušt32_ˆ* -diffL’ -, - -2174 -ušt32_t - -modIp -, -ušt16_t - -modPÜt -, ušt32_ˆ -ty³ -) - -2176  -add½Üt -[ -MAX_ADDR_PORT_SIZE -]; - -2177  -š_addr - -Addr -; - -2178 -ušt32_t - -ÃwSŒL’ - = 0; - -2179 * -tmpPÜt - = -NULL -; - -2181 ià( -modPÜt - != 0) - -2182 -tmpPÜt - = - `™ß -( -modPÜt -); - -2184 * -diffL’ - = 0; - -2185 ià( -ty³ - =ð -ADDRESS_PORT_STRING -) { - -2186 -Addr -. -s_addr - = - `htÚl -( -modIp -); - -2187 * -tmpAddr - = - `š‘_Áß -( -Addr -); - -2189 ià( -modPÜt - != 0) - -2190 - `¥rštf -( -add½Üt -, "%s:%s", -tmpAddr -, -tmpPÜt -); - -2192 - `¥rštf -( -add½Üt -, "%s", -tmpAddr -); - -2194 -ÃwSŒL’ - = - `¡¾’ -( -add½Üt -); - -2196 ià( - `abs -( -ÃwSŒL’ - - -ÞdSŒL’ -) > 0) { - -2201 - `ÇtSAlgAdju¡Msg -( -pSMsg -, -pSMsgEnd -, - -2202 -ÃwSŒL’ -, -ÞdSŒL’ -); - -2206 - `¡ºýy -( -pSMsg -, -add½Üt -, - `¡¾’ -(addrport)); - -2207 } ià( -ty³ - =ð -PORT_STRING -) { - -2208 if( -tmpPÜt -) - -2209 -ÃwSŒL’ - = - `¡¾’ -( -tmpPÜt -); - -2211 ià( - `abs -( -ÃwSŒL’ - - -ÞdSŒL’ -) > 0) { - -2216 - `ÇtSAlgAdju¡Msg -( -pSMsg -, -pSMsgEnd -, - -2217 -ÃwSŒL’ -, -ÞdSŒL’ -); - -2221 if( -tmpPÜt -) - -2222 - `¡ºýy -( -pSMsg -, -tmpPÜt -, - `¡¾’ -(tmpPort)); - -2225 ià( -ÃwSŒL’ - > -ÞdSŒL’ -) - -2226 * -diffL’ - = -ÃwSŒL’ - - -ÞdSŒL’ -; - -2228  -pSMsg -; - -2229 - } -} - -2231 * - $ÇtSAlgAdju¡Msg -(* -pSMsg -, ** -pSMsgEnd -, - -2232 -ušt32_t - -ÃwSŒL’ -, ušt32_ˆ -ÞdSŒL’ -) - -2234  -MsgBufãr -[ -MAX_SIP_UDP_MSG_SIZE -]; - -2236 ià( -ÃwSŒL’ - > -ÞdSŒL’ -) { - -2237 -pSMsg - +ð -ÞdSŒL’ -; - -2238  -msgL’ - = * -pSMsgEnd - - -pSMsg -; - -2240 - `¡ºýy -( -MsgBufãr -, -pSMsg -, -msgL’ -); - -2241 -pSMsg - +ð( -ÃwSŒL’ - - -ÞdSŒL’ -); - -2242 - `¡ºýy -( -pSMsg -, -MsgBufãr -, -msgL’ -); - -2244 ià( -ALG_DEBUG -) - -2245 - `´štf -("ÇtSAlgAdju¡Msg: %u\n", -msgL’ -); - -2248 * -pSMsgEnd - +ð( -ÃwSŒL’ - - -ÞdSŒL’ -); - -2251 - `mem£t -( -pSMsg -, ' ', -ÞdSŒL’ -); - -2254  -pSMsg -; - -2255 - } -} - - @VIL/alg/lib_sip_alg.h - -17 #iâdeà -__INCLUDE_LIB_ALG_H__ - - -18  - #__INCLUDE_LIB_ALG_H__ - - - ) - -20  - ~"¹e_‘h”.h -" - -22 -ušt16_t - - gs_£ssiÚ_numb” -; - -23  - #IS_STRING_SAME -( -pSŒ -, -¡rId -è( - `bcmp -(ÕSŒ), sŒId, - `¡¾’ -(¡rId)è=ð0) - - ) - -24  - #TAG_TO_DATAPOS -( -¡r -è( - `¡¾’ -(¡rè+ 1) - - ) - -25  - #SKIP_SPACES -( -pSŒ -) \ - -27 *(*)( -pSŒ -) == ' ') \ - -28 (*)( -pSŒ -)++; \ - -29 } - - ) - -31 - epkt_dœ - { - mPRIVATE -, - mPUBLIC -}; - -34 - es_®g_ÿÎ_dœeùiÚ - { - -35 - mSIP_CALL_INCOMING -, - -36 - mSIP_CALL_OUTGOING - - -40 - es_®g_pÜt_ty³ - { - -41 - mSIP_UDP -, - -42 - mSIP_RTP -, - -43 - mSIP_RTCP - - -50  - ss_®g_key - { - -55 -ušt32_t - - m_add»ss -; - -56 -ušt16_t - - ml4pÜt -; - -57 -ušt8_t - - mfžËr1 -; - -58 -ušt8_t - - mfžËr2 -; - -65  - ss_®g_bË_’Œy - { - -66 -ušt32_t - - m_add»ss -; - -71 -ušt16_t - - ml4pÜt -; - -72 -ušt8_t - - ms_®g_ÿÎ_dœeùiÚ -; - -74 -ušt8_t - - ms_®g_ÿÎ_id -[100]; - -75 -ušt8_t - - ml4pÜt_ty³ -; - -76 -ušt8_t - - mfžËr1 -; - -77 -ušt16_t - - mfžËr2 -; - -78 -ušt32_t - - mfžËr3 -; - -79 } - g__¹e_ÿche_®igÃd -; - -94  -lib_s_®g_š™ -(); - -117  -s_®g_dpi -( -¹e_mbuf - * -pkt -, -pkt_dœ - -pkt_dœeùiÚ -, - -118 -ušt32_t - -modIp -, -ušt16_t - -modL4PÜt -, - -119 -ušt32_t - -pubIp -, -ušt16_t - -pubL4PÜt -, - -120 -ušt16_t - -modRPÜt -, ušt16_ˆ -modRtýPÜt -); - -133  -ÇtSAlgG‘AudioPÜts -( - -134  -¹e_mbuf - * -pkt -, - -135 -ušt16_t - * -¹pPÜt -, - -136 -ušt16_t - * -¹ý_pÜt -); - -137  -ÇtSAlgMsgF›ldPos -( - -138 * -pD©a -, - -139 cÚ¡ * -pIdSŒ -, - -140 * -pos -, - -141  -£¬chL’ -); - -142  -ÇtSAlgMsgF›ldPosFšdC¾f -( - -143 * -pD©a -, - -144 cÚ¡ * -pIdSŒ -, - -145 * -pPos -, - -146  -£¬chL’ -); - -147  -ÇtSAlgMsgF›ldPosFšdS·û -( - -148 * -pD©a -, - -149 cÚ¡ * -pIdSŒ -, - -150 * -pPos -, - -151  -£¬chL’ -); - -152  -»move_s_®g_’Œy -( - -153 -ušt32_t - -addr -, - -154 -ušt16_t - -pÜtid -); - - @VIL/conntrack/rte_cnxn_tracking.c - -17  - ~<¹e_‘h”.h -> - -18  - ~<¹e_´eãtch.h -> - -19  - ~<¹e_cyþes.h -> - -20  - ~<¹e_m®loc.h -> - -21  - ~<¹e_memýy.h -> - -22  - ~<¹e_tim”.h -> - -23  - ~<¹e_¥šlock.h -> - -24  - ~"¹e_úxn_Œackšg.h -" - -25  - ~"¹e_ù_tý.h -" - -27  - #CNXN_TRX_DEBUG - 0 - - ) - -28  - #TESTING_TIMERS - 0 - - ) - -29  - #RTE_CT_TIMER_EXPIRED_DUMP - 0 - - ) - -31  - #META_DATA_OFFSET - 128 - - ) - -32  - #ETHERNET_START - ( -META_DATA_OFFSET - + -RTE_PKTMBUF_HEADROOM -) - - ) - -33  - #ETH_HDR_SIZE - 14 - - ) - -34  - #IP_START - ( -ETHERNET_START - + -ETH_HDR_SIZE -) - - ) - -35  - #PROTOCOL_START - ( -IP_START - + 9) - - ) - -36  - #SRC_ADDR_START - ( -IP_START - + 12) - - ) - -37  - #TCP_START - ( -IP_START - + 20) - - ) - -40  - #PROTOCOL_START_IPV6 - ( -IP_START - + 6) - - ) - -41  - #SRC_ADDR_START_IPV6 - ( -IP_START - + 8) - - ) - -42  - #TCP_START_IPV6 - ( -IP_START - + 40) - - ) - -44  - #TCP_PROTOCOL - 6 - - ) - -45  - #UDP_PROTOCOL - 17 - - ) - -46  - #TCP_FW_IPV4_KEY_SIZE - 16 - - ) - -48  - #TCP_FW_IPV6_KEY_SIZE - 40 - - ) - -50  - #IPv4_HEADER_SIZE - 20 - - ) - -51  - #IPv6_HEADER_SIZE - 40 - - ) - -53  - #IP_VERSION_4 - 4 - - ) - -54  - #IP_VERSION_6 - 6 - - ) - -57 -¹e_ù_úxn_Œack”_b©ch_lookup_basic_ty³ -( - -58  -¹e_ù_úxn_Œack” - * -ù -, - -59  -¹e_mbuf - ** -pkts -, - -60 -ušt64_t - * -pkts_mask -, - -61 -ušt64_t - -no_Ãw_úxn_mask -, - -62 -ušt64_t - * -»¶y_pkt_mask -, - -63 -ušt64_t - * -hijack_mask -, - -64 -ušt8_t - -_hdr_size_by‹s -); - -74 - $¹e_ù_úxn_´št_pkt -( -¹e_mbuf - * -pkt -, -ušt8_t - -ty³ -) - -76  -i -; - -77 -ušt8_t - * -rd - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -IP_START -); - -79 - `´štf -("\n"); - -80 - `´štf -("IP‡nd TCP/UDP headers:\n"); - -82 ià( -ty³ - =ð -IP_VERSION_4 -) { - -83  -i - = 0; i < 40; i++) { - -84 - `´štf -("%02x ", -rd -[ -i -]); - -85 ià(( -i - & 3) == 3) - -86 - `´štf -("\n"); - -88 - `´štf -("\n"); - -91 ià( -ty³ - =ð -IP_VERSION_6 -) { - -92  -i - = 0; i < 60; i++) { - -93 - `´štf -("%02x ", -rd -[ -i -]); - -94 ià(( -i - & 3) == 3) - -95 - `´štf -("\n"); - -97 - `´štf -("\n"); - -100 - } -} - -103 - $¹e_úxn__ty³ -( -ušt8_t - * -ty³ -,  -¹e_mbuf - * -pkt -) - -106  -_hdr_size_by‹s - = - `¹e_ù_g‘_IP_hdr_size -( -pkt -); - -108 ià( -_hdr_size_by‹s - =ð -IPv4_HEADER_SIZE -) - -109 * -ty³ - = -IP_VERSION_4 -; - -111 ià( -_hdr_size_by‹s - =ð -IPv6_HEADER_SIZE -) - -112 * -ty³ - = -IP_VERSION_6 -; - -113 - } -} - -116 - $¹e_ù_´št_hashkey -( -ušt32_t - * -key -) - -118 - `´štf -("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št8_t - - -134 - $¹e_ù_ü—‹_úxn_hashkey -( - -135 -ušt32_t - * -¤c_addr -, - -136 -ušt32_t - * -d¡_addr -, - -137 -ušt16_t - -¤c_pÜt -, - -138 -ušt16_t - -d¡_pÜt -, - -139 -ušt8_t - -´Ùo -, - -140 -ušt32_t - * -key -, - -141 -ušt8_t - -ty³ -) - -143 -ušt8_t - -hash_Üd”_Üigš®_dœeùiÚ - = 1; - -145 -key -[9] = -´Ùo -; - -147 ià( -ty³ - =ð -IP_VERSION_4 -) { - -148 -ušt32_t - -sourû - = * -¤c_addr -; - -149 -ušt32_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”_Üigš®_dœeùiÚ - = 0; - -166 ià( -ty³ - =ð -IP_VERSION_6 -) { - -167  -_cmp - = - `memcmp -( -¤c_addr -, -d¡_addr -, 16); - -168 -ušt32_t - * -lo_addr -; - -169 -ušt32_t - * -hi_addr -; - -171 ià(( -_cmp - < 0è|| ((_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”_Üigš®_dœeù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_ù_´št_hashkey -( -key -); - -194  -hash_Üd”_Üigš®_dœeùiÚ -; - -195 - } -} - -199 - $¹e_ù_g‘_IP_hdr_size -( -¹e_mbuf - * -pkt -) - -207 -ušt8_t - -hdr_chk - = - `RTE_MBUF_METADATA_UINT8 -( -pkt -, -IP_START -); - -209 -hdr_chk - = hdr_chk >> 4; - -211 ià( -hdr_chk - =ð -IP_VERSION_4 -) - -212  -IPv4_HEADER_SIZE -; - -214 ià( -hdr_chk - =ð -IP_VERSION_6 -) - -215  -IPv6_HEADER_SIZE -; - -224 - } -} - -227 - $¹e_ù_£t_tim”_fÜ_Ãw_úxn -( - -228  -¹e_ù_úxn_Œack” - * -ù -, - -229  -¹e_ù_úxn_d©a - * -cd -) - -231 -cd --> -¡©e_u£d_fÜ_tim” - = -RTE_CT_TCP_NONE -; - -232 - `¹e_ù_£t_úxn_tim”_fÜ_tý -( -ù -, -cd -, -RTE_CT_TCP_SYN_SENT -); - -233 - } -} - -264  -šlše -  - -265 - $¹e_ù_»memb”_Ãw_cÚÃùiÚ -( - -266  -¹e_ù_úxn_Œack” - * -ù -, - -267  -¹e_ù_úxn_d©a - * -’Œy -) - -269 -ù --> -ϋ¡_cÚÃùiÚ -++; - -270 -ù --> -Ãw_cÚÃùiÚs -[ù-> -ϋ¡_cÚÃùiÚ -] = -’Œy -; - -271 - } -} - -273  -¹e_ù_úxn_d©a - * - -274 - $¹e_ù_£¬ch_Ãw_cÚÃùiÚs -( -¹e_ù_úxn_Œack” - * -ù -, -ušt32_t - * -key -) - -276  -i -; - -278  -i - = 0; i <ð -ù --> -ϋ¡_cÚÃùiÚ -; i++) { - -279 -ušt32_t - * -úxn_key - = -ù --> -Ãw_cÚÃùiÚs -[ -i -]-> -key -; - -280  -key_cmp - = - `memcmp -( -úxn_key -, -key -, - -281 ( -ù --> -Ãw_cÚÃùiÚs -[ -i -]-> -key -)); - -283 ià( -key_cmp - == 0) - -284  -ù --> -Ãw_cÚÃùiÚs -[ -i -]; - -286  -NULL -; - -287 - } -} - -289  -šlše -  - $¹e_ù_fÜg‘_Ãw_cÚÃùiÚs -( -¹e_ù_úxn_Œack” - * -ù -) - -291 -ù --> -ϋ¡_cÚÃùiÚ - = -1; - -292 - } -} - -297  -¹e_ù_·ck‘_aùiÚ - - -298 - $¹e_ù_hªdË_tý_lookup -( - -299  -¹e_ù_úxn_Œack” - * -ù -, - -300  -¹e_mbuf - * -·ck‘ -, - -301 -ušt8_t - -pkt_num -, - -302 -ušt8_t - -key_is_þ›Á_Üd” -, - -303 -ušt32_t - * -key -, - -304  -hash_bË_’Œy -, - -305  -no_Ãw_úxn -, - -306 -ušt8_t - -_hdr_size_by‹s -) - -308  -¹e_ù_úxn_d©a - -Ãw_úxn_d©a -; - -310 - `mem£t -(& -Ãw_úxn_d©a -, 0, ( -¹e_ù_úxn_d©a -)); - -311 -¹e_ù_·ck‘_aùiÚ - -·ck‘_aùiÚ -; - -313 #ifdeà -CT_CGNAT - - -314 -št32_t - -pos™iÚ - = -hash_bË_’Œy -; - -315 -ù --> -pos™iÚs -[ -pkt_num -] = -pos™iÚ -; - -319 ià( -hash_bË_’Œy - >= 0) { - -325  -¹e_ù_úxn_d©a - * -’Œy - = - -326 & -ù --> -hash_bË_’Œ›s -[ -hash_bË_’Œy -]; - -328 -·ck‘_aùiÚ - = - `¹e_ù_v”ify_tý_·ck‘ -( -ù -, -’Œy -, -·ck‘ -, - -329 -key_is_þ›Á_Üd” -, -_hdr_size_by‹s -); - -331  -·ck‘_aùiÚ -) { - -333  -RTE_CT_FORWARD_PACKET -: - -334 -’Œy --> -couÁ”s -. -·ck‘s_fÜw¬ded -++; - -337  -RTE_CT_DROP_PACKET -: - -338 -’Œy --> -couÁ”s -. -·ck‘s_drݳd -++; - -339  -RTE_CT_DROP_PACKET -; - -341  -RTE_CT_REOPEN_CNXN_AND_FORWARD_PACKET -: - -348 ià( - `¹e_ù_tý_Ãw_cÚÃùiÚ -( -ù -, & -Ãw_úxn_d©a -, - -349 -·ck‘ -, 0, -_hdr_size_by‹s -) != - -350 -RTE_CT_DROP_PACKET -) { - -351 - `¹e_memýy -(& -’Œy --> -ù_´ÙocÞ -. -tý_ù_d©a -, - -352 & -Ãw_úxn_d©a -. -ù_´ÙocÞ -. -tý_ù_d©a -, - -353 ( -Ãw_úxn_d©a -. -ù_´ÙocÞ -. -tý_ù_d©a -)); - -354 - `¹e_ù_£t_tim”_fÜ_Ãw_úxn -( -ù -, -’Œy -); - -355 ià( -ù --> -couÁ”s --> -£ssiÚs_»aùiv©ed - > 0) - -356 -ù --> -couÁ”s --> -£ssiÚs_»aùiv©ed ---; - -361  -RTE_CT_SEND_SERVER_SYN -: - -362 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -364  -RTE_CT_SEND_SERVER_SYN -; - -366  -RTE_CT_SEND_SERVER_ACK -: - -367 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -369  -RTE_CT_SEND_SERVER_ACK -; - -371  -RTE_CT_HIJACK -: - -372 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -376  -RTE_CT_HIJACK -; - -378  -RTE_CT_DESTROY_CNXN_AND_FORWARD_PACKET -: - -396 ià( - `¹e_hash_d–_key -( -ù --> -rhash -, -’Œy --> -key -) >= 0) { - -407 -ù --> -couÁ”s --> -£ssiÚs_þo£d -++; - -408 ià( -ù --> -couÁ”s --> -cu¼’t_aùive_£ssiÚs - > 0) - -409 -ù --> -couÁ”s --> -cu¼’t_aùive_£ssiÚs ---; - -410 - `¹e_ù_ÿnûl_úxn_tim” -( -’Œy -); - -412 -’Œy --> -couÁ”s -. -·ck‘s_fÜw¬ded -++; - -420  -¹e_ù_úxn_d©a - * -Ãw_hash_’Œy -; - -422 ià( -no_Ãw_úxn -) { - -423 -ù --> -couÁ”s --> -pkts_drÝ_šv®id_cÚn -++; - -424  -RTE_CT_DROP_PACKET -; - -427 -·ck‘_aùiÚ - = - `¹e_ù_tý_Ãw_cÚÃùiÚ -( -ù -, & -Ãw_úxn_d©a -, - -428 -·ck‘ -, -ù --> -misc_ÝtiÚs -. -syÅroxy_’abËd -, - -429 -_hdr_size_by‹s -); - -431 ià( - `uÆik–y -( -·ck‘_aùiÚ - =ð -RTE_CT_DROP_PACKET -)) { - -432 -ù --> -couÁ”s --> -pkts_drÝ_šv®id_cÚn -++; - -433  -RTE_CT_DROP_PACKET -; - -437 -št32_t - -pos™iÚ - = - `¹e_hash_add_key -( -ù --> -rhash -, -key -); - -438 ià( -pos™iÚ - < 0) { - -439 -´štf - - -441 -pos™iÚ -, -pkt_num -); - -442  -RTE_CT_DROP_PACKET -; - -444 #ifdeà -CT_CGNAT - - -445 -ù --> -pos™iÚs -[ -pkt_num -] = -pos™iÚ -; - -447 -Ãw_hash_’Œy - = & -ù --> -hash_bË_’Œ›s -[ -pos™iÚ -]; - -451 - `memýy -( -Ãw_úxn_d©a -. -key -, key, (new_cnxn_data.key)); - -452 -Ãw_úxn_d©a -. -key_is_þ›Á_Üd” - = key_is_client_order; - -453 -Ãw_úxn_d©a -. -´ÙocÞ - = -TCP_PROTOCOL -; - -454 - `¹e_úxn__ty³ -(& -Ãw_úxn_d©a -. -ty³ -, -·ck‘ -); - -455 - `¹e_memýy -( -Ãw_hash_’Œy -, & -Ãw_úxn_d©a -, - -456 ( -¹e_ù_úxn_d©a -)); - -457 -Ãw_hash_’Œy --> -couÁ”s -. -·ck‘s_fÜw¬ded - = 1; - -458 -Ãw_hash_’Œy --> -couÁ”s -. -·ck‘s_drݳd - = 0; - -459 -ù --> -couÁ”s --> -cu¼’t_aùive_£ssiÚs -++; - -460 -ù --> -couÁ”s --> -£ssiÚs_aùiv©ed -++; - -462 ià( -·ck‘_aùiÚ - =ð -RTE_CT_SEND_CLIENT_SYNACK -) { - -466 - `¹e_¥_·r£_ÝtiÚs -( -·ck‘ -, -Ãw_hash_’Œy -); - -473 - `¹e_¥_cvt_to_¥ooãd_þ›Á_syÇck -( -Ãw_hash_’Œy -, - -474 -·ck‘ -); - -481 -·ck‘_aùiÚ - = - `¹e_ù_v”ify_tý_·ck‘ -( -ù -, - -482 -Ãw_hash_’Œy -, -·ck‘ -, - -483 ! -key_is_þ›Á_Üd” -, - -484 -_hdr_size_by‹s -); - -486 ià( - `uÆik–y -( -·ck‘_aùiÚ - !ð -RTE_CT_FORWARD_PACKET -)) { - -488 - `´štf -("Seriousƒrror in synproxy generating "); - -489 - `´štf -("SYN/ACK\n"); - -490  -RTE_CT_DROP_PACKET -; - -492 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -494  -RTE_CT_SEND_CLIENT_SYNACK -; - -496 - `¹e_ù_£t_tim”_fÜ_Ãw_úxn -( -ù -, -Ãw_hash_’Œy -); - -508 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -509  -RTE_CT_FORWARD_PACKET -; - -510 - } -} - -512  -ušt64_t - - -513 - $¹e_ù_úxn_Œack”_b©ch_lookup_basic -( - -514  -¹e_ù_úxn_Œack” - * -ù -, - -515  -¹e_mbuf - ** -pkts -, - -516 -ušt64_t - -pkts_mask -, - -517 -ušt64_t - -no_Ãw_úxn_mask -, - -518 -ušt64_t - * -»¶y_pkt_mask -, - -519 -ušt64_t - * -hijack_mask -) - -522 -ušt64_t - -pkts_to_´oûss - = -pkts_mask -; - -524 -ušt64_t - -v®id_·ck‘s - = -pkts_mask -; - -525 -ušt8_t - -com·ùšg_m­ -[ -RTE_HASH_LOOKUP_BULK_MAX -]; - -527 -ušt8_t - -key_Üig_dœ -[ -RTE_HASH_LOOKUP_BULK_MAX -]; - -528 -ušt32_t - -·ck‘s_fÜ_lookup - = 0; - -529 -št32_t - -pos™iÚs -[ -RTE_HASH_LOOKUP_BULK_MAX -]; - -530 -ušt32_t - -i -; - -531  -¹e_ù_úxn_d©a - -Ãw_úxn_d©a -; - -533 ià( -CNXN_TRX_DEBUG - > 1) { - -534 - `´štf -("EÁ” cnxÀŒack” %p", -ù -); - -535 - `´štf -(" synproxy batch†ookup with…acket mask %p\n", - -536 (*) -pkts_mask -); - -539 - `¹e_ù_fÜg‘_Ãw_cÚÃùiÚs -( -ù -); - -540 * -»¶y_pkt_mask - = 0; - -541 * -hijack_mask - = 0; - -548 ; -pkts_to_´oûss -;) { - -549 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -pkts_to_´oûss -); - -551 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -553 -pkts_to_´oûss - &ð~ -pkt_mask -; - -555  -¹e_mbuf - * -pkt - = -pkts -[ -pos -]; - -557  -_hdr_size_by‹s - = - `¹e_ù_g‘_IP_hdr_size -( -pkt -); - -559 ià( - `uÆik–y -( -_hdr_size_by‹s - < 0)) { - -564 * -_hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -569  -tý_hdr - * -thdr - = - -570 ( -tý_hdr - *) - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -571 ( -IP_START - + -_hdr_size_by‹s -)); - -572 -ušt16_t - -¤c_pÜt - = - `¹e_bsw­16 -( -thdr -->src_port); - -573 -ušt16_t - -d¡_pÜt - = - `¹e_bsw­16 -( -thdr -->dst_port); - -575 ià( -_hdr_size_by‹s - =ð -IPv4_HEADER_SIZE -) { - -576  -v4_hdr - * -ihdr - = (v4_hd¸*) -_hdr -; - -577 -ušt8_t - -´Ùo - = -ihdr --> -Ãxt_´Ùo_id -; - -579 ià(!( -´Ùo - =ð -TCP_PROTOCOL - ||…rÙØ=ð -UDP_PROTOCOL -)) { - -590 -ušt32_t - -¤c_addr - = - `¹e_bsw­32 -( -ihdr -->src_addr); - -591 -ušt32_t - -d¡_addr - = - `¹e_bsw­32 -( -ihdr -->dst_addr); - -593 ià( -CNXN_TRX_DEBUG - > 2) { - -594 ià( -CNXN_TRX_DEBUG - > 4) - -595 - `¹e_ù_úxn_´št_pkt -( -pkt -, - -596 -IP_VERSION_4 -); - -602 -com·ùšg_m­ -[ -·ck‘s_fÜ_lookup -] = -pos -; - -603 -key_Üig_dœ -[ -·ck‘s_fÜ_lookup -] = - -604 - `¹e_ù_ü—‹_úxn_hashkey -(& -¤c_addr -, & -d¡_addr -, - -605 -¤c_pÜt -, -d¡_pÜt -, - -606 -´Ùo -, - -607 & -ù --> -hash_keys - - -608 [ -·ck‘s_fÜ_lookup -][0], - -609 -IP_VERSION_4 -); - -610 -·ck‘s_fÜ_lookup -++; - -613 ià( -_hdr_size_by‹s - =ð -IPv6_HEADER_SIZE -) { - -614  -v6_hdr - * -ihdr - = (v6_hd¸*) -_hdr -; - -615 -ušt8_t - -´Ùo - = -ihdr -->proto; - -617 ià(!( -´Ùo - =ð -TCP_PROTOCOL - ||…rÙØ=ð -UDP_PROTOCOL -)) { - -622 ià( -CNXN_TRX_DEBUG - > 2) { - -623 ià( -CNXN_TRX_DEBUG - > 4) - -624 - `¹e_ù_úxn_´št_pkt -( -pkt -, - -625 -IP_VERSION_6 -); - -632 -com·ùšg_m­ -[ -·ck‘s_fÜ_lookup -] = -pos -; - -633 -key_Üig_dœ -[ -·ck‘s_fÜ_lookup -] = - -634 - `¹e_ù_ü—‹_úxn_hashkey -( - -635 ( -ušt32_t - *è -ihdr --> -¤c_addr -, - -636 ( -ušt32_t - *è -ihdr --> -d¡_addr -, - -637 -¤c_pÜt -, -d¡_pÜt -, - -638 -´Ùo -, - -639 & -ù --> -hash_keys - - -640 [ -·ck‘s_fÜ_lookup -][0], - -641 -IP_VERSION_6 -); - -642 -·ck‘s_fÜ_lookup -++; - -647 ià( - `uÆik–y -( -·ck‘s_fÜ_lookup - == 0)) - -648  -v®id_·ck‘s -; - -651 - `mem£t -(& -Ãw_úxn_d©a -, 0, ( -¹e_ù_úxn_d©a -)); - -655  -lookup_»suÉ - = - -656 - `¹e_hash_lookup_bulk -( -ù --> -rhash -, (cÚ¡ **)&ù-> -hash_key_±rs -, - -657 -·ck‘s_fÜ_lookup -, & -pos™iÚs -[0]); - -659 ià( - `uÆik–y -( -lookup_»suÉ - < 0)) { - -661 - `´štf -("Unexpected hashable…roblem, discarding‡ll…ackets"); - -664 #ifdeà -ALGDBG - - -665  -i - = 0; i < -·ck‘s_fÜ_lookup -; i++) { - -666 ià( -pos™iÚs -[ -i -] >= 0) - -667 - `´štf -("@CT…ositions[i]= %d, compacting_map[i]= %d\n", - -668 -pos™iÚs -[ -i -], -com·ùšg_m­ -[i]); - -671  -i - = 0; i < -·ck‘s_fÜ_lookup -; i++) { - -673  -hash_bË_’Œy - = -pos™iÚs -[ -i -]; - -675 -ušt8_t - -pkt_šdex - = -com·ùšg_m­ -[ -i -]; - -677 -ušt64_t - -pkt_mask - = 1LLU << -pkt_šdex -; - -678 -ušt8_t - -key_is_þ›Á_Üd” - = -key_Üig_dœ -[ -i -]; - -679 -ušt32_t - * -key - = -ù --> -hash_key_±rs -[ -pkt_šdex -]; - -680 -ušt8_t - -´ÙocÞ - = *( -key - + 9); - -681  -¹e_mbuf - * -·ck‘ - = -pkts -[ -pkt_šdex -]; - -682  -no_Ãw_úxn - = ( -pkt_mask - & -no_Ãw_úxn_mask -) != 0; - -686 ià( -´ÙocÞ - =ð -TCP_PROTOCOL -) { - -687 -¹e_ù_·ck‘_aùiÚ - -tý_pkt_aùiÚ -; - -689  -_hdr_size_by‹s - = - `¹e_ù_g‘_IP_hdr_size -( -·ck‘ -); - -690 -tý_pkt_aùiÚ - = - `¹e_ù_hªdË_tý_lookup -( -ù -, -·ck‘ -, - -691 -pkt_šdex -, -key_is_þ›Á_Üd” -, - -692 -key -, -hash_bË_’Œy -, -no_Ãw_úxn -, - -693 -_hdr_size_by‹s -); - -695  -tý_pkt_aùiÚ -) { - -697  -RTE_CT_SEND_CLIENT_SYNACK -: - -698  -RTE_CT_SEND_SERVER_ACK -: - -702 * -»¶y_pkt_mask - |ð -pkt_mask -; - -705  -RTE_CT_SEND_SERVER_SYN -: - -706  -RTE_CT_FORWARD_PACKET -: - -709  -RTE_CT_HIJACK -: - -710 * -hijack_mask - |ð -pkt_mask -; - -715 -v®id_·ck‘s - ^ð -pkt_mask -; - -716 -ù --> -couÁ”s --> -pkts_drÝ -++; - -723 ià( -hash_bË_’Œy - >= 0) { - -729  -¹e_ù_úxn_d©a - * -’Œy - = - -730 & -ù --> -hash_bË_’Œ›s -[ -hash_bË_’Œy -]; - -732 ià( -¹e_ù_udp_·ck‘ - - -733 ( -ù -, -’Œy -, -pkts -[ -pkt_šdex -], - -734 -key_is_þ›Á_Üd” -)) { - -735 -’Œy --> -couÁ”s -. -·ck‘s_fÜw¬ded -++; - -736 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -744  -¹e_ù_úxn_d©a - * -»ûÁ_’Œy - = - -745 - `¹e_ù_£¬ch_Ãw_cÚÃùiÚs -( -ù -, -key -); - -747 ià( -»ûÁ_’Œy - !ð -NULL -) { - -748 ià( - `¹e_ù_udp_·ck‘ -( -ù -, -»ûÁ_’Œy -, - -749 -pkts -[ -pkt_šdex -], - -750 -key_is_þ›Á_Üd” -)) { - -751 -»ûÁ_’Œy --> -couÁ”s -. - -752 -·ck‘s_fÜw¬ded -++; - -753 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -760 ià( -no_Ãw_úxn -) { - -764 -v®id_·ck‘s - ^ð -pkt_mask -; - -765 -ù --> -couÁ”s --> -pkts_drÝ -++; - -766 -ù --> -couÁ”s --> - -767 -pkts_drÝ_šv®id_cÚn -++; - -771 ià( - `¹e_ù_udp_Ãw_cÚÃùiÚ -( -ù -, - -772 & -Ãw_úxn_d©a -, - -773 -pkts -[ -pkt_šdex -])) { - -777 -št32_t - -pos™iÚ - = - -778 - `¹e_hash_add_key -( - -779 -ù --> -rhash -, -key -); - -781 ià( -pos™iÚ - < 0) - -784  -¹e_ù_úxn_d©a - - -785 * -Ãw_hash_’Œy - = & -ù --> - -786 -hash_bË_’Œ›s -[ -pos™iÚ -]; - -793 - `memýy -( -Ãw_úxn_d©a -. -key -, key, - -794 ( -Ãw_úxn_d©a -. -key -)); - -796 -Ãw_úxn_d©a -. - -797 -key_is_þ›Á_Üd” - - -798 ð -key_is_þ›Á_Üd” -; - -799 -Ãw_úxn_d©a -. -´ÙocÞ - = - -800 -UDP_PROTOCOL -; - -801 - `¹e_úxn__ty³ -( - -802 & -Ãw_úxn_d©a -. -ty³ -, - -803 -·ck‘ -); - -804 - `¹e_memýy -( -Ãw_hash_’Œy -, - -805 & -Ãw_úxn_d©a -, - -807 -¹e_ù_úxn_d©a -)); - -809 -Ãw_hash_’Œy --> -couÁ”s -. - -810 -·ck‘s_fÜw¬ded - = 1; - -811 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -812 -Ãw_hash_’Œy --> -couÁ”s -. - -813 -·ck‘s_drݳd - = 0; - -814 -ù --> -couÁ”s --> -pkts_drÝ - = 0; - -815 -ù --> -couÁ”s --> - -816 -cu¼’t_aùive_£ssiÚs -++; - -817 -ù --> -couÁ”s --> - -818 -£ssiÚs_aùiv©ed -++; - -820 -Ãw_hash_’Œy --> - -821 -¡©e_u£d_fÜ_tim” - - -822 ð -RTE_CT_UDP_NONE -; - -823 - `¹e_ù_£t_úxn_tim”_fÜ_udp -( - -824 -ù -, - -825 -Ãw_hash_’Œy -, - -826 -RTE_CT_UDP_UNREPLIED -); - -828 - `¹e_ù_»memb”_Ãw_cÚÃùiÚ -( - -829 -ù -, - -830 -Ãw_hash_’Œy -); - -839 ià( -CNXN_TRX_DEBUG - > 1) { - -840 - `´štf -("Exit cnxnracker synproxy batch†ookup with"); - -841 - `´štf -("…ack‘ mask %p\n", (*) -v®id_·ck‘s -); - -844  -v®id_·ck‘s -; - -845 - } -} - -847 -ušt64_t - - -848 - $¹e_ù_úxn_Œack”_b©ch_lookup_w™h_syÅroxy -( - -849  -¹e_ù_úxn_Œack” - * -ù -, - -850  -¹e_mbuf - ** -pkts -, - -851 -ušt64_t - -pkts_mask -, - -852  -¹e_syÅroxy_h–³r - * -¥_h–³r -) - -854  - `¹e_ù_úxn_Œack”_b©ch_lookup_basic -( -ù -, -pkts -, -pkts_mask -, 0, - -855 & -¥_h–³r --> -»¶y_pkt_mask -, &¥_h–³r-> -hijack_mask -); - -856 - } -} - -857 #ifdeà -CT_CGNAT - - -858 -ušt64_t - - $cgDZ_ù_´oûss -( - -859  -¹e_ù_úxn_Œack” - * -ù -, - -860  -¹e_mbuf - ** -pkts -, - -861 -ušt64_t - -pkts_mask -, - -862  -¹e_CT_h–³r - * -ù_h–³r -) - -865 - `¹e_ù_di§bË_syÅroxy -( -ù -); - -866  - `¹e_ù_úxn_Œack”_b©ch_lookup_basic -( -ù -, -pkts -, -pkts_mask -, - -867 -ù_h–³r --> -no_Ãw_úxn_mask -, - -868 & -ù_h–³r --> -»¶y_pkt_mask -, - -869 & -ù_h–³r --> -hijack_mask -); - -870 - } -} - -872 -ušt64_t - - -873 - $¹e_ù_úxn_Œack”_b©ch_lookup -( - -874  -¹e_ù_úxn_Œack” - * -ù -, - -875  -¹e_mbuf - ** -pkts -, - -876 -ušt64_t - -pkts_mask -, - -877  -¹e_CT_h–³r - * -ù_h–³r -) - -880  - `¹e_ù_úxn_Œack”_b©ch_lookup_basic -( -ù -, -pkts -, -pkts_mask -, - -881 -ù_h–³r --> -no_Ãw_úxn_mask -, - -882 & -ù_h–³r --> -»¶y_pkt_mask -, &ù_h–³r-> -hijack_mask -); - -883 - } -} - -886  - $¹e_ù_úxn_Œack”_b©ch_lookup_ty³ -( - -887  -¹e_ù_úxn_Œack” - * -ù -, - -888  -¹e_mbuf - ** -pkts -, - -889 -ušt64_t - * -pkts_mask -, - -890  -¹e_CT_h–³r - * -ù_h–³r -, - -891 -ušt8_t - -_hdr_size_by‹s -) - -894 - `¹e_ù_úxn_Œack”_b©ch_lookup_basic_ty³ -( -ù -, -pkts -, -pkts_mask -, - -895 -ù_h–³r --> -no_Ãw_úxn_mask -, - -896 & -ù_h–³r --> -»¶y_pkt_mask -, &ù_h–³r-> -hijack_mask -, - -897 -_hdr_size_by‹s -); - -898 - } -} - -902 -ušt64_t - - -903 - $¹e_ù_úxn_Œack”_b©ch_lookup_w™h_Ãw_úxn_cÚŒÞ -( - -904  -¹e_ù_úxn_Œack” - * -ù -, - -905  -¹e_mbuf - ** -pkts -, - -906 -ušt64_t - -pkts_mask -, - -907 -ušt64_t - -no_Ãw_úxn_mask -) - -909 -ušt64_t - -dÚt_ÿ» -; - -911  - `¹e_ù_úxn_Œack”_b©ch_lookup_basic -( -ù -, -pkts -, -pkts_mask -, - -912 -no_Ãw_úxn_mask -, - -913 & -dÚt_ÿ» -, &dont_care); - -914 - } -} - -918 - $¹e_ù_š™Ÿlize_deçuÉ_timeouts -( -¹e_ù_úxn_Œack” - * -Ãw_úxn_Œack” -) - -923 -ušt64_t - -h”tz - = - `¹e_g‘_tsc_hz -(); - -925 -Ãw_úxn_Œack” --> -h”tz - = hertz; - -926 -Ãw_úxn_Œack” --> -timšg_cyþes_³r_timšg_¡• - = -h”tz - / 10; - -927 -Ãw_úxn_Œack” --> -timšg_100ms_¡•s_´evious - = 0; - -928 -Ãw_úxn_Œack” --> -timšg_100ms_¡•s - = 0; - -929 -Ãw_úxn_Œack” --> -timšg_Ï¡_time - = - `¹e_g‘_tsc_cyþes -(); - -932 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -933 [ -RTE_CT_TCP_SYN_SENT -] = 120 * -h”tz -; - -934 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -935 [ -RTE_CT_TCP_SYN_RECV -] = 60 * -h”tz -; - -937 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -938 [ -RTE_CT_TCP_ESTABLISHED -] = 60 * 60 * 24 * 5 * -h”tz -; - -940 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -941 [ -RTE_CT_TCP_FIN_WAIT -] = 120 * -h”tz -; - -942 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -943 [ -RTE_CT_TCP_CLOSE_WAIT -] = 60 * -h”tz -; - -944 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -945 [ -RTE_CT_TCP_LAST_ACK -] = 30 * -h”tz -; - -946 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -947 [ -RTE_CT_TCP_TIME_WAIT -] = 120 * -h”tz -; - -948 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -949 [ -RTE_CT_TCP_CLOSE -] = 10 * -h”tz -; - -950 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -951 [ -RTE_CT_TCP_SYN_SENT_2 -] = 120 * -h”tz -; - -952 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -953 [ -RTE_CT_TCP_RETRANS -] = 300 * -h”tz -; - -954 -Ãw_úxn_Œack” --> -ù_timeout -. -týtimeout -. -tý_timeouts - - -955 [ -RTE_CT_TCP_UNACK -] = 300 * -h”tz -; - -957 -Ãw_úxn_Œack” --> -ù_timeout -. -ud±imeout -. -udp_timeouts - - -958 [ -RTE_CT_UDP_UNREPLIED -] = 30 * -h”tz -; - -959 -Ãw_úxn_Œack” --> -ù_timeout -. -ud±imeout -. -udp_timeouts - - -960 [ -RTE_CT_UDP_REPLIED -] = 180 * -h”tz -; - -962 -Ãw_úxn_Œack” --> -misc_ÝtiÚs -. -tý_max_»Œªs - = - -963 -RTE_CT_TCP_MAX_RETRANS -; - -964 -Ãw_úxn_Œack” --> -misc_ÝtiÚs -. -tý_loo£ - = 0; - -965 -Ãw_úxn_Œack” --> -misc_ÝtiÚs -. -tý_be_lib”® - = 0; - -966 #ifdeà -CT_CGNAT - - -967  -i -; - -968  -i -=0; i < -RTE_HASH_LOOKUP_BULK_MAX - ;i ++ ) - -969 -Ãw_úxn_Œack” --> -pos™iÚs -[ -i -] = -1; - -973 - } -} - -975  -¹e_CT_couÁ”_block - - g¹e_CT_couÁ”_bË -[ -MAX_CT_INSTANCES -] - -976 - g__¹e_ÿche_®igÃd -; - -977  - g¹e_CT_hi_couÁ”_block_š_u£ - = -1; - -980 - $¹e_ù_š™Ÿlize_úxn_Œack”_w™h_syÅroxy -( - -981  -¹e_ù_úxn_Œack” - * -Ãw_úxn_Œack” -, - -982 -ušt32_t - -max_cÚÃùiÚ_couÁ -, - -983 * -Çme -, - -984 -ušt16_t - -poš‹r_off£t -) - -986 -ušt32_t - -i -; - -987 -ušt32_t - -size -; - -988  -¹e_CT_couÁ”_block - * -couÁ”_±r -; - -995 -Ãw_úxn_Œack” --> -poš‹r_off£t - =…ointer_offset; - -997 - `mem£t -( -Ãw_úxn_Œack” --> -Çme -, '\0', (new_cnxn_tracker->name)); - -998 - `¡ºýy -( -Ãw_úxn_Œack” --> -Çme -,‚ame, - `¡¾’ -(new_cnxn_tracker->name)); - -1001 -ušt32_t - -numb”_of_’Œ›s - = -max_cÚÃùiÚ_couÁ -; - -1003 -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -¹e_ù_úxn_d©a -) * - -1004 -numb”_of_’Œ›s -); - -1005 -Ãw_úxn_Œack” --> -hash_bË_’Œ›s - = - -1006 - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -1007 ià( -Ãw_úxn_Œack” --> -hash_bË_’Œ›s - =ð -NULL -) { - -1008 - `´štf -(" Notƒnough memory, or invalid‡rguments\n"); - -1011 -Ãw_úxn_Œack” --> -num_úxn_’Œ›s - = -numb”_of_’Œ›s -; - -1015  -i - = 0; i < -numb”_of_’Œ›s -; i++) - -1016 - `¹e_tim”_š™ -(& -Ãw_úxn_Œack” --> -hash_bË_’Œ›s -[ -i -]. -tim” -); - -1019  -i - = 0; i < -RTE_HASH_LOOKUP_BULK_MAX -; i++) - -1020 -Ãw_úxn_Œack” --> -hash_key_±rs -[ -i -] = - -1021 & -Ãw_úxn_Œack” --> -hash_keys -[ -i -][0]; - -1028 ià( -¹e_CT_hi_couÁ”_block_š_u£ - =ð -MAX_CT_INSTANCES -) - -1031 -¹e_CT_hi_couÁ”_block_š_u£ -++; - -1032 -couÁ”_±r - = & -¹e_CT_couÁ”_bË -[ -¹e_CT_hi_couÁ”_block_š_u£ -]; - -1034 -Ãw_úxn_Œack” --> -couÁ”s - = -couÁ”_±r -; - -1037  -¹e_hash_·¿m‘”s - -rhash_·rms - = { - -1038 . -Çme - =‚ame, - -1039 . -’Œ›s - = -numb”_of_’Œ›s -, - -1040 . -hash_func - = -NULL -, - -1041 . -key_Ën - = 40, - -1042 . -hash_func_š™_v® - = 0, - -1043 . -sock‘_id - = - `¹e_sock‘_id -(), - -1044 . -exŒa_æag - = 1 - -1047 -Ãw_úxn_Œack” --> -rhash - = - `¹e_hash_ü—‹ -(& -rhash_·rms -); - -1050 - } -} - -1053 - $¹e_ù_š™Ÿlize_úxn_Œack” -( - -1054  -¹e_ù_úxn_Œack” - * -Ãw_úxn_Œack” -, - -1055 -ušt32_t - -max_cÚÃùiÚ_couÁ -, - -1056 * -Çme -) - -1058  - `¹e_ù_š™Ÿlize_úxn_Œack”_w™h_syÅroxy -( -Ãw_úxn_Œack” -, - -1059 -max_cÚÃùiÚ_couÁ -, -Çme -, 0); - -1060 - } -} - -1063 - $¹e_ù_ä“_úxn_Œack”_»sourûs -( -¹e_ù_úxn_Œack” - * -Þd_úxn_Œack” -) - -1065 - `¹e_ä“ -( -Þd_úxn_Œack” --> -hash_bË_’Œ›s -); - -1066 - `¹e_hash_ä“ -( -Þd_úxn_Œack” --> -rhash -); - -1068 - } -} - -1071 - $¹e_ù_g‘_úxn_Œack”_size -() - -1073  ( -¹e_ù_úxn_Œack” -); - -1074 - } -} - -1077 -¹e_ù_úxn_tim”_expœed -( -¹e_tim” - * -¹ -, * -¬g -); - -1080 - $¹e_ù_£t_úxn_tim” -( - -1081  -¹e_ù_úxn_Œack” - * -ù -, - -1082  -¹e_ù_úxn_d©a - * -cd -, - -1083 -ušt64_t - -ticks_uÁž_timeout -) - -1090  -¹e_tim” - * -¹ - = (¹e_tim” *) -cd -; - -1091 #ifdeà -CT_CGNAT - - -1093 -ušt32_t - -cÜe_id - = - `g‘_tim”_cÜe_id -(); - -1096 -ušt32_t - -cÜe_id - = - `¹e_lcÜe_id -(); - -1101  -sucûss - = - `¹e_tim”_»£t -( -¹ -, -ticks_uÁž_timeout -, -SINGLE -, -cÜe_id -, - -1102 -¹e_ù_úxn_tim”_expœed -, -ù -); - -1104 ià( -sucûss - < 0) { - -1108 - `´štf -("CNXN_TRACKER: Failedo set connectionimer.\n"); - -1110 - } -} - -1118 - $¹e_ù_£t_úxn_tim”_fÜ_tý -( - -1119  -¹e_ù_úxn_Œack” - * -ù -, - -1120  -¹e_ù_úxn_d©a - * -cd -, - -1121 -ušt8_t - -tý_¡©e -) - -1124 -cd --> -ex³ùed_timeout - = - -1125 ( -ù --> -timšg_100ms_¡•s - * ct-> -timšg_cyþes_³r_timšg_¡• -) + - -1126 -ù --> -ù_timeout -. -týtimeout -. -tý_timeouts -[ -tý_¡©e -]; - -1128 ià( -tý_¡©e - =ð -cd --> -¡©e_u£d_fÜ_tim” -) { - -1141 ià( -TESTING_TIMERS -) - -1142 - `´štf -("S‘ Tim” fÜ cÚÃùiÚ %°ªd s‹ %s\n", -cd -, - -1143 -¹e_ù_tý_Çmes -[ -tý_¡©e -]); - -1145 - `¹e_ù_£t_úxn_tim” -( -ù -, -cd -, - -1146 -ù --> -ù_timeout -. - -1147 -týtimeout -. -tý_timeouts -[ -tý_¡©e -]); - -1148 -cd --> -¡©e_u£d_fÜ_tim” - = -tý_¡©e -; - -1149 - } -} - -1158 - $¹e_ù_£t_úxn_tim”_fÜ_udp -( - -1159  -¹e_ù_úxn_Œack” - * -ù -, - -1160  -¹e_ù_úxn_d©a - * -cd -, - -1161 -ušt8_t - -udp_¡©e -) - -1164 -cd --> -ex³ùed_timeout - = ( -ù --> -timšg_cyþes_³r_timšg_¡• -) + - -1165 -ù --> -ù_timeout -. -ud±imeout -. -udp_timeouts -[ -udp_¡©e -]; - -1167 ià( -udp_¡©e - =ð -cd --> -¡©e_u£d_fÜ_tim” -) { - -1180 ià( -TESTING_TIMERS -) - -1181 - `´štf -("S‘ Tim” fÜ cÚÃùiÚ %°ªd s‹ %s\n", -cd -, - -1182 -¹e_ù_udp_Çmes -[ -udp_¡©e -]); - -1183 - `¹e_ù_£t_úxn_tim” -( -ù -, -cd -, - -1184 -ù --> -ù_timeout -. - -1185 -ud±imeout -. -udp_timeouts -[ -udp_¡©e -]); - -1186 -cd --> -¡©e_u£d_fÜ_tim” - = -udp_¡©e -; - -1187 - } -} - -1193 - $¹e_ù_ÿnûl_úxn_tim” -( -¹e_ù_úxn_d©a - * -cd -) - -1195 ià( -TESTING_TIMERS -) - -1196 - `´štf -("Cancel Timer\n"); - -1198 - `¹e_tim”_¡Ý -(& -cd --> -tim” -); - -1199 - } -} - -1202 - $¹e_ù_hªdË_expœed_tim”s -( -¹e_ù_úxn_Œack” - * -ù -) - -1209 -ušt64_t - -Ãw_time - = - `¹e_g‘_tsc_cyþes -(); - -1210 -ušt64_t - -time_diff - = -Ãw_time - - -ù --> -timšg_Ï¡_time -; - -1212 ià( -time_diff - >ð -ù --> -timšg_cyþes_³r_timšg_¡• -) { - -1213 -ù --> -timšg_Ï¡_time - = -Ãw_time -; - -1214 -ù --> -timšg_100ms_¡•s -++; - -1217 ià( -ù --> -timšg_100ms_¡•s - !ðù-> -timšg_100ms_¡•s_´evious -) { - -1218 - `¹e_tim”_mªage -(); - -1219 -ù --> -timšg_100ms_¡•s_´evious - = ct-> -timšg_100ms_¡•s -; - -1221 - } -} - -1226 - $¹e_ù_úxn_tim”_expœed -( -¹e_tim” - * -¹ -, * -¬g -) - -1231  -¹e_ù_úxn_d©a - * -cd - = (¹e_ù_úxn_d©¨*) -¹ -; - -1232  -¹e_ù_úxn_Œack” - * -ù - = (¹e_ù_úxn_Œack” *) -¬g -; - -1233  -sucûss - = 0; - -1241 -ušt64_t - -cu¼’t_time - = -ù --> -timšg_100ms_¡•s - * - -1242 -ù --> -timšg_cyþes_³r_timšg_¡• -; - -1244 ià( -cd --> -ex³ùed_timeout - >ð -cu¼’t_time -) { - -1245 -ušt64_t - -time_diff - = -cd --> -ex³ùed_timeout - - -cu¼’t_time -; - -1247 - `¹e_ù_£t_úxn_tim” -( -ù -, -cd -, -time_diff -); - -1251 ià( -cd --> -´ÙocÞ - =ð -TCP_PROTOCOL -) { - -1252 ià( -cd --> -¡©e_u£d_fÜ_tim” - =ð -RTE_CT_TCP_TIME_WAIT - || - -1253 -cd --> -¡©e_u£d_fÜ_tim” - =ð -RTE_CT_TCP_CLOSE -) - -1254 -ù --> -couÁ”s --> -£ssiÚs_þo£d -++; - -1256 -ù --> -couÁ”s --> -£ssiÚs_timedout -++; - -1261 ià( -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -syÅrox›d -) - -1262 - `¹e_ù_»Ëa£_bufã»d_·ck‘s -( -ù -, -cd -); - -1264 } ià( -cd --> -´ÙocÞ - =ð -UDP_PROTOCOL -) - -1265 -ù --> -couÁ”s --> -£ssiÚs_þo£d -++; - -1266 ià( -ù --> -couÁ”s --> -cu¼’t_aùive_£ssiÚs - > 0) - -1267 -ù --> -couÁ”s --> -cu¼’t_aùive_£ssiÚs ---; - -1269 ià( -RTE_CT_TIMER_EXPIRED_DUMP -) { - -1270 -ušt64_t - -³rûÁ - = ( -cd --> -couÁ”s -. -·ck‘s_drݳd - * 10000) / - -1271 ( -cd --> -couÁ”s -. -·ck‘s_fÜw¬ded - + - -1272 -cd --> -couÁ”s -. -·ck‘s_drݳd -); - -1274 ià( -cd --> -´ÙocÞ - =ð -TCP_PROTOCOL -) { - -1275 - `´štf -("CnxnTrkr %s,imed-out TCP Connection: %p,", - -1276 -ù --> -Çme -, -cd -); - -1277 - `´štf -(" %s,…kts forwarded %" - -1278 -PRIu64 - ",…kts dropped %" PRIu64 - -1280 -¹e_ù_tý_Çmes -[ -cd --> -¡©e_u£d_fÜ_tim” -], - -1281 -cd --> -couÁ”s -. -·ck‘s_fÜw¬ded -, - -1282 -cd --> -couÁ”s -. -·ck‘s_drݳd -, - -1283 ( -ušt32_t -è( -³rûÁ - / 100), - -1284 ( -ušt32_t -è( -³rûÁ - % 100)); - -1285 } ià( -cd --> -´ÙocÞ - =ð -UDP_PROTOCOL -) { - -1286 - `´štf -("CnxnTrkr %s, Timed-out UDP Connection: %p,", - -1287 -ù --> -Çme -, -cd -); - -1288 - `´štf -(" %s,…kt fÜw¬ded %" -PRIu64 - - -1289 ",…kt drݳd %" -PRIu64 - ", drop%% %u.%u\n", - -1290 -¹e_ù_udp_Çmes -[ -cd --> -¡©e_u£d_fÜ_tim” -], - -1291 -cd --> -couÁ”s -. -·ck‘s_fÜw¬ded -, - -1292 -cd --> -couÁ”s -. -·ck‘s_drݳd -, - -1293 ( -ušt32_t -è( -³rûÁ - / 100), - -1294 ( -ušt32_t -è( -³rûÁ - % 100)); - -1298 -sucûss - = - `¹e_hash_d–_key -( -ù --> -rhash -, & -cd --> -key -); - -1300 ià( -sucûss - < 0) { - -1302 - `¹e_ù_´št_hashkey -( -cd --> -key -); - -1305 - } -} - -1307  -¹e_CT_couÁ”_block - * - -1308 - $¹e_ù_g‘_couÁ”_add»ss -( -¹e_ù_úxn_Œack” - * -ù -) - -1310  -ù --> -couÁ”s -; - -1311 - } -} - -1314 - $¹e_ù_£t_cÚfigu¿tiÚ_ÝtiÚs -( -¹e_ù_úxn_Œack” - * -ù -, - -1315 * -Çme -, * -v®ue -) - -1318  -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”® - = -iv® -; - -1333 ià( - `¡rcmp -( -Çme -, "tcp_max_retrans") == 0) { - -1334 -ù --> -misc_ÝtiÚs -. -tý_max_»Œªs - = -iv® -; - -1338 -ušt64_t - -time_v®ue - = -iv® - * -ù --> -h”tz -; - -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_Œack”_b©ch_lookup_basic_ty³ -( - -1464  -¹e_ù_úxn_Œack” - * -ù -, - -1465  -¹e_mbuf - ** -pkts -, - -1466 -ušt64_t - * -pkts_mask -, - -1467 -ušt64_t - -no_Ãw_úxn_mask -, - -1468 -ušt64_t - * -»¶y_pkt_mask -, - -1469 -ušt64_t - * -hijack_mask -, - -1470 -ušt8_t - -_hdr_size_by‹s -) - -1473 -ušt64_t - -pkts_to_´oûss - = * -pkts_mask -; - -1475 -ušt8_t - -com·ùšg_m­ -[ -RTE_HASH_LOOKUP_BULK_MAX -]; - -1477 -ušt8_t - -key_Üig_dœ -[ -RTE_HASH_LOOKUP_BULK_MAX -]; - -1478 -ušt32_t - -·ck‘s_fÜ_lookup - = 0; - -1479 -št32_t - -pos™iÚs -[ -RTE_HASH_LOOKUP_BULK_MAX -]; - -1480 -ušt32_t - -i -; - -1481  -¹e_ù_úxn_d©a - -Ãw_úxn_d©a -; - -1483 ià( -CNXN_TRX_DEBUG - > 1) { - -1484 - `´štf -("EÁ” cnxÀŒack” %p", -ù -); - -1485 - `´štf -(" synproxy batch†ookup with…acket mask %p\n", - -1486 (*)* -pkts_mask -); - -1489 - `¹e_ù_fÜg‘_Ãw_cÚÃùiÚs -( -ù -); - -1490 * -»¶y_pkt_mask - = 0; - -1491 * -hijack_mask - = 0; - -1498  -_hdr_size_by‹s -) { - -1499  -IPv4_HEADER_SIZE -: - -1500 ; -pkts_to_´oûss -;) { - -1501 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( - -1502 -pkts_to_´oûss -); - -1504 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -1506 -pkts_to_´oûss - &ð~ -pkt_mask -; - -1508  -¹e_mbuf - * -pkt - = -pkts -[ -pos -]; - -1514  -tý_hdr - * -thdr - = (tcp_hdr *) - -1515 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -1516 ( -IP_START - + -_hdr_size_by‹s -)); - -1517 -ušt16_t - -¤c_pÜt - = - `¹e_bsw­16 -( -thdr -->src_port); - -1518 -ušt16_t - -d¡_pÜt - = - `¹e_bsw­16 -( -thdr -->dst_port); - -1520  -v4_hdr - * -ihdr - = (ipv4_hdr *) - -1521 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -1522 -ušt8_t - -´Ùo - = -ihdr --> -Ãxt_´Ùo_id -; - -1524 ià(!( -´Ùo - =ð -TCP_PROTOCOL - ||…rÙØ=ð -UDP_PROTOCOL -)) { - -1535 -ušt32_t - -¤c_addr - = - `¹e_bsw­32 -( -ihdr -->src_addr); - -1536 -ušt32_t - -d¡_addr - = - `¹e_bsw­32 -( -ihdr -->dst_addr); - -1538 ià( -CNXN_TRX_DEBUG - > 2) { - -1539 ià( -CNXN_TRX_DEBUG - > 4) - -1540 - `¹e_ù_úxn_´št_pkt -( -pkt -, - -1541 -IP_VERSION_4 -); - -1547 -com·ùšg_m­ -[ -·ck‘s_fÜ_lookup -] = -pos -; - -1548 -key_Üig_dœ -[ -·ck‘s_fÜ_lookup -] = - -1549 - `¹e_ù_ü—‹_úxn_hashkey -(& -¤c_addr -, & -d¡_addr -, - -1550 -¤c_pÜt -, -d¡_pÜt -, - -1551 -´Ùo -, - -1552 & -ù --> -hash_keys - - -1553 [ -·ck‘s_fÜ_lookup -][0], - -1554 -IP_VERSION_4 -); - -1555 -·ck‘s_fÜ_lookup -++; - -1558  -IPv6_HEADER_SIZE -: - -1559 ; -pkts_to_´oûss -;) { - -1560 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( - -1561 -pkts_to_´oûss -); - -1563 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -1565 -pkts_to_´oûss - &ð~ -pkt_mask -; - -1567  -¹e_mbuf - * -pkt - = -pkts -[ -pos -]; - -1570 * -_hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -1571 -IP_START -); - -1576  -tý_hdr - * -thdr - = (tcp_hdr *) - -1577 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -1578 ( -IP_START - + -_hdr_size_by‹s -)); - -1579 -ušt16_t - -¤c_pÜt - = - `¹e_bsw­16 -( -thdr -->src_port); - -1580 -ušt16_t - -d¡_pÜt - = - `¹e_bsw­16 -( -thdr -->dst_port); - -1582  -v6_hdr - * -ihdr - = (v6_hd¸*) -_hdr -; - -1583 -ušt8_t - -´Ùo - = -ihdr -->proto; - -1585 ià(!( -´Ùo - =ð -TCP_PROTOCOL - ||…rÙØ=ð -UDP_PROTOCOL -)) { - -1590 ià( -CNXN_TRX_DEBUG - > 2) { - -1591 ià( -CNXN_TRX_DEBUG - > 4) - -1592 - `¹e_ù_úxn_´št_pkt -( -pkt -, - -1593 -IP_VERSION_6 -); - -1600 -com·ùšg_m­ -[ -·ck‘s_fÜ_lookup -] = -pos -; - -1601 -key_Üig_dœ -[ -·ck‘s_fÜ_lookup -] = - -1602 - `¹e_ù_ü—‹_úxn_hashkey -( - -1603 ( -ušt32_t - *è -ihdr --> -¤c_addr -, - -1604 ( -ušt32_t - *è -ihdr --> -d¡_addr -, - -1605 -¤c_pÜt -, -d¡_pÜt -, - -1606 -´Ùo -, - -1607 & -ù --> -hash_keys - - -1608 [ -·ck‘s_fÜ_lookup -][0], - -1609 -IP_VERSION_6 -); - -1610 -·ck‘s_fÜ_lookup -++; - -1616 ià( - `uÆik–y -( -·ck‘s_fÜ_lookup - == 0)) - -1620 - `mem£t -(& -Ãw_úxn_d©a -, 0, ( -¹e_ù_úxn_d©a -)); - -1624  -lookup_»suÉ - = - `¹e_hash_lookup_bulk -( -ù --> -rhash -, - -1625 (cÚ¡ **)& -ù --> -hash_key_±rs -, - -1626 -·ck‘s_fÜ_lookup -, & -pos™iÚs -[0]); - -1628 ià( - `uÆik–y -( -lookup_»suÉ - < 0)) { - -1630 - `´štf -("Unexpected hashable…roblem, discarding‡ll…ackets"); - -1631 * -pkts_mask - = 0; - -1634  -i - = 0; i < -·ck‘s_fÜ_lookup -; i++) { - -1636  -hash_bË_’Œy - = -pos™iÚs -[ -i -]; - -1638 -ušt8_t - -pkt_šdex - = -com·ùšg_m­ -[ -i -]; - -1640 -ušt64_t - -pkt_mask - = 1LLU << -pkt_šdex -; - -1641 -ušt8_t - -key_is_þ›Á_Üd” - = -key_Üig_dœ -[ -i -]; - -1642 -ušt32_t - * -key - = -ù --> -hash_key_±rs -[ -pkt_šdex -]; - -1643 -ušt8_t - -´ÙocÞ - = *( -key - + 9); - -1644  -¹e_mbuf - * -·ck‘ - = -pkts -[ -pkt_šdex -]; - -1645  -no_Ãw_úxn - = ( -pkt_mask - & -no_Ãw_úxn_mask -) != 0; - -1649 ià( -´ÙocÞ - =ð -TCP_PROTOCOL -) { - -1650 -¹e_ù_·ck‘_aùiÚ - -tý_pkt_aùiÚ -; - -1652 -tý_pkt_aùiÚ - = - `¹e_ù_hªdË_tý_lookup -( -ù -, -·ck‘ -, - -1653 -pkt_šdex -, -key_is_þ›Á_Üd” -, - -1654 -key -, -hash_bË_’Œy -, -no_Ãw_úxn -, - -1655 -_hdr_size_by‹s -); - -1657  -tý_pkt_aùiÚ -) { - -1659  -RTE_CT_SEND_CLIENT_SYNACK -: - -1660  -RTE_CT_SEND_SERVER_ACK -: - -1664 * -»¶y_pkt_mask - |ð -pkt_mask -; - -1667  -RTE_CT_SEND_SERVER_SYN -: - -1668  -RTE_CT_FORWARD_PACKET -: - -1671  -RTE_CT_HIJACK -: - -1672 * -hijack_mask - |ð -pkt_mask -; - -1677 * -pkts_mask - ^ð -pkt_mask -; - -1678 -ù --> -couÁ”s --> -pkts_drÝ -++; - -1685 ià( -hash_bË_’Œy - >= 0) { - -1691  -¹e_ù_úxn_d©a - * -’Œy - = - -1692 & -ù --> -hash_bË_’Œ›s -[ -hash_bË_’Œy -]; - -1694 ià( -¹e_ù_udp_·ck‘ - - -1695 ( -ù -, -’Œy -, -pkts -[ -pkt_šdex -], - -1696 -key_is_þ›Á_Üd” -)) { - -1697 -’Œy --> -couÁ”s -. -·ck‘s_fÜw¬ded -++; - -1698 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -1706  -¹e_ù_úxn_d©a - * -»ûÁ_’Œy - = - -1707 - `¹e_ù_£¬ch_Ãw_cÚÃùiÚs -( -ù -, -key -); - -1709 ià( -»ûÁ_’Œy - !ð -NULL -) { - -1710 ià( - `¹e_ù_udp_·ck‘ -( -ù -, -»ûÁ_’Œy -, - -1711 -pkts -[ -pkt_šdex -], - -1712 -key_is_þ›Á_Üd” -)) { - -1713 -»ûÁ_’Œy --> -couÁ”s -. - -1714 -·ck‘s_fÜw¬ded -++; - -1715 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -1722 ià( -no_Ãw_úxn -) { - -1726 * -pkts_mask - ^ð -pkt_mask -; - -1727 -ù --> -couÁ”s --> -pkts_drÝ -++; - -1728 -ù --> -couÁ”s --> - -1729 -pkts_drÝ_šv®id_cÚn -++; - -1733 ià( - `¹e_ù_udp_Ãw_cÚÃùiÚ -( -ù -, - -1734 & -Ãw_úxn_d©a -, -pkts -[ -pkt_šdex -])) { - -1738 -št32_t - -pos™iÚ - = - -1739 - `¹e_hash_add_key -( -ù --> - -1740 -rhash -, -key -); - -1742 ià( -pos™iÚ - < 0) - -1745  -¹e_ù_úxn_d©a - - -1746 * -Ãw_hash_’Œy - = & -ù --> - -1747 -hash_bË_’Œ›s -[ -pos™iÚ -]; - -1754 - `memýy -( -Ãw_úxn_d©a -. -key -, key, - -1755 ( -Ãw_úxn_d©a -. -key -)); - -1757 -Ãw_úxn_d©a -. - -1758 -key_is_þ›Á_Üd” - - -1759 ð -key_is_þ›Á_Üd” -; - -1760 -Ãw_úxn_d©a -. -´ÙocÞ - = - -1761 -UDP_PROTOCOL -; - -1762 - `¹e_úxn__ty³ -( - -1763 & -Ãw_úxn_d©a -. -ty³ -, - -1764 -·ck‘ -); - -1765 - `¹e_memýy -( -Ãw_hash_’Œy -, - -1766 & -Ãw_úxn_d©a -, - -1768 -¹e_ù_úxn_d©a -)); - -1770 -Ãw_hash_’Œy --> -couÁ”s -. - -1771 -·ck‘s_fÜw¬ded - = 1; - -1772 -ù --> -couÁ”s --> -pkts_fÜw¬ded -++; - -1773 -Ãw_hash_’Œy --> -couÁ”s -. - -1774 -·ck‘s_drݳd - = 0; - -1775 -ù --> -couÁ”s --> -pkts_drÝ - = 0; - -1776 -ù --> -couÁ”s --> - -1777 -cu¼’t_aùive_£ssiÚs -++; - -1778 -ù --> -couÁ”s --> - -1779 -£ssiÚs_aùiv©ed -++; - -1781 -Ãw_hash_’Œy --> - -1782 -¡©e_u£d_fÜ_tim” - - -1783 ð -RTE_CT_UDP_NONE -; - -1784 - `¹e_ù_£t_úxn_tim”_fÜ_udp -( - -1785 -ù -, - -1786 -Ãw_hash_’Œy -, - -1787 -RTE_CT_UDP_UNREPLIED -); - -1789 - `¹e_ù_»memb”_Ãw_cÚÃùiÚ -( - -1790 -ù -, - -1791 -Ãw_hash_’Œy -); - -1800 ià( -CNXN_TRX_DEBUG - > 1) { - -1801 - `´štf -("Exit cnxnracker synproxy batch†ookup with"); - -1802 - `´štf -("…ack‘ mask %p\n", (*)* -pkts_mask -); - -1804 - } -} - - @VIL/conntrack/rte_cnxn_tracking.h - -17 #iâdeà -_CNXN_TRACKING_H - - -18  - #_CNXN_TRACKING_H - - - ) - -20  - ~<¡dlib.h -> - -21  - ~<¡ršg.h -> - -22  - ~<š‰y³s.h -> - -23  - ~<¡dboÞ.h -> - -26  - ~<¹e_hash.h -> - -27  - ~<¹e_‘h”.h -> - -29  - ~"¹e_ù_tý.h -" - -54  -¹e_ù_úxn_Œack” - - g__¹e_ÿche_®igÃd -; - -56  -¹e_CT_hi_couÁ”_block_š_u£ -; - -58  - s¹e_CT_couÁ”_block - { - -60 -ušt64_t - - mcu¼’t_aùive_£ssiÚs -; - -61 -ušt64_t - - m£ssiÚs_aùiv©ed -; - -63 -ušt64_t - - m£ssiÚs_»aùiv©ed -; - -65 -ušt64_t - - m£ssiÚs_e¡ablished -; - -66 -ušt64_t - - m£ssiÚs_þo£d -; - -67 -ušt64_t - - m£ssiÚs_timedout -; - -68 -ušt64_t - - mpkts_fÜw¬ded -; - -69 -ušt64_t - - mpkts_drÝ -; - -70 -ušt64_t - - mpkts_drÝ_šv®id_cÚn -; - -71 -ušt64_t - - mpkts_drÝ_šv®id_¡©e -; - -72 -ušt64_t - - mpkts_drÝ_šv®id_r¡ -; - -73 -ušt64_t - - mpkts_drÝ_outof_wšdow -; - -74 } - g__¹e_ÿche_®igÃd -; - -76  - s¹e_syÅroxy_h–³r - { - -77 -ušt64_t - - m»¶y_pkt_mask -; - -78 -ušt64_t - - mhijack_mask -; - -79  -¹e_mbuf - ** - mbufã»d_pkts_to_fÜw¬d -; - -80 -ušt8_t - - mnum_bufã»d_pkts_to_fÜw¬d -; - -83  - s¹e_CT_h–³r - { - -84 -ušt64_t - - mno_Ãw_úxn_mask -; - -85 -ušt64_t - - m»¶y_pkt_mask -; - -86 -ušt64_t - - mhijack_mask -; - -87  -¹e_mbuf - ** - mbufã»d_pkts_to_fÜw¬d -; - -88 -ušt8_t - - mnum_bufã»d_pkts_to_fÜw¬d -; - -91  - #MAX_CT_INSTANCES - 24 - - ) - -93  -¹e_CT_couÁ”_block - -¹e_CT_couÁ”_bË -[ -MAX_CT_INSTANCES -] - -94 -__¹e_ÿche_®igÃd -; - -122 -ušt64_t - - -123 -¹e_ù_úxn_Œack”_b©ch_lookup -( - -124  -¹e_ù_úxn_Œack” - * -ù -, - -125  -¹e_mbuf - ** -pkts -, - -126 -ušt64_t - -pkts_mask -, - -127  -¹e_CT_h–³r - * -ù_h–³r -); - -130 -¹e_ù_úxn_Œack”_b©ch_lookup_ty³ -( - -131  -¹e_ù_úxn_Œack” - * -ù -, - -132  -¹e_mbuf - ** -pkts -, - -133 -ušt64_t - * -pkts_mask -, - -134  -¹e_CT_h–³r - * -ù_h–³r -, - -135 -ušt8_t - -_hdr_size_by‹s -); - -169 -ušt64_t - - -170 -¹e_ù_úxn_Œack”_b©ch_lookup_w™h_Ãw_úxn_cÚŒÞ -( - -171  -¹e_ù_úxn_Œack” - * -ù -, - -172  -¹e_mbuf - ** -pkts -, - -173 -ušt64_t - -pkts_mask -, - -174 -ušt64_t - -no_Ãw_úxn_mask -); - -205 -ušt64_t - - -206 -¹e_ù_úxn_Œack”_b©ch_lookup_w™h_syÅroxy -( - -207  -¹e_ù_úxn_Œack” - * -ù -, - -208  -¹e_mbuf - ** -pkts -, - -209 -ušt64_t - -pkts_mask -, - -210  -¹e_syÅroxy_h–³r - * -¥_h–³r -); - -239  -¹e_mbuf - * - -240 -¹e_ù_g‘_bufã»d_syÅroxy_·ck‘s -( -¹e_ù_úxn_Œack” - * -ù -); - -259 -¹e_ù_š™Ÿlize_úxn_Œack”_w™h_syÅroxy -( - -260  -¹e_ù_úxn_Œack” - * -Ãw_úxn_Œack” -, - -261 -ušt32_t - -max_cÚÃùiÚ_couÁ -, - -262 * -Çme -, - -263 -ušt16_t - -poš‹r_off£t -); - -283 -¹e_ù_š™Ÿlize_úxn_Œack” -( - -284  -¹e_ù_úxn_Œack” - * -Ãw_úxn_Œack” -, - -285 -ušt32_t - -max_cÚÃùiÚ_couÁ -, - -286 * -Çme -); - -301 -¹e_ù_ä“_úxn_Œack”_»sourûs -( - -302  -¹e_ù_úxn_Œack” - * -Þd_úxn_Œack” -); - -313 -¹e_ù_g‘_úxn_Œack”_size -(); - -323  -¹e_CT_couÁ”_block -* - -324 -¹e_ù_g‘_couÁ”_add»ss -( -¹e_ù_úxn_Œack” - * -ù -); - -346 -¹e_ù_£t_cÚfigu¿tiÚ_ÝtiÚs -( - -347  -¹e_ù_úxn_Œack” - * -ù -, - -348 * -Çme -, - -349 * -v®ue -); - -363 -¹e_ù_hªdË_expœed_tim”s -( -¹e_ù_úxn_Œack” - * -ù -); - -367 -¹e_ù_g‘_IP_hdr_size -( -¹e_mbuf - * -pkt -); - -378 -¹e_ù_’abË_syÅroxy -( -¹e_ù_úxn_Œack” - * -ù -); - -389 -¹e_ù_di§bË_syÅroxy -( -¹e_ù_úxn_Œack” - * -ù -); - -391 -¹e_ù_š™Ÿlize_deçuÉ_timeouts -( - -392  -¹e_ù_úxn_Œack” - * -Ãw_úxn_Œack” -); - -394 -ušt8_t - - -395 -¹e_ù_ü—‹_úxn_hashkey -( - -396 -ušt32_t - * -¤c_addr -, - -397 -ušt32_t - * -d¡_addr -, - -398 -ušt16_t - -¤c_pÜt -, - -399 -ušt16_t - -d¡_pÜt -, - -400 -ušt8_t - -´Ùo -, - -401 -ušt32_t - * -key -, - -402 -ušt8_t - -ty³ -); - -405 #ifdeà -CT_CGNAT - - -406 -ušt32_t - -g‘_tim”_cÜe_id -(); - -407 -ušt64_t - -cgDZ_ù_´oûss -( - -408  -¹e_ù_úxn_Œack” - * -ù -, - -409  -¹e_mbuf - ** -pkts -, - -410 -ušt64_t - -pkts_mask -, - -411  -¹e_CT_h–³r - * -ù_h–³r -); - - @VIL/conntrack/rte_ct_synproxy.c - -17  - ~<¡dio.h -> - -18  - ~<¡dlib.h -> - -19  - ~<¡dšt.h -> - -20  - ~<¡ddef.h -> - -21  - ~<¡ršg.h -> - -22  - ~ - -24  - ~<¹e_commÚ.h -> - -25  - ~<¹e_m®loc.h -> - -26  - ~<¹e_‘h”.h -> - -27  - ~<¹e_.h -> - -28  - ~<¹e_udp.h -> - -29  - ~<¹e_icmp.h -> - -30  - ~<¹e_by‹Üd”.h -> - -31  - ~<¹e_cyþes.h -> - -33  - ~"¹e_ù_tý.h -" - -71  - #META_DATA_OFFSET - 128 - - ) - -72  - #ETHERNET_START - ( -META_DATA_OFFSET - + -RTE_PKTMBUF_HEADROOM -) - - ) - -73  - #ETH_HDR_SIZE - 14 - - ) - -74  - #IP_START - ( -ETHERNET_START - + -ETH_HDR_SIZE -) - - ) - -75  - #PROTOCOL_START - ( -IP_START - + 9) - - ) - -76  - #IP_V4_HEADER_SIZE - 20 - - ) - -77  - #IP_V6_HEADER_SIZE - 40 - - ) - -78  - #TCP_START - ( -IP_START - + -IP_V4_HEADER_SIZE -) - - ) - -79  - #TCP_MIN_HDR_SIZE - 20 - - ) - -81  - #RTE_TCP_PROTO_ID - 6 - - ) - -82  - #RTE_SP_DEFAULT_TTL - 64 - - ) - -84  - #RTE_SYNPROXY_MAX_SPOOFED_PKTS - 64 - - ) - -86  - #RTE_TCP_SYN - 0x02 - - ) - -87  - #RTE_TCP_ACK - 0x10 - - ) - -88  - #RTE_TCP_SYN_ACK - ( -RTE_TCP_SYN - | -RTE_TCP_ACK -) - - ) - -90  - #RTE_SP_DEFAULT_WINDOW - 29200 - - ) - -91  - #RTE_CT_DEBUG_SPOOFED_SEQ - 0 - - ) - -92  - #RTE_DPDK_IS_16_4 - 0 - - ) - -94  - #IP_VERSION_4 - 4 - - ) - -95  - #IP_VERSION_6 - 6 - - ) - -101  -¹e_syÅroxy_ÝtiÚs - - gdeçuÉ_v4_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šdow_sÿË - = 7, - -107 . - gš™Ÿl_wšdow - = -RTE_SP_DEFAULT_WINDOW - - -111  -¹e_syÅroxy_ÝtiÚs - - gdeçuÉ_v6_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šdow_sÿË - = 7, - -117 . - gš™Ÿl_wšdow - = -RTE_SP_DEFAULT_WINDOW - - -121  -__¹e_unu£d -  - -122 - $¹e_ù_syÅroxy_´št_pkt_šfo -( -¹e_mbuf - * -pkt -) - -124  -v4_hdr - * -ihdr4 - = (ipv4_hdr *) - -125 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -126 -__¹e_unu£d -  -tý_hdr - * -thdr - = (tcp_hdr *) - -127 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -TCP_START -); - -128 -ušt32_t - -·ck‘_Ëngth - = - `¹e_pktmbuf_pkt_Ën -( -pkt -); - -130 - `´štf -("\Åack‘†’gth %u, i°Ëngth %u\n", -·ck‘_Ëngth -, - -131 - `¹e_bsw­16 -( -ihdr4 --> -tÙ®_Ëngth -)); - -132 - `¹e_pktmbuf_dump -( -¡dout -, -pkt -, 80); - -133 - } -} - -135  -šlše -  - -136 - $¹e_¥_šüem’l_tý_chksum_upd©e_32 -( - -137 -ušt32_t - -num_befÜe -, - -138 -ušt32_t - -num_aᔠ-, - -140 -ušt16_t - * -chksum -) - -142 -ušt32_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ᔠ- >> 16) + (num_after & 0xffff); - -148 -sum - = (sum >> 16) + (sum & 0xffff); - -149 -sum - += (sum >> 16); - -150 * -chksum - = - `¹e_bsw­16 -(~ -sum - & 0xffff); - -151 - } -} - -155  -šlše - -ušt32_t - - -156 - $¹e_¥_g‘_¿ndom_£q_numb” -() - -158  - `¹e_g‘_tsc_cyþes -(); - -159 - } -} - -162  -št8_t - - $¹e_ù_v”siÚ -(* -i_hdr -) - -164 -ušt8_t - * -ihdr - = (ušt8_ˆ*) -i_hdr -; - -165 -št8_t - -hdr_chk - = * -ihdr -; - -167 -hdr_chk - = hdr_chk >> 4; - -168 ià( -hdr_chk - =ð -IP_VERSION_4 - || hdr_chk =ð -IP_VERSION_6 -) - -169  -hdr_chk -; - -172 - } -} - -174  -šlše -  - -175 - $¹e_syÅroxy_adju¡_pkt_Ëngth -( -¹e_mbuf - * -pkt -) - -177 -ušt16_t - -pkt_Ëngth - = 0; - -178  -_hdr_size_by‹s - = - `¹e_ù_g‘_IP_hdr_size -( -pkt -); - -179 * -hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -181 ià( -_hdr_size_by‹s - =ð -IP_V4_HEADER_SIZE -) { - -182  -v4_hdr - * -ihdr4 - = (v4_hd¸*) -hdr -; - -184 -pkt_Ëngth - = - `¹e_bsw­16 -( -ihdr4 --> -tÙ®_Ëngth -è+ -ETH_HDR_SIZE -; - -185 } ià( -_hdr_size_by‹s - =ð -IP_V6_HEADER_SIZE -) { - -186  -v6_hdr - * -ihdr6 - = (v6_hd¸*) -hdr -; - -188 -pkt_Ëngth - = - `¹e_bsw­16 -( -ihdr6 --> -·ylßd_Ën -) + - -189 -IP_V6_HEADER_SIZE - + -ETH_HDR_SIZE -; - -191 -ušt16_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_Œim -( -pkt -, -mbuf_pkt_Ëngth - - -pkt_Ëngth -); - -202 - `¹e_pktmbuf_­³nd -( -pkt -, -pkt_Ëngth - - -mbuf_pkt_Ëngth -); - -203 - } -} - -206 - $¹e_syÅroxy_bužd_v4_h—d” -( - -207  -v4_hdr - * -hdr4 -, - -208 -ušt32_t - -¤c_addr -, - -209 -ušt32_t - -d¡_addr -, - -210 -ušt16_t - -tý_Ëngth -) - -214 -hdr4 --> -v”siÚ_ihl - = 0x45; - -215 -hdr4 --> -ty³_of_£rviû - = 0; - -216 -hdr4 --> -tÙ®_Ëngth - = - `¹e_bsw­16 -( -tý_Ëngth - + -IP_V4_HEADER_SIZE -); - -217 -hdr4 --> -·ck‘_id - = 0; - -219 -hdr4 --> -äagm’t_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žd_v6_h—d” -( - -230  -v6_hdr - * -hdr6 -, - -231 -ušt8_t - * -¤c_addr -, - -232 -ušt8_t - * -d¡_addr -, - -233 -ušt16_t - -tý_Ëngth -) - -237 -ušt8_t - -‹mp_¤c -[16]; - -238 -ušt8_t - -‹mp_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™s - = -RTE_SP_DEFAULT_TTL -; - -247 - `¹e_mov16 -( -‹mp_¤c -, -¤c_addr -); - -248 - `¹e_mov16 -( -‹mp_d¡ -, -d¡_addr -); - -249 - `¹e_mov16 -( -hdr6 --> -¤c_addr -, -‹mp_¤c -); - -250 - `¹e_mov16 -( -hdr6 --> -d¡_addr -, -‹mp_d¡ -); - -251 - } -} - -255  -ušt16_t - - -256 - $¹e_¥_add_tý_ÝtiÚs -( -tý_hdr - * -thdr -, - -257 cÚ¡  -¹e_syÅroxy_ÝtiÚs - * -t_Ýts -) - -259 -ušt32_t - * -ÝtiÚs_±r - = (ušt32_ˆ*)( -thdr - + 1); - -260 -ušt32_t - * -§ved_±r - = -ÝtiÚs_±r -; - -261 -ušt8_t - -ÝtiÚs - = -t_Ýts -->options; - -262 -ušt32_t - -ÝtiÚ_by‹s -; - -264 ià( -ÝtiÚs - & -RTE_SP_OPTIONS_MSS -) { - -265 -ÝtiÚ_by‹s - = ( -RTE_CT_TCPOPT_MSS - << 24) | - -266 ( -RTE_CT_TCPOLEN_MSS - << 16è| -t_Ýts --> -mss -; - -267 * -ÝtiÚs_±r -++ = - `¹e_bsw­32 -( -ÝtiÚ_by‹s -); - -270 ià( -ÝtiÚs - & -RTE_SP_OPTIONS_TIMESTAMP -) { - -274 ià( -ÝtiÚs - & -RTE_SP_OPTIONS_SACK_PERM -) - -275 -ÝtiÚ_by‹s - = ( -RTE_CT_TCPOPT_SACK_PERM - << 24) | - -276 ( -RTE_CT_TCPOLEN_SACK_PERM - << 16); - -278 -ÝtiÚ_by‹s - = ( -RTE_CT_TCPOPT_NOP - << 24) | - -279 ( -RTE_CT_TCPOPT_NOP - << 16); - -281 -ÝtiÚ_by‹s - |ð( -RTE_CT_TCPOPT_TIMESTAMP - << 8) | - -282 -RTE_CT_TCPOLEN_TIMESTAMP -; - -283 * -ÝtiÚs_±r -++ = - `¹e_bsw­32 -( -ÝtiÚ_by‹s -); - -284 * -ÝtiÚs_±r -++ = - `¹e_bsw­32 -( -t_Ýts --> -ts_v® -); - -285 * -ÝtiÚs_±r -++ = - `¹e_bsw­32 -( -t_Ýts --> -ts_echo_»¶y -); - -286 } ià( -ÝtiÚs - & -RTE_SP_OPTIONS_SACK_PERM -) { - -287 -ÝtiÚ_by‹s - = ( -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‹s -); - -294 ià( -ÝtiÚs - & -RTE_SP_OPTIONS_WINDOW_SCALE -) { - -295 -ÝtiÚ_by‹s - = ( -RTE_CT_TCPOPT_NOP - << 24) | - -296 ( -RTE_CT_TCPOPT_WINDOW - << 16) | - -297 ( -RTE_CT_TCPOLEN_WINDOW - << 8) | - -298 -t_Ýts --> -wšdow_sÿË -; - -299 * -ÝtiÚs_±r -++ = - `¹e_bsw­32 -( -ÝtiÚ_by‹s -); - -306 -ušt16_t - -d©a_off£t_by‹s - = (ušt16_t) - `RTE_PTR_DIFF -( -ÝtiÚs_±r -, - -307 -§ved_±r -è+ ( -tý_hdr -); - -308 -thdr --> -d©a_off - = ( -d©a_off£t_by‹s - >> 2) << 4; - -310  -d©a_off£t_by‹s -; - -311 - } -} - -318  -šlše - -ušt16_t - - -319 - $¹e_syÅroxy_bužd_tý_h—d” -( - -320 -__¹e_unu£d -  -¹e_mbuf - * -Þd_pkt -, - -321  -tý_hdr - * -t_hdr -, - -322 -ušt16_t - -¤c_pÜt -, - -323 -ušt16_t - -d¡_pÜt -, - -324 -ušt32_t - -£q -, - -325 -ušt32_t - -ack -, - -326 -ušt8_t - -æags -, - -327 cÚ¡  -¹e_syÅroxy_ÝtiÚs - * -t_Ýts -, - -328 -ušt8_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š - = -t_Ýts --> -š™Ÿl_wšdow -; - -338 -t_hdr --> -tý_u½ - = 0; - -342 -ušt16_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  -Ãw_tý_hdr_size -; - -350 - } -} - -353 - $¹e_syÅroxy_compu‹_checksums -(* -i_hdr -,  -tý_hdr - * -t_hdr -) - -364 -št8_t - -hdr_chk - = - `¹e_ù_v”siÚ -( -i_hdr -); - -366 -t_hdr --> -cksum - = 0; - -368 ià( -hdr_chk - =ð -IP_VERSION_4 -) { - -369  -v4_hdr - * -i4_hdr - = (v4_hd¸*) -i_hdr -; - -371 -i4_hdr --> -hdr_checksum - = 0; - -372 -t_hdr --> -cksum - = - `¹e_v4_ud±ý_cksum -( -i4_hdr -,_hdr); - -373 -i4_hdr --> -hdr_checksum - = - `¹e_v4_cksum -(i4_hdr); - -374 } ià( -hdr_chk - =ð -IP_VERSION_6 -) { - -375  -v6_hdr - * -i6_hdr - = (v6_hd¸*) -i_hdr -; - -377 -t_hdr --> -cksum - = - `¹e_v6_ud±ý_cksum -( -i6_hdr -,_hdr); - -379 - } -} - -391 - $¹e_¥_cvt_to_¥ooãd_þ›Á_syÇck -( -¹e_ù_úxn_d©a - * -cd -, - -392  -¹e_mbuf - * -Þd_pkt -) - -398  -_hdr_size_by‹s - = - `¹e_ù_g‘_IP_hdr_size -( -Þd_pkt -); - -399 * -hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -Þd_pkt -, -IP_START -); - -400  -tý_hdr - * -thdr - = (tcp_hdr *) - -401 - `RTE_MBUF_METADATA_UINT32_PTR -( -Þd_pkt -, -IP_START - + - -402 -_hdr_size_by‹s -); - -403 -ušt16_t - -tý_h—d”_size -; - -406 -ušt32_t - -Ãw_£q - = - `¹e_¥_g‘_¿ndom_£q_numb” -(); - -408 ià( -RTE_CT_DEBUG_SPOOFED_SEQ -) - -409 -Ãw_£q - = 10; - -411 -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -Üigš®_¥ooãd_£q - = -Ãw_£q -; - -414 -tý_h—d”_size - = - `¹e_syÅroxy_bužd_tý_h—d” -( -Þ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 -_hdr_size_by‹s - =ð -IP_V4_HEADER_SIZE - ? - -420 & -deçuÉ_v4_syÅroxy_ÝtiÚs - : - -421 & -deçuÉ_v6_syÅroxy_ÝtiÚs -, 1); - -424 ià( -_hdr_size_by‹s - =ð -IP_V4_HEADER_SIZE -) { - -425  -v4_hdr - * -ihdr4 - = (v4_hd¸*) -hdr -; - -427 - `¹e_syÅroxy_bužd_v4_h—d” -( -ihdr4 -, - -428 - `¹e_bsw­32 -( -ihdr4 --> -d¡_addr -), - -429 - `¹e_bsw­32 -( -ihdr4 --> -¤c_addr -), -tý_h—d”_size -); - -431 } ià( -_hdr_size_by‹s - =ð -IP_V6_HEADER_SIZE -) { - -432  -v6_hdr - * -ihdr6 - = (v6_hd¸*) -hdr -; - -434 - `¹e_syÅroxy_bužd_v6_h—d” -( -ihdr6 -, - -435 ( -ušt8_t - *) -ihdr6 --> -d¡_addr -, - -436 ( -ušt8_t - *) -ihdr6 --> -¤c_addr -, -tý_h—d”_size -); - -438 - `¹e_syÅroxy_adju¡_pkt_Ëngth -( -Þd_pkt -); - -440 - `¹e_syÅroxy_compu‹_checksums -( -hdr -, -thdr -); - -442 - } -} - -446 - $¹e_¥_cvt_to_¥ooãd_£rv”_syn -( -¹e_ù_úxn_d©a - * -cd -, - -447  -¹e_mbuf - * -Þd_pkt -) - -453  -_hdr_size_by‹s - = - `¹e_ù_g‘_IP_hdr_size -( -Þd_pkt -); - -454 * -hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -Þd_pkt -, -IP_START -); - -455  -tý_hdr - * -thdr - = (tcp_hdr *) - -456 - `RTE_MBUF_METADATA_UINT32_PTR -( -Þd_pkt -, -IP_START - - -457 + -_hdr_size_by‹s -); - -458 -ušt16_t - -tý_h—d”_size -; - -460 -tý_h—d”_size - = - `¹e_syÅroxy_bužd_tý_h—d” -( -Þ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à( -_hdr_size_by‹s - =ð -IP_V4_HEADER_SIZE -) { - -468  -v4_hdr - * -ihdr4 - = (v4_hd¸*) -hdr -; - -470 - `¹e_syÅroxy_bužd_v4_h—d” -( -ihdr4 -, - -471 - `¹e_bsw­32 -( -ihdr4 --> -¤c_addr -), - -472 - `¹e_bsw­32 -( -ihdr4 --> -d¡_addr -), -tý_h—d”_size -); - -473 } ià( -_hdr_size_by‹s - =ð -IP_V6_HEADER_SIZE -) { - -474  -v6_hdr - * -ihdr6 - = (v6_hd¸*) -hdr -; - -476 - `¹e_syÅroxy_bužd_v6_h—d” -( -ihdr6 -, - -477 ( -ušt8_t - *) -ihdr6 --> -¤c_addr -, - -478 ( -ušt8_t - *) -ihdr6 --> -d¡_addr -, -tý_h—d”_size -); - -481 - `¹e_syÅroxy_adju¡_pkt_Ëngth -( -Þd_pkt -); - -483 - `¹e_syÅroxy_compu‹_checksums -( -hdr -, -thdr -); - -485 - } -} - -488 - $¹e_¥_cvt_to_¥ooãd_£rv”_ack -( -¹e_ù_úxn_d©a - * -cd -, - -489  -¹e_mbuf - * -Þd_pkt -) - -495  -_hdr_size_by‹s - = - `¹e_ù_g‘_IP_hdr_size -( -Þd_pkt -); - -496 * -hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -Þd_pkt -, -IP_START -); - -497  -tý_hdr - * -thdr - = (tcp_hdr *) - -498 - `RTE_MBUF_METADATA_UINT32_PTR -( -Þd_pkt -, -IP_START - + - -499 -_hdr_size_by‹s -); - -504 -ušt32_t - -»®_£q - = - `¹e_bsw­32 -( -thdr --> -£Á_£q -); - -505 -ušt16_t - -tý_h—d”_size -; - -507 -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -£q_diff - = - -508 -»®_£q - - -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -Üigš®_¥ooãd_£q -; - -511 -tý_h—d”_size - = - `¹e_syÅroxy_bužd_tý_h—d” -( -Þ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à( -_hdr_size_by‹s - =ð -IP_V4_HEADER_SIZE -) { - -520  -v4_hdr - * -ihdr4 - = (v4_hd¸*) -hdr -; - -522 - `¹e_syÅroxy_bužd_v4_h—d” -( -ihdr4 -, - -523 - `¹e_bsw­32 -( -ihdr4 --> -d¡_addr -), - -524 - `¹e_bsw­32 -( -ihdr4 --> -¤c_addr -), -tý_h—d”_size -); - -526 } ià( -_hdr_size_by‹s - =ð -IP_V6_HEADER_SIZE -) { - -527  -v6_hdr - * -ihdr6 - = (v6_hd¸*) -hdr -; - -529 - `¹e_syÅroxy_bužd_v6_h—d” -( -ihdr6 -, - -530 ( -ušt8_t - *) -ihdr6 --> -d¡_addr -, - -531 ( -ušt8_t - *) -ihdr6 --> -¤c_addr -, -tý_h—d”_size -); - -533 - `¹e_syÅroxy_adju¡_pkt_Ëngth -( -Þd_pkt -); - -535 - `¹e_syÅroxy_compu‹_checksums -( -hdr -, -thdr -); - -536 - } -} - -551 - $¹e_¥_adju¡_£rv”_£q_aá”_wšdow_check -( - -552  -¹e_ù_úxn_d©a - * -cd -, - -553 -__¹e_unu£d - * -i_hdr -, - -554  -tý_hdr - * -thdr -, - -555 -¹e_ù_pkt_dœeùiÚ - -dœ -) - -557 -ušt32_t - -num_befÜe -, -num_aᔠ-; - -559 ià(! -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -úxn_e¡ablished -) - -562 ià( -dœ - =ð -RTE_CT_DIR_ORIGINAL -) - -567 -num_befÜe - = - `¹e_bsw­32 -( -thdr --> -£Á_£q -); - -568 -num_aᔠ- = -num_befÜe - - -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -£q_diff -; - -569 -thdr --> -£Á_£q - = - `¹e_bsw­32 -( -num_aᔠ-); - -571 - `¹e_¥_šüem’l_tý_chksum_upd©e_32 -( -num_befÜe -, -num_aᔠ-, - -572 & -thdr --> -cksum -); - -573 - } -} - -577 - $¹e_¥_adju¡_þ›Á_§ck_’Œ›s -( - -578  -tý_hdr - * -thdr -, - -579 -ušt32_t - -diff -) - -581 -ušt32_t - -num_befÜe -, -num_aᔠ-; - -582 -ušt32_t - * -§ck_±r -; - -583 -ušt8_t - -§ck_blk_size -; - -584 -ušt16_t - -d©aoff_š_by‹s - = ( -thdr --> -d©a_off - & 0xf0) >> 2; - -585 -ušt16_t - -Ëngth - = -d©aoff_š_by‹s - - ( -tý_hdr -); - -587 ià(! -Ëngth -) - -590 -ušt8_t - * -ÝtiÚs_±r - = (ušt8_ˆ*)( -thdr - + 1); - -592  -Ëngth - > 0) { - -593 -ušt8_t - -Ýcode - = * -ÝtiÚs_±r -; - -594 -ušt8_t - -Ýsize - = -ÝtiÚs_±r -[1]; - -595  -i -; - -597  -Ýcode -) { - -599  -RTE_CT_TCPOPT_EOL -: - -602  -RTE_CT_TCPOPT_NOP -: - -603 -Ëngth ---; - -604 -ÝtiÚs_±r -++; - -607  -RTE_CT_TCPOPT_SACK -: - -616 -§ck_blk_size - = -Ýsize - - 2; - -618 -§ck_±r - = ( -ušt32_t - *)( -ÝtiÚs_±r - + 2); - -620  -num_acks - = -§ck_blk_size - >> 2; - -622 ià( - `uÆik–y -( -§ck_blk_size - > 32 || - -623 (( -§ck_blk_size - & 0x3) != 0))) { - -624 - `´štf -("Sack block…arsing failure\n"); - -628  -i - = 0; i < -num_acks -; i++) { - -629 -num_befÜe - = - `¹e_bsw­32 -(* -§ck_±r -); - -630 -num_aᔠ- = -num_befÜe - + -diff -; - -631 * -§ck_±r - = - `¹e_bsw­32 -( -num_aᔠ-); - -632 -§ck_±r -++; - -633 - `¹e_¥_šüem’l_tý_chksum_upd©e_32 -( - -634 -num_befÜe -, - -635 -num_aᔠ-, - -636 & -thdr --> -cksum -); - -643 ià(( -Ýsize - < 2è|| (Ýsiz> -Ëngth -)) { - -644 - `´štf -("ERROR!, opsize %i,†ength %i\n", - -645 -Ýsize -, -Ëngth -); - -649 -ÝtiÚs_±r - +ð -Ýsize -; - -650 -Ëngth - -ð -Ýsize -; - -652 - } -} - -655 - $¹e_¥_adju¡_þ›Á_ack_befÜe_wšdow_check -( - -656  -¹e_ù_úxn_d©a - * -cd -, - -657 -__¹e_unu£d - * -i_hdr -, - -658  -tý_hdr - * -thdr -, - -659 -¹e_ù_pkt_dœeùiÚ - -dœ -) - -661 -ušt32_t - -num_befÜe -, -num_aᔠ-; - -663 ià(! -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -úxn_e¡ablished -) - -666 ià( -dœ - !ð -RTE_CT_DIR_ORIGINAL -) - -671 -num_befÜe - = - `¹e_bsw­32 -( -thdr --> -»cv_ack -); - -672 -num_aᔠ- = -num_befÜe - + -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -£q_diff -; - -673 -thdr --> -»cv_ack - = - `¹e_bsw­32 -( -num_aᔠ-); - -674 - `¹e_¥_šüem’l_tý_chksum_upd©e_32 -( -num_befÜe -, - -675 -num_aᔠ-, & -thdr --> -cksum -); - -680 - `¹e_¥_adju¡_þ›Á_§ck_’Œ›s -( -thdr -, - -681 -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -£q_diff -); - -686 - } -} - -693 - $¹e_¥_·r£_tý_ÝtiÚs -( - -694 -ušt8_t - * -ÝtiÚs_±r -, - -695 -ušt16_t - -Ëngth -, - -696  -¹e_syÅroxy_ÝtiÚs - * -t_Ýts -) - -698  -Ýsize -; - -700 -t_Ýts --> -ÝtiÚs - = 0; - -702  -Ëngth - > 0) { - -703 -ušt8_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–y -( -Ýsize - < 2 || opsiz> -Ëngth -)) { - -717 - `´štf -("parsingƒrror, opsize: %i,†ength: %i\n", - -718 -Ýsize -, -Ëngth -); - -722  -Ýcode -) { - -724  -RTE_CT_TCPOPT_MSS -: - -725 ià( -Ýsize - =ð -RTE_CT_TCPOLEN_MSS -) { - -726 -ušt16_t - * -mss_±r - = (ušt16_ˆ*) -ÝtiÚs_±r -; - -728 -t_Ýts --> -mss - = - `¹e_bsw­16 -(* -mss_±r -); - -729 -t_Ýts --> -ÝtiÚs - |ð -RTE_SP_OPTIONS_MSS -; - -733  -RTE_CT_TCPOPT_WINDOW -: - -734 ià( -Ýsize - =ð -RTE_CT_TCPOLEN_WINDOW -) { - -735 -t_Ýts --> -wšdow_sÿË - = - `RTE_MIN -(* -ÝtiÚs_±r -, - -736 -RTE_CT_MAX_TCP_WINDOW_SCALE -); - -737 -t_Ýts --> -ÝtiÚs - |ð -RTE_SP_OPTIONS_WINDOW_SCALE -; - -741  -RTE_CT_TCPOPT_TIMESTAMP -: - -742 ià( -Ýsize - =ð -RTE_CT_TCPOLEN_TIMESTAMP -) { - -743 -ušt32_t - * -ts_v®_±r - = (ušt32_ˆ*) -ÝtiÚs_±r -; - -744 -ušt32_t - * -ts_eü_±r - = - -745 ( -ušt32_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  -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 -( -¹e_mbuf - * -pkt -,  -¹e_ù_úxn_d©a - * -cd -) - -775  -_hdr_Ëngth - = - `¹e_ù_g‘_IP_hdr_size -( -pkt -); - -776  -tý_hdr - * -thdr - = (tcp_hdr *) - -777 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START - + -_hdr_Ëngth -); - -778 -ušt8_t - * -Ýt_±r - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, - -779 ( -IP_START - + -_hdr_Ëngth - + ( -tý_hdr -))); - -781  -¹e_syÅroxy_ÝtiÚs - * -t_Ýts - = - -782 & -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -úxn_ÝtiÚs -; - -783  -Ëngth_š_by‹s - = - -784 (( -thdr --> -d©a_off - & 0xf0è>> 2è- ( -tý_hdr -); - -786 - `¹e_¥_·r£_tý_ÝtiÚs -( -Ýt_±r -, -Ëngth_š_by‹s -, -t_Ýts -); - -787 -t_Ýts --> -š™Ÿl_wšdow - = -thdr --> -rx_wš -; - -788 - } -} - -793  -¹e_mbuf - * - -794 - $¹e_ù_g‘_bufã»d_syÅroxy_·ck‘s -( - -795  -¹e_ù_úxn_Œack” - * -ù -) - -797  -¹e_mbuf - * -Œkr_li¡ - = -ù --> -bufã»d_pkt_li¡ -; - -799 -ù --> -bufã»d_pkt_li¡ - = -NULL -; - -800  -Œkr_li¡ -; - -801 - } -} - -805  - $¹e_ù_’abË_syÅroxy -( -¹e_ù_úxn_Œack” - * -ù -) - -807 -ù --> -misc_ÝtiÚs -. -syÅroxy_’abËd - = 1; - -808 - `´štf -("rte_ct_enable_synproxy = %d\n", - -809 -ù --> -misc_ÝtiÚs -. -syÅroxy_’abËd -); - -810 - } -} - -812  - $¹e_ù_di§bË_syÅroxy -( -¹e_ù_úxn_Œack” - * -ù -) - -814 -ù --> -misc_ÝtiÚs -. -syÅroxy_’abËd - = 0; - -817 - } -} - -820 - $¹e_ù_bufãr_·ck‘ -( - -821  -¹e_ù_úxn_Œack” - * -ù -, - -822  -¹e_ù_úxn_d©a - * -cd -, - -823  -¹e_mbuf - * -pkt -) - -831  -¹e_mbuf - ** -Ãxt - = (rte_mbuf **) - -832 - `RTE_MBUF_METADATA_UINT64_PTR -( -pkt -, - -833 -ù --> -poš‹r_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‘s -( - -840  -¹e_ù_úxn_Œack” - * -ù -, - -841  -¹e_ù_úxn_d©a - * -cd -) - -843  -¹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  -¹e_mbuf - * -Œkr_li¡ - = -ù --> -bufã»d_pkt_li¡ -; - -853 ià( -Œkr_li¡ - =ð -NULL -) - -860  -úxn_li¡ - !ð -NULL -) { - -861  -¹e_mbuf - * -Þd_Ãxt -; - -863  -¹e_mbuf - ** -Ãxt - = (rte_mbuf **) - -864 - `RTE_MBUF_METADATA_UINT64_PTR -( -úxn_li¡ -, - -865 -ù --> -poš‹r_off£t -); - -867 -Þd_Ãxt - = * -Ãxt -; - -868 * -Ãxt - = -Œkr_li¡ -; - -869 -Œkr_li¡ - = -úxn_li¡ -; - -870 -úxn_li¡ - = -Þd_Ãxt -; - -872 -ù --> -bufã»d_pkt_li¡ - = -Œkr_li¡ -; - -873 - } -} - - @VIL/conntrack/rte_ct_tcp.c - -17  - ~<¡dlib.h -> - -18  - ~<¡ršg.h -> - -19  - ~ - -20  - ~<š‰y³s.h -> - -21  - ~"¹e_ù_tý.h -" - -22  - ~"¹e_úxn_Œackšg.h -" - -25  - #CT_DEBUG - 0 - - ) - -26  - #STATE_TRACKING - 0 - - ) - -27  - #RTE_CT_ASSERT - 0 - - ) - -30  - #META_DATA_OFFSET - 128 - - ) - -31  - #RTE_PKTMBUF_HEADROOM - 128 - - ) - -32  - #ETHERNET_START - ( -META_DATA_OFFSET - + -RTE_PKTMBUF_HEADROOM -) - - ) - -33  - #ETH_HDR_SIZE - 14 - - ) - -34  - #IP_START - ( -ETHERNET_START - + -ETH_HDR_SIZE -) - - ) - -36  - #IPv4_HEADER_SIZE - 20 - - ) - -37  - #IPv6_HEADER_SIZE - 40 - - ) - -39  - #IP_VERSION_4 - 4 - - ) - -40  - #IP_VERSION_6 - 6 - - ) - -42  - #¹e_aᔠ-( -£q2 -, -£q1 -è - `¹e_befÜe -(£q1, seq2) - - ) - -43  -šlše - -ušt8_t - - $¹e_befÜe -( -ušt32_t - -£q1 -, ušt32_ˆ -£q2 -) - -45  ( -št32_t -è( -£q1 - - -£q2 -) < 0; - -46 - } -} - -50  - #ùNO - -RTE_CT_TCP_NONE - - - ) - -51  - #ùSS - -RTE_CT_TCP_SYN_SENT - - - ) - -52  - #ùSR - -RTE_CT_TCP_SYN_RECV - - - ) - -53  - #ùES - -RTE_CT_TCP_ESTABLISHED - - - ) - -54  - #ùFW - -RTE_CT_TCP_FIN_WAIT - - - ) - -55  - #ùCW - -RTE_CT_TCP_CLOSE_WAIT - - - ) - -56  - #ùLA - -RTE_CT_TCP_LAST_ACK - - - ) - -57  - #ùTW - -RTE_CT_TCP_TIME_WAIT - - - ) - -58  - #ùCL - -RTE_CT_TCP_CLOSE - - - ) - -59  - #ùS2 - -RTE_CT_TCP_SYN_SENT_2 - - - ) - -60  - #ùIV - -RTE_CT_TCP_MAX - - - ) - -61  - #ùIG - -RTE_CT_TCP_IGNORE - - - ) - -63 cÚ¡ -ušt8_t - - g¹e_ù_tý_¡©e_bË -[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 - 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  -ušt8_t - - g¹e_ù_tý_æags_to_¡©e_bË_šdex -[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  -šlše - -ušt8_t - - -142 - $¹e_ù_g‘_šdex -( -ušt8_t - -tý_æags -) - -144 -ušt8_t - -imp܏Á_æags -; - -146 -tý_æags - &= 0x3f; - -147 -imp܏Á_æags - = (( -tý_æags - & 0x10) >> 1) | (tcp_flags & 7); - -150 ià( - `uÆik–y -(( -tý_æags - == 0) || (tcp_flags == 0x3f))) - -152  -RTE_CT_TCP_ILL_FLAG -; - -154  -¹e_ù_tý_æags_to_¡©e_bË_šdex -[ -imp܏Á_æags -]; - -156 - } -} - -158  -šlše -  - -159 - $¹e_ù_e™h”_dœeùiÚ_has_æags -( -¹e_ù_úxn_d©a - * -cd -, -ušt8_t - -æags -) - -161  (( -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -£’ -[0]. -æags - | cd-> - -162 -ù_´ÙocÞ -. -tý_ù_d©a -. -£’ -[1]. -æags -) & flags) != 0; - -163 - } -} - -165  -šlše - -ušt32_t - - $¹e_ù_£q_¶us_Ëngth -( -¹e_mbuf - * -pkt -, - -166 -ušt8_t - -_hdr_size -) - -168 -ušt16_t - -pkt_Ëngth - = 0; - -169  -tý_hdr - * -týh—d” - = - -170 ( -tý_hdr - *) - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -171 ( -IP_START - + - -172 -_hdr_size -)); - -173 -ušt32_t - -tý_hdr_size - = ( -týh—d” --> -d©a_off - & 0xf0) >> 2; - -175 * -_hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -177 ià( -_hdr_size - =ð -IPv4_HEADER_SIZE -) { - -178  -v4_hdr - * -ihdr - = (v4_hd¸*) -_hdr -; - -180 -pkt_Ëngth - = - `¹e_bsw­16 -( -ihdr --> -tÙ®_Ëngth -); - -182 ià( -_hdr_size - =ð -IPv6_HEADER_SIZE -) { - -183  -v6_hdr - * -ihdr - = (v6_hd¸*) -_hdr -; - -185 -pkt_Ëngth - = - `¹e_bsw­16 -( -ihdr --> -·ylßd_Ën -è+ -IPv6_HEADER_SIZE -; - -195  - `¹e_bsw­32 -( -týh—d” --> -£Á_£q -) + - -196 -pkt_Ëngth - - -_hdr_size - - -tý_hdr_size - + - -197 (( -týh—d” --> -tý_æags - & ( -RTE_CT_TCPHDR_SYN - | -RTE_CT_TCPHDR_FIN -)) != - -200 - } -} - -203 - $¹e_ù_check_fÜ_sÿlšg_ªd_§ck_³rm -( - -204  -¹e_mbuf - * -pkt -, - -205  -¹e_ù_tý_¡©e - * -¡©e -, - -206 -ušt8_t - -_hdr_size -) - -209  -tý_hdr - * -týh—d” - = - -210 ( -tý_hdr - *) - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -211 ( -IP_START - + - -212 -_hdr_size -)); - -213 -ušt32_t - -d©aoff_š_by‹s - = ( -týh—d” --> -d©a_off - & 0xf0) >> 2; - -214 -ušt32_t - -Ëngth - = -d©aoff_š_by‹s - - ( -tý_hdr -); - -216 -¡©e --> -sÿË - = 0; - -217 -¡©e --> -æags - = 0; - -219 ià( -Ëngth - == 0) - -222 -ušt8_t - * -ÝtiÚs_±r - = - -223 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, - -224 ( -IP_START - + -_hdr_size - + - -225 ( -tý_hdr -))); - -227  -Ëngth - > 0) { - -228 -ušt8_t - -ÝtiÚ - = * -ÝtiÚs_±r -; - -229 -ušt8_t - -Ýsize - = -ÝtiÚs_±r -[1]; - -232  -ÝtiÚ -) { - -234  -RTE_CT_TCPOPT_EOL -: - -238  -RTE_CT_TCPOPT_NOP -: - -239 -ÝtiÚs_±r -++; - -240 -Ëngth ---; - -243  -RTE_CT_TCPOPT_SACK_PERM -: - -244 ià( -Ýsize - =ð -RTE_CT_TCPOLEN_SACK_PERM -) - -245 -¡©e --> -æags - |ð -RTE_CT_TCP_FLAG_SACK_PERM -; - -248  -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> -Ëngth -)) { - -264 - `´štf -("scaling_and_sack_perm:something wrong\n"); - -267 -ÝtiÚs_±r - +ð -Ýsize -; - -268 -Ëngth - -ð -Ýsize -; - -271 - } -} - -274 - $¹e_ù_týdi¥Ïy_hdr -( -tý_hdr - * -týh—d” -) - -276 - `´štf -("Tý h—d”: src_pÜt=%d", - `¹e_bsw­16 -( -týh—d” --> -¤c_pÜt -)); - -277 - `´štf -(", d¡_pÜt=%d", - `¹e_bsw­16 -( -týh—d” --> -d¡_pÜt -)); - -278 - `´štf -(", s’t_£q=%u", - `¹e_bsw­32 -( -týh—d” --> -£Á_£q -)); - -279 - `´štf -(",„ecv_ack=%u", - `¹e_bsw­32 -( -týh—d” --> -»cv_ack -)); - -280 - `´štf -(",d©a_off=%d", -týh—d” --> -d©a_off - / 16); - -281 - `´štf -(",tý_æags=%02x", -týh—d” --> -tý_æags -); - -282 - `´štf -(",„x_wš=%d\n", - `¹e_bsw­16 -( -týh—d” --> -rx_wš -)); - -284 - } -} - -286  -šlše -  - -287 - $¹e_ù_þ—r_úxn_d©a -( -__¹e_unu£d -  -¹e_ù_úxn_Œack” - * -ù -, - -288  -¹e_ù_úxn_d©a - * -cd -, - -289 -__¹e_unu£d -  -¹e_mbuf - * -pkt -) - -293 - `mem£t -(& -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -, 0, - -294 ( -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -)); - -295 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_šdex - = -RTE_CT_TCP_ILL_FLAG -; - -297 - } -} - -299 -¹e_ù_·ck‘_aùiÚ - - -300 - $¹e_ù_tý_Ãw_cÚÃùiÚ -( - -301  -¹e_ù_úxn_Œack” - * -ù -, - -302  -¹e_ù_úxn_d©a - * -cd -, - -303  -¹e_mbuf - * -pkt -, - -304  -u£_syÅroxy -, - -305 -ušt8_t - -_hdr_size -) - -307  -tý_hdr - * -týh—d” - = - -308 ( -tý_hdr - *) - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -309 ( -IP_START - + -_hdr_size -)); - -311 -¹e_ù_tý_¡©es - -Ãw_¡©e -; - -312 -ušt8_t - -šdex -; - -313  -¹e_ù_tý_¡©e - * -£nd” - = - -314 & -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -£’ -[ -RTE_CT_DIR_ORIGINAL -]; - -315  -¹e_ù_tý_¡©e - * -»ûiv” - = - -316 & -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -£’ -[ -RTE_CT_DIR_REPLY -]; - -317 -ušt16_t - -wš -; - -319 ià( -CT_DEBUG -) - -320 - `¹e_ù_týdi¥Ïy_hdr -( -týh—d” -); - -322 -šdex - = - `¹e_ù_g‘_šdex -( -týh—d” --> -tý_æags -); - -323 -Ãw_¡©e - = -¹e_ù_tý_¡©e_bË -[0][ -šdex -][ -RTE_CT_TCP_NONE -]; - -325 ià( - `uÆik–y -( -Ãw_¡©e - >ð -RTE_CT_TCP_MAX -)) { - -326 ià( -CT_DEBUG -) - -327 - `´štf -("invalid‚ew state with flags %02x\n", - -328 -týh—d” --> -tý_æags -); - -329  -RTE_CT_DROP_PACKET -; - -337 ià( - `uÆik–y -(( -Ãw_¡©e - !ð -RTE_CT_TCP_SYN_SENT - - -338 && -ù --> -misc_ÝtiÚs -. -tý_loo£ - == 0))) { - -341  -RTE_CT_DROP_PACKET -; - -344 ià( -CT_DEBUG -) - -345 - `´štf -("‚ew connection with state %s\n", - -346 -¹e_ù_tý_Çmes -[ -Ãw_¡©e -]); - -349 - `¹e_ù_þ—r_úxn_d©a -( -ù -, -cd -, -pkt -); - -350 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -¡©e - = -Ãw_¡©e -; - -352 -£nd” --> -’d - = s’d”-> -max’d - = - `¹e_ù_£q_¶us_Ëngth -( -pkt -, -_hdr_size -); - -353 -wš - = - `¹e_bsw­16 -( -týh—d” --> -rx_wš -); - -354 -£nd” --> -maxwš - = - `RTE_MAX -( -wš -, ( -ušt32_t -)1); - -356 ià( - `lik–y -( -Ãw_¡©e - =ð -RTE_CT_TCP_SYN_SENT -)) { - -358 - `¹e_ù_check_fÜ_sÿlšg_ªd_§ck_³rm -( -pkt -, -£nd” -, - -359 -_hdr_size -); - -361 -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -syÅrox›d - = -u£_syÅroxy -; - -363 ià( -u£_syÅroxy -) { - -370 ià( -CT_DEBUG - > 2) - -371 - `´štf -("synproxy sending SYN-ACKo client\n"); - -373  -RTE_CT_SEND_CLIENT_SYNACK -; - -382 -£nd” --> -max’d - +ð£nd”-> -maxwš -; - -383 -£nd” --> -æags - = -»ûiv” -->flags = - -384 ( -RTE_CT_TCP_FLAG_SACK_PERM - | -RTE_CT_TCP_FLAG_BE_LIBERAL -); - -387 ià( -CT_DEBUG - > 0) { - -388 - `´štf -("tcp_new: senderƒnd=%u maxend=%u maxwin=%u scale=%i", - -389 -£nd” --> -’d -, s’d”-> -max’d -, s’d”-> -maxwš -, - -390 -£nd” --> -sÿË -); - -391 - `´štf -("„eceiverƒnd=%u maxend=%u maxwin=%u scale=%i\n", - -392 -»ûiv” --> -’d -,„eûiv”-> -max’d -, - -393 -»ûiv” --> -maxwš -, - -394 -»ûiv” --> -sÿË -); - -397  -RTE_CT_OPEN_CONNECTION -; - -398 - } -} - -400  -ušt32_t - - -401 - $¹e_ù_tý_§ck -( -¹e_mbuf - * -pkt -, -ušt8_t - -_hdr_size -) - -403  -tý_hdr - * -týh—d” - = - -404 ( -tý_hdr - *) - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -405 ( -IP_START - + - -406 -_hdr_size -)); - -407 -ušt16_t - -d©aoff_š_by‹s - = ( -týh—d” --> -d©a_off - & 0xf0) >> 2; - -408 -ušt16_t - -Ëngth - = -d©aoff_š_by‹s - - ( -tý_hdr -); - -409 -ušt32_t - -§ck - = - `¹e_bsw­32 -( -týh—d” --> -»cv_ack -); - -411 ià( - `uÆik–y -(! -Ëngth -)) - -412  -§ck -; - -414 -ušt8_t - * -ÝtiÚs_±r - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, - -415 ( -IP_START - + -_hdr_size - + ( -tý_hdr -))); - -417  -Ëngth - > 0) { - -418 -ušt8_t - -Ýcode - = * -ÝtiÚs_±r -; - -419 -ušt8_t - -Ýsize - = -ÝtiÚs_±r -[1]; - -420  -i -; - -421 -ušt32_t - * -§ck_±r -; - -423  -Ýcode -) { - -424  -RTE_CT_TCPOPT_TIMESTAMP -: - -428  -RTE_CT_TCPOPT_EOL -: - -429  -§ck -; - -431  -RTE_CT_TCPOPT_NOP -: - -432 -Ëngth ---; - -433 -ÝtiÚs_±r -++; - -436  -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  -i - = 0; i < ( -Ýsize - - 2); i += - -453 -RTE_CT_TCPOLEN_PER_SACK_ENTRY -) { - -454 -§ck_±r - = - -455 ( -ušt32_t - *è& -ÝtiÚs_±r -[ -i -]; - -456 -ušt32_t - -ack - = - `¹e_bsw­32 -(* -§ck_±r -); - -458 ià( - `¹e_aᔠ-( -ack -, -§ck -)) - -459 -§ck - = -ack -; - -461  -§ck -; - -467 ià(( -Ýsize - < 2è|| (Ýsiz> -Ëngth -)) { - -468 - `´štf -("rte_ct_tcp_sack: something wrong, opsize %i,", - -469 -Ýsize -); - -470 - `´štf -("†’gth %i\n", -Ëngth -); - -471  -§ck -; - -473 -ÝtiÚs_±r - +ð -Ýsize -; - -474 -Ëngth - -ð -Ýsize -; - -476  -§ck -; - -477 - } -} - -483  -šlše -  - -484 - $¹e_ù_check_fÜ_»ŒªsmissiÚs -( - -485  -¹e_ù_tý - * -¡©e -, - -486 -ušt8_t - -dœ -, - -487 -ušt32_t - -£q -, - -488 -ušt32_t - -ack -, - -489 -ušt32_t - -’d -, - -490 -ušt16_t - -wš -) - -492 ià( -¡©e --> -Ï¡_dœ - =ð -dœ - - -493 && -¡©e --> -Ï¡_£q - =ð -£q - - -494 && -¡©e --> -Ï¡_ack - =ð -ack - - -495 && -¡©e --> -Ï¡_’d - =ð -’d - && s‹-> -Ï¡_wš - =ð -wš -) - -496 -¡©e --> -»Œªs -++; - -498 -¡©e --> -Ï¡_dœ - = -dœ -; - -499 -¡©e --> -Ï¡_£q - = -£q -; - -500 -¡©e --> -Ï¡_ack - = -ack -; - -501 -¡©e --> -Ï¡_’d - = -’d -; - -502 -¡©e --> -Ï¡_wš - = -wš -; - -503 -¡©e --> -»Œªs - = 0; - -505 - } -} - -511  -ušt8_t - - -512 - $¹e_ù_tý_š_wšdow -( - -513  -¹e_ù_úxn_d©a - * -cd -, - -514  -¹e_ù_úxn_Œack” - * -ù -, - -515  -¹e_ù_tý - * -¡©e -, - -516 -¹e_ù_pkt_dœeùiÚ - -dœ -, - -517 -ušt8_t - -šdex -, - -518  -¹e_mbuf - * -pkt -, - -519 -ušt8_t - -_hdr_size -) - -521  -¹e_ù_tý_¡©e - * -£nd” - = & -¡©e --> -£’ -[ -dœ -]; - -522  -¹e_ù_tý_¡©e - * -»ûiv” - = & -¡©e --> -£’ -[! -dœ -]; - -523 -ušt32_t - -£q -, -ack -, -§ck -, -’d -, -wš -, -swš -; - -524 -ušt8_t - -š_»cv_wš -, -tý_æags -; - -525 -¹e_ù_·ck‘_aùiÚ - -»s -; - -527 * -hdr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -IP_START -); - -528  -tý_hdr - * -týh—d” - = - -529 ( -tý_hdr - *) - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -530 ( -IP_START - + -_hdr_size -)); - -532 ià( -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -syÅrox›d -) - -533 - `¹e_¥_adju¡_þ›Á_ack_befÜe_wšdow_check -( -cd -, -hdr -, - -534 -týh—d” -, -dœ -); - -537 -£q - = - `¹e_bsw­32 -( -týh—d” --> -£Á_£q -); - -538 -ack - = -§ck - = - `¹e_bsw­32 -( -týh—d” --> -»cv_ack -); - -539 -wš - = - `¹e_bsw­16 -( -týh—d” --> -rx_wš -); - -540 -’d - = - `¹e_ù_£q_¶us_Ëngth -( -pkt -, -_hdr_size -); - -541 -tý_æags - = -týh—d” -->tcp_flags; - -543 ià( -»ûiv” --> -æags - & -RTE_CT_TCP_FLAG_SACK_PERM -) - -544 -§ck - = - `¹e_ù_tý_§ck -( -pkt -, -_hdr_size -); - -546 ià( - `uÆik–y -( -£nd” --> -maxwš - == 0)) { - -548 ià( -tý_æags - & -RTE_CT_TCPHDR_SYN -) { - -553 -£nd” --> -’d - = s’d”-> -max’d - =ƒnd; - -554 -£nd” --> -maxwš - = - `RTE_MAX -( -wš -, ( -ušt32_t -)1); - -556 - `¹e_ù_check_fÜ_sÿlšg_ªd_§ck_³rm -( -pkt -, -£nd” -, - -557 -_hdr_size -); - -563 ià(( -£nd” --> - -564 -æags - & -»ûiv” -->flags & - -565 -RTE_CT_TCP_FLAG_WINDOW_SCALE -) == 0) - -566 -£nd” --> -sÿË - = -»ûiv” -->scale = 0; - -568 ià(!( -tý_æags - & -RTE_CT_TCPHDR_ACK -)) - -576 -£nd” --> -’d - =ƒnd; - -577 -swš - = -wš - << -£nd” --> -sÿË -; - -578 -£nd” --> -maxwš - = ( -swš - == 0 ? 1 : swin); - -579 -£nd” --> -max’d - = -’d - + s’d”-> -maxwš -; - -585 ià( -»ûiv” --> -maxwš - == 0) - -586 -»ûiv” --> -’d - =„eûiv”-> -max’d - = -§ck -; - -590 ià((( -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -¡©e - =ð -RTE_CT_TCP_SYN_SENT - && - -591 -dœ - =ð -RTE_CT_DIR_ORIGINAL -) || - -592 ( -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -¡©e - =ð -RTE_CT_TCP_SYN_RECV - && - -593 -dœ - =ð -RTE_CT_DIR_REPLY -)è&& - `¹e_aᔠ-( -’d -, -£nd” -->end)) { - -599 -£nd” --> -’d - = s’d”-> -max’d - =ƒnd; - -600 -£nd” --> -maxwš - = - `RTE_MAX -( -wš -, ( -ušt32_t -)1); - -602 - `¹e_ù_check_fÜ_sÿlšg_ªd_§ck_³rm -( -pkt -, -£nd” -, - -603 -_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” --> -’d -; - -613 ià(( -tý_æags - & -RTE_CT_TCPHDR_RST -è&& -£q - == 0 && - -614 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -¡©e - =ð -RTE_CT_TCP_SYN_SENT -) - -616 -£q - = -’d - = -£nd” -->end; - -619 -š_»cv_wš - = ! -»ûiv” --> -maxwš - || - -620 - `¹e_aᔠ-( -’d -, -£nd” -->’d - -»ûiv” --> -maxwš - - 1); - -622 ià( - `¹e_befÜe -( -£q -, -£nd” --> -max’d - + 1è&& -š_»cv_wš - && - -623 - `¹e_befÜe -( -§ck -, -»ûiv” --> -’d - + 1) && - -624 - `¹e_aᔠ-( -§ck -, - -625 -»ûiv” --> -’d - - - `RTE_MAX -( -£nd” --> -maxwš -, - -626 ( -ušt32_t -) -RTE_MAX_ACKWIN_CONST -) - 1)) { - -633 ià(!( -tý_æags - & -RTE_CT_TCPHDR_SYN -)) - -634 -wš - <<ð -£nd” --> -sÿË -; - -637 -swš - = -wš - + ( -§ck - - -ack -); - -638 -£nd” --> -maxwš - = - `RTE_MAX -(£nd”->maxwš, -swš -); - -640 ià( - `¹e_aᔠ-( -’d -, -£nd” -->end)) { - -641 -£nd” --> -’d - =ƒnd; - -642 -£nd” --> -æags - |ð -RTE_CT_TCP_FLAG_DATA_UNACKNOWLEDGED -; - -645 ià( -tý_æags - & -RTE_CT_TCPHDR_ACK -) { - -646 ià(!( -£nd” --> -æags - & -RTE_CT_TCP_FLAG_MAXACK_SET -)) { - -647 -£nd” --> -maxack - = -ack -; - -648 -£nd” --> -æags - |ð -RTE_CT_TCP_FLAG_MAXACK_SET -; - -649 } ià( - `¹e_aᔠ-( -ack -, -£nd” --> -maxack -)) - -650 -£nd” --> -maxack - = -ack -; - -654 ià( -»ûiv” --> -maxwš - !ð0 && - `¹e_aᔠ-( -’d -, -£nd” --> -max’d -)) - -655 -»ûiv” --> -maxwš - +ð -’d - - -£nd” --> -max’d -; - -657 ià( - `¹e_aᔠ-( -§ck - + -wš -, -»ûiv” --> -max’d - - 1)) - -658 -»ûiv” --> -max’d - = -§ck - + - `RTE_MAX -( -wš -, ( -ušt32_t -)1); - -660 ià( -ack - =ð -»ûiv” --> -’d -) - -661 -»ûiv” --> -æags - &ð~ -RTE_CT_TCP_FLAG_DATA_UNACKNOWLEDGED -; - -664 ià( -šdex - =ð -RTE_CT_TCP_ACK_FLAG -) - -665 - `¹e_ù_check_fÜ_»ŒªsmissiÚs -( -¡©e -, -dœ -, -£q -, -ack -, - -666 -’d -, -wš -); - -667 -»s - = 1; - -669 -»s - = ( -£nd” --> -æags - & -RTE_CT_TCP_FLAG_BE_LIBERAL - || - -670 -ù --> -misc_ÝtiÚs -. -tý_be_lib”® -); - -673 ià( -CT_DEBUG -) { - -674 ià(! -»s -) { - -676 - `´štf -("tý_š_wšdow FAILED fÜ %p\n", -cd -); - -677 - `´štf -("rte_before(%u, %u + 1) is %d\n", - -678 -£q -, -£nd” --> -max’d - + 1, - -679 - `¹e_befÜe -( -£q -, -£nd” --> -max’d - + 1)); - -680 - `´štf -("!%u ||„te_after(%u, %u - %u - 1) is %d\n", - -681 -»ûiv” --> -maxwš -, -’d -, -£nd” -->end, - -682 -»ûiv” --> -maxwš -, -š_»cv_wš -); - -683 - `´štf -("¹e_befÜe(%u, %u + 1èi %d\n", -§ck -, - -684 -»ûiv” --> -’d -, - `¹e_befÜe -( -§ck -, - -685 -»ûiv” --> -’d - + 1)); - -686 -´štf - - -688 -§ck -, -»ûiv” --> -’d -, -£nd” --> -maxwš -, - -689 -RTE_MAX_ACKWIN_CONST -, - `¹e_aᔠ-( -§ck -, - -690 -»ûiv” --> -’d - - - `RTE_MAX -( -£nd” --> -maxwš -, - -691 ( -ušt32_t -) -RTE_MAX_ACKWIN_CONST -) - -696 ià( -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -syÅrox›d -) - -697 - `¹e_¥_adju¡_£rv”_£q_aá”_wšdow_check -( -cd -, -hdr -, - -698 -týh—d” -, -dœ -); - -699  -»s -; - -700 - } -} - -703  -šlše - -ušt8_t - - -704 - $¹e_ù_choo£_mš_timeout_¡©e -( - -705  -¹e_ù_úxn_Œack” - * -ù -, - -706 -ušt8_t - -¡©e1 -, - -707 -ušt8_t - -¡©e2 -) - -709 ià( -ù --> -ù_timeout -. -týtimeout -. -tý_timeouts -[ -¡©e1 -] < - -710 -ù --> -ù_timeout -. -týtimeout -. -tý_timeouts -[ -¡©e2 -]) - -711  -¡©e1 -; - -713  -¡©e2 -; - -714 - } -} - -718 -¹e_ù_·ck‘_aùiÚ - - -719 - $¹e_ù_v”ify_tý_·ck‘ -( - -720  -¹e_ù_úxn_Œack” - * -ù -, - -721  -¹e_ù_úxn_d©a - * -cd -, - -722  -¹e_mbuf - * -pkt -, - -723 -ušt8_t - -key_was_杳d -, - -724 -ušt8_t - -_hdr_size -) - -726  -tý_hdr - * -týh—d” - = (tcp_hdr *) - -727 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, ( -IP_START - + -_hdr_size -)); - -729 -¹e_ù_tý_¡©es - -Ãw_¡©e -, -Þd_¡©e -; - -730 -¹e_ù_pkt_dœeùiÚ - -dœ -; - -731 -ušt8_t - -šdex -; - -735 -ušt8_t - -timeout_¡©e -; - -737 -dœ - = ( -cd --> -key_is_þ›Á_Üd” - =ð! -key_was_杳d -); - -739 ià( -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -syÅrox›d - && - -740 -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -h®f_e¡ablished - && - -741 ! -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -úxn_e¡ablished - && - -742 -dœ - =ð -RTE_CT_DIR_ORIGINAL -) { - -748 - `¹e_ù_bufãr_·ck‘ -( -ù -, -cd -, -pkt -); - -749  -RTE_CT_HIJACK -; - -752 -ušt32_t - -»cv_ack - = - `¹e_bsw­32 -( -týh—d” -->recv_ack); - -753 -ušt32_t - -£Á_£q - = - `¹e_bsw­32 -( -týh—d” -->sent_seq); - -755  -check_wšdow - = 1; - -756 -¹e_ù_·ck‘_aùiÚ - -»tuº_aùiÚ - = -RTE_CT_FORWARD_PACKET -; - -760 -Þd_¡©e - = -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -¡©e -; - -761 -šdex - = - `¹e_ù_g‘_šdex -( -týh—d” --> -tý_æags -); - -762 -Ãw_¡©e - = -¹e_ù_tý_¡©e_bË -[ -dœ -][ -šdex -][ -Þd_¡©e -]; - -764 ià( -Ãw_¡©e - =ð -RTE_CT_TCP_MAX -) { - -765 ià( -CT_DEBUG -) { - -766 - `´štf -("!!!!invalid stateransition from %s ", - -767 -¹e_ù_tý_Çmes -[ -Þd_¡©e -]); - -768 - `´štf -("with flags 0x%02x\n", - -769 -týh—d” --> -tý_æags -); - -772 -ù --> -couÁ”s --> -pkts_drÝ_šv®id_¡©e -++; - -773  -RTE_CT_DROP_PACKET -; - -776 ià( -STATE_TRACKING - && -Ãw_¡©e - !ð -Þd_¡©e -) - -777 - `´štf -("‚ew s‹ %s\n", -¹e_ù_tý_Çmes -[ -Ãw_¡©e -]); - -779  -Ãw_¡©e -) { - -781  -RTE_CT_TCP_ESTABLISHED -: - -783 ià( -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -syÅrox›d - && - -784 ! -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -h®f_e¡ablished - && - -785 ( -Þd_¡©e - =ð -RTE_CT_TCP_SYN_RECV -)) { - -793 ià( -STATE_TRACKING -) { - -794 - `´štf -(" synproxy first half-cnxn complete,"); - -795 - `´štf -("‚ew state %s\n", - -796 -¹e_ù_tý_Çmes -[ -RTE_CT_TCP_SYN_SENT -]); - -798 -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -h®f_e¡ablished - = -Œue -; - -800 - `¹e_¥_cvt_to_¥ooãd_£rv”_syn -( -cd -, -pkt -); - -801 - `¹e_ù_þ—r_úxn_d©a -( -ù -, -cd -, -pkt -); - -802 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -¡©e - = -RTE_CT_TCP_SYN_SENT -; - -804  -¹e_ù_tý_¡©e - * -£nd” - = - -805 & -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. - -806 -£’ -[ -RTE_CT_DIR_ORIGINAL -]; - -807 -ušt16_t - -wš - = - `¹e_bsw­16 -( -týh—d” --> -rx_wš -); - -809 -£nd” --> -’d - = s’d”-> -max’d - = - -810 - `¹e_ù_£q_¶us_Ëngth -( -pkt -, -_hdr_size -); - -811 -£nd” --> -maxwš - = - `RTE_MAX -( -wš -, ( -ušt32_t -)1); - -812 - `¹e_ù_check_fÜ_sÿlšg_ªd_§ck_³rm -( -pkt -, -£nd” -, - -813 -_hdr_size -); - -815 - `¹e_ù_£t_úxn_tim”_fÜ_tý -( -ù -, -cd -, - -816 -RTE_CT_TCP_SYN_SENT -); - -817  -RTE_CT_SEND_SERVER_SYN -; - -821  -RTE_CT_TCP_SYN_RECV -: - -823 ià( -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -syÅrox›d - && - -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ý_š_wšdow -( -cd -, -ù -, - -834 & -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -, - -835 -dœ -, -šdex -, -pkt -, -_hdr_size -)) { - -836 -ù --> -couÁ”s --> -pkts_drÝ_outof_wšdow -++; - -837  -RTE_CT_DROP_PACKET -; - -840 ià( -STATE_TRACKING -) { - -841 - `´štf -("synproxy full cnxn complete,"); - -842 - `´štf -("‚ew s‹ %s\n", -¹e_ù_tý_Çmes - - -843 [ -RTE_CT_TCP_ESTABLISHED -]); - -852 - `¹e_¥_cvt_to_¥ooãd_£rv”_ack -( -cd -, -pkt -); - -854 -šdex - = - `¹e_ù_g‘_šdex -( -týh—d” --> -tý_æags -); - -856 ià(! - `¹e_ù_tý_š_wšdow -( -cd -, -ù -, - -857 & -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -, - -858 ! -dœ -, -šdex -, -pkt -, -_hdr_size -)) { - -859 -ù --> -couÁ”s --> -pkts_drÝ_outof_wšdow -++; - -860  -RTE_CT_DROP_PACKET -; - -865 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -¡©e - = - -866 -RTE_CT_TCP_ESTABLISHED -; - -867 -ù --> -couÁ”s --> -£ssiÚs_e¡ablished -++; - -868 -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -úxn_e¡ablished - = -Œue -; - -869 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_šdex - = -šdex -; - -870 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_dœ - = ! -dœ -; - -872 - `¹e_ù_£t_úxn_tim”_fÜ_tý -( -ù -, -cd -, - -873 -RTE_CT_TCP_ESTABLISHED -); - -874 - `¹e_ù_»Ëa£_bufã»d_·ck‘s -( -ù -, -cd -); - -876  -RTE_CT_SEND_SERVER_ACK -; - -879  -RTE_CT_TCP_SYN_SENT -: - -886 ià( -Þd_¡©e - < -RTE_CT_TCP_TIME_WAIT -) - -894  -RTE_CT_REOPEN_CNXN_AND_FORWARD_PACKET -; - -896  -RTE_CT_TCP_IGNORE -: - -912 ià( -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -syÅrox›d - && - -913 ! -cd --> -ù_´ÙocÞ -. -syÅroxy_d©a -. -úxn_e¡ablished -) - -914  -RTE_CT_DROP_PACKET -; - -916 ià( -šdex - =ð -RTE_CT_TCP_SAK_FLAG - && - -917 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_šdex - == - -918 -RTE_CT_TCP_SYN_FLAG - - -919 && -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_dœ - !ð -dœ - - -920 && -»cv_ack - =ð -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_’d -) { - -928  -¹e_ù_tý_¡©e - * -Ï¡_£’ - = - -929 & -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -£’ -[cd->ct_protocol. - -930 -tý_ù_d©a -. - -931 -Ï¡_dœ -]; - -935 -Þd_¡©e - = -RTE_CT_TCP_SYN_SENT -; - -936 -Ãw_¡©e - = -RTE_CT_TCP_SYN_RECV -; - -938 -Ï¡_£’ --> -’d - = -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_’d -; - -939 -Ï¡_£’ --> -max’d - = - -940 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_’d -; - -941 -Ï¡_£’ --> -maxwš - = - -942 - `RTE_MAX -( -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_wš -, - -943 ( -ušt32_t -)1); - -944 -Ï¡_£’ --> -sÿË - = - -945 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_wsÿË -; - -946 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_æags - &= - -947 ~ -RTE_CT_EXP_CHALLENGE_ACK -; - -948 -Ï¡_£’ --> -æags - = - -949 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_æags -; - -950 - `mem£t -(& -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -£’ -[ -dœ -], 0, - -951 ( -¹e_ù_tý_¡©e -)); - -955 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_šdex - = -šdex -; - -956 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_dœ - = -dœ -; - -957 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_£q - = -£Á_£q -; - -958 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_’d - = - -959 - `¹e_ù_£q_¶us_Ëngth -( -pkt -, -_hdr_size -); - -960 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_wš - = - -961 - `¹e_bsw­16 -( -týh—d” --> -rx_wš -); - -971 ià( -šdex - =ð -RTE_CT_TCP_SYN_FLAG - && - -972 -dœ - =ð -RTE_CT_DIR_ORIGINAL -) { - -973  -¹e_ù_tý_¡©e - -£’ -; - -976 - `¹e_ù_check_fÜ_sÿlšg_ªd_§ck_³rm -( -pkt -, & -£’ -, - -977 -_hdr_size -); - -980 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_æags - = -£’ -. -æags -; - -981 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_wsÿË - = - -982 ( -£’ -. -æags - & -RTE_CT_TCP_FLAG_WINDOW_SCALE -) == 0 ? - -983 0 : -£’ -. -sÿË -; - -990 ià( -Þd_¡©e - =ð -RTE_CT_TCP_LAST_ACK -) - -991 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_æags - |= - -992 -RTE_CT_EXP_CHALLENGE_ACK -; - -994  -RTE_CT_FORWARD_PACKET -; - -996  -RTE_CT_TCP_TIME_WAIT -: - -1002 ià( -Þd_¡©e - =ð -RTE_CT_TCP_LAST_ACK - && - -1003 -šdex - =ð -RTE_CT_TCP_ACK_FLAG - && - -1004 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_dœ - !ð -dœ - && - -1005 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_šdex - == - -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  -RTE_CT_FORWARD_PACKET -; - -1016  -RTE_CT_TCP_CLOSE -: - -1018 ià( -šdex - =ð -RTE_CT_TCP_RST_FLAG -) { - -1025 ià(( -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -£’ -[! -dœ -]. -æags - & - -1026 -RTE_CT_TCP_FLAG_MAXACK_SET -) && - -1027 - `¹e_befÜe -( -£Á_£q -, -cd --> -ù_´ÙocÞ -. - -1028 -tý_ù_d©a -. -£’ -[! -dœ -]. -maxack -)) { - -1030 -ù --> -couÁ”s --> -pkts_drÝ_šv®id_r¡ -++; - -1032  -RTE_CT_DROP_PACKET -; - -1035 ià((( -cd --> -cÚn¡©us - =ð -RTE_SEEN_REPLY_CONN - && - -1036 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_šdex - == - -1037 -RTE_CT_TCP_SYN_FLAG -) || - -1038 ( -cd --> -cÚn¡©us - !ð -RTE_ASSURED_CONN - && - -1039 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_šdex - == - -1040 -RTE_CT_TCP_ACK_FLAG -)) && - -1041 -»cv_ack - == - -1042 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_’d -) { - -1045 -check_wšdow - = 0; - -1054 ià( - `lik–y -( -check_wšdow -)) { - -1055 ià( - `uÆik–y -(! - `¹e_ù_tý_š_wšdow -( -cd -, -ù -, - -1056 & -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -, - -1057 -dœ -, -šdex -, - -1058 -pkt -, -_hdr_size -))) { - -1059 -ù --> -couÁ”s --> -pkts_drÝ_outof_wšdow -++; - -1060  -RTE_CT_DROP_PACKET -; - -1064 ià( -Ãw_¡©e - =ð -RTE_CT_TCP_ESTABLISHED - && - -1065 -Þd_¡©e - !ð -RTE_CT_TCP_ESTABLISHED -) - -1068 -ù --> -couÁ”s --> -£ssiÚs_e¡ablished -++; - -1070 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_šdex - = -šdex -; - -1071 -cd --> -ù_´ÙocÞ -. -tý_ù_d©a -. -Ï¡_dœ - = -dœ -; - -1073 ià( -šdex - =ð -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 -. -»Œªs - >= - -1079 -ù --> -misc_ÝtiÚs -. -tý_max_»Œªs -) - -1080 -timeout_¡©e - = - -1081 - `¹e_ù_choo£_mš_timeout_¡©e -( -ù -, -timeout_¡©e -, - -1082 -RTE_CT_TCP_RETRANS -); - -1083 ià( - `¹e_ù_e™h”_dœeùiÚ_has_æags -( -cd -, - -1084 -RTE_CT_TCP_FLAG_DATA_UNACKNOWLEDGED -)) - -1085 -timeout_¡©e - = - -1086 - `¹e_ù_choo£_mš_timeout_¡©e -( -ù -, -timeout_¡©e -, - -1087 -RTE_CT_TCP_UNACK -); - -1089 ià( -cd --> -cÚn¡©us - !ð -RTE_SEEN_REPLY_CONN -) { - -1090 ià( -týh—d” --> -tý_æags - & -RTE_CT_TCPHDR_RST -) { - -1097  -RTE_CT_DESTROY_CNXN_AND_FORWARD_PACKET -; - -1101 ià( -Ãw_¡©e - =ð -RTE_CT_TCP_ESTABLISHED -) - -1102 -timeout_¡©e - = - `¹e_ù_choo£_mš_timeout_¡©e -( -ù -, - -1103 -timeout_¡©e -, - -1104 -RTE_CT_TCP_UNACK -); - -1106 } ià( -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”_fÜ_tý -( -ù -, -cd -, -timeout_¡©e -); - -1115  -»tuº_aùiÚ -; - -1116 - } -} - - @VIL/conntrack/rte_ct_tcp.h - -17 #iâdeà -__INCLUDE_RTE_CT_TCP_H__ - - -18  - #__INCLUDE_RTE_CT_TCP_H__ - - - ) - -19  - ~<¡dlib.h -> - -20  - ~<¡ršg.h -> - -21  - ~<š‰y³s.h -> - -23  - ~<¹e_tý.h -> - -24  - ~<¹e_pÜt.h -> - -25  - ~<¹e_tim”.h -> - -26  - ~<¹e_.h -> - -27  - ~<¹e_tý.h -> - -28  - ~<¹e_udp.h -> - -29  - ~<¹e_pÜt.h -> - -30  - ~<¹e_by‹Üd”.h -> - -31  - ~"¹e_úxn_Œackšg.h -" - -37  - #RTE_CT_TCPOPT_EOL - 0 - - ) - -38  - #RTE_CT_TCPOPT_NOP - 1 - - ) - -39  - #RTE_CT_TCPOPT_MSS - 2 - - ) - -40  - #RTE_CT_TCPOPT_WINDOW - 3 - - ) - -41  - #RTE_CT_TCPOPT_SACK_PERM - 4 - - ) - -42  - #RTE_CT_TCPOPT_SACK - 5 - - ) - -43  - #RTE_CT_TCPOPT_TIMESTAMP - 8 - - ) - -45  - #RTE_CT_TCPOLEN_MSS - 4 - - ) - -46  - #RTE_CT_TCPOLEN_WINDOW - 3 - - ) - -47  - #RTE_CT_TCPOLEN_SACK_PERM - 2 - - ) - -48  - #RTE_CT_TCPOLEN_TIMESTAMP - 10 - - ) - -49  - #RTE_CT_TCPOLEN_PER_SACK_ENTRY - 8 - - ) - -51  - #RTE_CT_TCPOLEN_MSS_ALIGNED - 4 - - ) - -52  - #RTE_CT_TCPOLEN_WINDOW_ALIGNED - 4 - - ) - -53  - #RTE_CT_TCPOLEN_SACK_PERM_ALIGNED - 4 - - ) - -54  - #RTE_CT_TCPOLEN_TIMESTAMP_ALIGNED - 12 - - ) - -56  - #RTE_CT_MAX_TCP_WINDOW_SCALE - 14 - - ) - -58  - #RTE_SP_OPTIONS_MSS - 1 - - ) - -59  - #RTE_SP_OPTIONS_WINDOW_SCALE - 2 - - ) - -60  - #RTE_SP_OPTIONS_TIMESTAMP - 4 - - ) - -61  - #RTE_SP_OPTIONS_SACK_PERM - 8 - - ) - -64 - e¹e_ù_·ck‘_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 - e¹e_ù_cÚn¡©us - { - -77 - mRTE_INIT_CONN -, - -78 - mRTE_SEEN_REPLY_CONN -, - -79 - mRTE_ASSURED_CONN - - -84 cÚ¡ *cÚ¡ - g¹e_ù_tý_Çmes -[] = { - -100 cÚ¡ *cÚ¡ - g¹e_ù_udp_Çmes -[] = { - -107  - #RTE_MAX_ACKWIN_CONST - 66000 - - ) - -110  - #RTE_CT_TCP_FLAG_WINDOW_SCALE - 0x01 - - ) - -113  - #RTE_CT_TCP_FLAG_SACK_PERM - 0x02 - - ) - -116  - #RTE_CT_TCP_FLAG_CLOSE_INIT - 0x04 - - ) - -119  - #RTE_CT_TCP_FLAG_BE_LIBERAL - 0x08 - - ) - -122  - #RTE_CT_TCP_FLAG_DATA_UNACKNOWLEDGED - 0x10 - - ) - -125  - #RTE_CT_TCP_FLAG_MAXACK_SET - 0x20 - - ) - -127  - #RTE_CT_EXP_CHALLENGE_ACK - 0x40 - - ) - -132  - #RTE_CT_TCPHDR_FIN - 0x01 - - ) - -133  - #RTE_CT_TCPHDR_SYN - 0x02 - - ) - -134  - #RTE_CT_TCPHDR_RST - 0x04 - - ) - -135  - #RTE_CT_TCPHDR_ACK - 0x10 - - ) - -137  - #RTE_CT_TCPHDR_RST_ACK - ( -RTE_CT_TCPHDR_RST - | -RTE_CT_TCPHDR_ACK -) - - ) - -142 - 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 - 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  - #RTE_CT_TCP_MAX - -RTE_CT_TCP_UNACK - - - ) - -169 - e¹e_ù_pkt_dœeùiÚ - { - -170 - mRTE_CT_DIR_ORIGINAL -, - -171 - mRTE_CT_DIR_REPLY - - -174  - s¹e_ù_tý_¡©e - { - -175 -ušt32_t - - m’d -; - -176 -ušt32_t - - mmax’d -; - -177 -ušt32_t - - mmaxwš -; - -178 -ušt32_t - - mmaxack -; - -179 -ušt8_t - - msÿË -; - -180 -ušt8_t - - mæags -; - -183  - s¹e_syÅroxy_ÝtiÚs - { - -184 -ušt8_t - - mÝtiÚs -; - -185 -ušt8_t - - mwšdow_sÿË -; - -186 -ušt16_t - - mmss -; - -187 -ušt32_t - - mts_v® -; - -188 -ušt32_t - - mts_echo_»¶y -; - -189 -ušt16_t - - mš™Ÿl_wšdow -; - -192  - sù_¥_úxn_d©a - { - -196  -¹e_mbuf - * - mbufã»d_pkt_li¡ -; - -197 -ušt32_t - - mÜigš®_¥ooãd_£q -; - -199 -ušt32_t - - m£q_diff -; - -200  -¹e_syÅroxy_ÝtiÚs - - múxn_ÝtiÚs -; - -202 -ušt8_t - - msyÅrox›d -; - -203 -boÞ - - mh®f_e¡ablished -; - -205 -boÞ - - múxn_e¡ablished -; - -208  - s¹e_ù_tý - { - -209  -¹e_ù_tý_¡©e - - m£’ -[2]; - -210 -ušt8_t - - m¡©e -; - -211 -ušt8_t - - mÏ¡_dœ -; - -214 -ušt8_t - - m»Œªs -; - -215 -ušt8_t - - mÏ¡_šdex -; - -216 -ušt32_t - - mÏ¡_£q -; - -217 -ušt32_t - - mÏ¡_ack -; - -218 -ušt32_t - - mÏ¡_’d -; - -219 -ušt16_t - - mÏ¡_wš -; - -221 -ušt8_t - - mÏ¡_wsÿË -; - -222 -ušt8_t - - mÏ¡_æags -; - -230  - s¹e_ù_úxn_couÁ”s - { - -231 -ušt64_t - - m·ck‘s_»ûived -; - -232 -ušt64_t - - m·ck‘s_fÜw¬ded -; - -233 -ušt64_t - - m·ck‘s_drݳd -; - -236  - s¹e_ù_´Ùo - { - -237  -¹e_ù_tý - - mtý_ù_d©a -; - -238  -ù_¥_úxn_d©a - - msyÅroxy_d©a -; - -248  - s¹e_ù_úxn_d©a - { - -252  -¹e_tim” - - mtim” -; - -254  -¹e_ù_úxn_couÁ”s - - mcouÁ”s -; - -258 -ušt32_t - - mkey -[10]; - -260  -¹e_ù_´Ùo - - mù_´ÙocÞ -; - -263 -ušt64_t - - mex³ùed_timeout -; - -266 -ušt8_t - - m¡©e_u£d_fÜ_tim” -; - -269 -ušt8_t - - mkey_is_þ›Á_Üd” -; - -270 -ušt8_t - - mcÚn¡©us -; - -271 -ušt8_t - - m´ÙocÞ -; - -273 -ušt8_t - - mty³ -; - -276 -ušt8_t - - m®g_by·ss_æag -; - -278 -ušt8_t - - m£rv”_dœeùiÚ -; - -279 -št16_t - - mtýSeqdiff -; - -281 -ušt8_t - - máp_£ssiÚ_ty³ -; - -282 -ušt32_t - - mtý_·ylßd_size -; - -283 -št16_t - - m£q_þ›Á -; - -284 -št16_t - - mack_þ›Á -; - -285 -št16_t - - m£q_£rv” -; - -286 -št16_t - - mack_£rv” -; - -288 } - g__¹e_ÿche_®igÃd -; - -291  - #RTE_CT_TCP_MAX_RETRANS - 3 - - ) - -293  - s¹e_ù_týtimeout - { - -295 -ušt64_t - - mtý_timeouts -[ -RTE_CT_TCP_MAX - + 1]; - -299  - s¹e_ù_misc_ÝtiÚs - { - -300 -ušt8_t - - msyÅroxy_’abËd -; - -301 -ušt32_t - - mtý_loo£ -; - -302 -ušt32_t - - mtý_be_lib”® -; - -303 -ušt32_t - - mtý_max_»Œªs -; - -306  - s¹e_ù_ud±imeout - { - -307 -ušt64_t - - mudp_timeouts -[ -RTE_CT_UDP_MAX - + 1]; - -310  - s¹e_ù_timeout - { - -311  -¹e_ù_týtimeout - - mtýtimeout -; - -312  -¹e_ù_ud±imeout - - mud±imeout -; - -315  - s¹e_ù_úxn_Œack” - { - -316  -¹e_hash - * - mrhash -; - -322 -ušt32_t - - mhash_keys -[ -RTE_HASH_LOOKUP_BULK_MAX -][10]; - -325 * - mhash_key_±rs -[ -RTE_HASH_LOOKUP_BULK_MAX -]; - -326 #ifdeà -CT_CGNAT - - -327 -ušt32_t - - mpos™iÚs -[ -RTE_HASH_LOOKUP_BULK_MAX -]; - -330 -ušt32_t - - mnum_úxn_’Œ›s -; - -336  -¹e_ù_úxn_d©a - * - mhash_bË_’Œ›s -; - -337  -¹e_CT_couÁ”_block - * - mcouÁ”s -; - -339 -ušt64_t - - mh”tz -; - -340 -ušt64_t - - mtimšg_cyþes_³r_timšg_¡• -; - -341 -ušt64_t - - mtimšg_100ms_¡•s -; - -342 -ušt64_t - - mtimšg_100ms_¡•s_´evious -; - -343 -ušt64_t - - mtimšg_Ï¡_time -; - -344  -¹e_ù_timeout - - mù_timeout -; - -345  -¹e_ù_misc_ÝtiÚs - - mmisc_ÝtiÚs -; - -347  - mÇme -[16]; - -348  -¹e_ù_úxn_d©a - * - mÃw_cÚÃùiÚs -[64]; - -349  -¹e_mbuf - * - mbufã»d_pkt_li¡ -; - -350  - mϋ¡_cÚÃùiÚ -; - -352 -ušt16_t - - mpoš‹r_off£t -; - -353 } - g__¹e_ÿche_®igÃd -; - -360 -¹e_ù_·ck‘_aùiÚ - - -361 -¹e_ù_tý_Ãw_cÚÃùiÚ -( - -362  -¹e_ù_úxn_Œack” - * -š¡ -, - -363  -¹e_ù_úxn_d©a - * -úxn -, - -364  -¹e_mbuf - * -pkt -, - -365  -u£_syÅroxy -, - -366 -ušt8_t - -_hdr_size -); - -373 -¹e_ù_·ck‘_aùiÚ - - -374 -¹e_ù_v”ify_tý_·ck‘ -( - -375  -¹e_ù_úxn_Œack” - * -š¡ -, - -376  -¹e_ù_úxn_d©a - * -úxn -, - -377  -¹e_mbuf - * -pkt -, - -378 -ušt8_t - -key_was_杳d -, - -379 -ušt8_t - -_hdr_size -); - -386 -ušt8_t - - -387 -¹e_ù_udp_Ãw_cÚÃùiÚ -( - -388  -¹e_ù_úxn_Œack” - * -ù -, - -389  -¹e_ù_úxn_d©a - * -cd -, - -390  -¹e_mbuf - * -pkt -); - -397 -¹e_ù_·ck‘_aùiÚ - - -398 -¹e_ù_udp_·ck‘ -( - -399  -¹e_ù_úxn_Œack” - * -ù -, - -400  -¹e_ù_úxn_d©a - * -cd -, - -401  -¹e_mbuf - * -pkt -, - -402 -ušt8_t - -key_was_杳d -); - -411 -¹e_ù_£t_úxn_tim”_fÜ_tý -( - -412  -¹e_ù_úxn_Œack” - * -ù -, - -413  -¹e_ù_úxn_d©a - * -cd -, - -414 -ušt8_t - -tý_¡©e -); - -417 -¹e_ù_£t_úxn_tim”_fÜ_udp -( - -418  -¹e_ù_úxn_Œack” - * -ù -, - -419  -¹e_ù_úxn_d©a - * -cd -, - -420 -ušt8_t - -tý_¡©e -); - -423  -¹e_ù_ÿnûl_úxn_tim” -( -¹e_ù_úxn_d©a - * -cd -); - -435 -¹e_¥_cvt_to_¥ooãd_þ›Á_syÇck -( -¹e_ù_úxn_d©a - * -cd -, - -436  -¹e_mbuf - * -Þd_pkt -); - -439 -¹e_¥_cvt_to_¥ooãd_£rv”_syn -( -¹e_ù_úxn_d©a - * -cd -, - -440  -¹e_mbuf - * -Þd_pkt -); - -443 -¹e_¥_cvt_to_¥ooãd_£rv”_ack -( -¹e_ù_úxn_d©a - * -cd -, - -444  -¹e_mbuf - * -Þd_pkt -); - -451 -¹e_¥_adju¡_þ›Á_ack_befÜe_wšdow_check -( - -452  -¹e_ù_úxn_d©a - * -cd -, - -453 * -i_hdr -, - -454  -tý_hdr - * -thdr -, - -455 -¹e_ù_pkt_dœeùiÚ - -dœ -); - -458 -¹e_¥_adju¡_£rv”_£q_aá”_wšdow_check -( - -459  -¹e_ù_úxn_d©a - * -cd -, - -460 * -i_hdr -, - -461  -tý_hdr - * -thdr -, - -462 -¹e_ù_pkt_dœeùiÚ - -dœ -); - -468 -¹e_¥_·r£_ÝtiÚs -( -¹e_mbuf - * -pkt -,  -¹e_ù_úxn_d©a - * -cd -); - -474 -¹e_ù_bufãr_·ck‘ -( - -475  -¹e_ù_úxn_Œack” - * -ù -, - -476  -¹e_ù_úxn_d©a - * -cd -, - -477  -¹e_mbuf - * -pkt -); - -480 -¹e_ù_»Ëa£_bufã»d_·ck‘s -( - -481  -¹e_ù_úxn_Œack” - * -ù -, - -482  -¹e_ù_úxn_d©a - * -cd -); - - @VIL/conntrack/rte_ct_udp.c - -17  - ~<¡dlib.h -> - -18  - ~<¡ršg.h -> - -19  - ~"¹e_ù_tý.h -" - -20  - ~"¹e_úxn_Œackšg.h -" - -22 -ušt8_t - - $¹e_ù_udp_Ãw_cÚÃùiÚ -( -__¹e_unu£d -  -¹e_ù_úxn_Œack” - * -ù -, - -23  -¹e_ù_úxn_d©a - * -cd -, - -24 -__¹e_unu£d -  -¹e_mbuf - * -pkt -) - -27 -cd --> -cÚn¡©us - = -RTE_INIT_CONN -; - -29 - } -} - -30 -¹e_ù_·ck‘_aùiÚ - - $¹e_ù_udp_·ck‘ -( -¹e_ù_úxn_Œack” - * -ù -, - -31  -¹e_ù_úxn_d©a - * -cd -, - -32 -__¹e_unu£d -  -¹e_mbuf - * -pkt -, - -33 -ušt8_t - -key_was_杳d -) - -35 -¹e_ù_pkt_dœeùiÚ - -dœ -; - -37 -dœ - = ( -cd --> -key_is_þ›Á_Üd” - =ð! -key_was_杳d -); - -39 ià( -dœ - =ð -RTE_CT_DIR_REPLY - && - -40 -cd --> -cÚn¡©us - =ð -RTE_INIT_CONN -) { - -41 - `¹e_ù_£t_úxn_tim”_fÜ_udp -( -ù -, -cd -, -RTE_CT_UDP_REPLIED -); - -42 -cd --> -cÚn¡©us - = -RTE_ASSURED_CONN -; - -43 } ià( -dœ - =ð -RTE_CT_DIR_REPLY - && - -44 -cd --> -cÚn¡©us - =ð -RTE_ASSURED_CONN -) - -45 - `¹e_ù_£t_úxn_tim”_fÜ_udp -( -ù -, -cd -, -RTE_CT_UDP_REPLIED -); - -47 - `¹e_ù_£t_úxn_tim”_fÜ_udp -( -ù -, -cd -, -RTE_CT_UDP_UNREPLIED -); - -48  -RTE_CT_FORWARD_PACKET -; - -49 - } -} - - @VIL/l2l3_stack/bond.c - -17  - ~<š‹rçû.h -> - -18  - ~"tsx.h -" - -19 -š‹rçû_maš_t - -ifm -; - -20 -ušt8_t - -ifm_debug -; - -21  -USE_RTM_LOCKS -; - -22 -¹e_rwlock_t - -rwlock -; - -24  - $ifm_bÚd_pÜt_ü—‹ -(cÚ¡ * -Çme -,  -mode -, -pÜt_cÚfig_t - * -pÜtcÚf -) - -26  -pÜt_id -; - -27 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -28 ià( -ifm_debug - && -IFM_DEBUG_CONFIG -) - -29 - `RTE_LOG -( -INFO -, -IFM -, "%s: i/°Çm%p, mod%d\n\r", -__FUNCTION__ -, - -30 -Çme -, -mode -); - -31 ià( -Çme - =ð -NULL -) { - -32 - `RTE_LOG -( -ERR -, -IFM -, "%s: Param‚ame cannot be NULL\n\r", - -33 -__FUNCTION__ -); - -34  -IFM_FAILURE -; - -36 ià( -mode - < 0 || mode > 6) { - -37 - `RTE_LOG -( -ERR -, -IFM -, "%s: Param mode should be withing 0o 6\n\r", - -38 -__FUNCTION__ -); - -39  -IFM_FAILURE -; - -41 ià( -pÜtcÚf - =ð -NULL -) { - -42 - `RTE_LOG -( -ERR -, -IFM -, "%s: Param…ortconf cannot be NULL\n\r", - -43 -__FUNCTION__ -); - -44  -IFM_FAILURE -; - -46 -bÚd_pÜt - = - `ifm_g‘_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_‘h_bÚd_ü—‹ -( -Çme -, -mode -, 0); - -51 ià( -pÜt_id - < 0) { - -52 - `RTE_LOG -( -ERR -, -IFM -, - -54 -__FUNCTION__ -, -Çme -, -mode -); - -55  -IFM_FAILURE -; - -57 - `RTE_LOG -( -INFO -, -IFM -, - -59 "mod%u.\n\r", -__FUNCTION__ -, -Çme -, -pÜt_id -, - -60 - `¹e_‘h_dev_sock‘_id -( -pÜt_id -), -mode -); - -62 -bÚd_pÜt - = ( -l2_phy_š‹rçû_t - *è - `¹e_zm®loc -( -NULL -, - -64 ( -l2_phy_š‹rçû_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 ( -pÜt_cÚfig_t -)); - -70 -bÚd_pÜt --> -æags - |ð -IFM_MASTER -; - -71  -bÚd_pÜt - * -bÚd_šfo -; - -72 -bÚd_šfo - = ( -bÚd_pÜt - *) - `¹e_zm®loc -( -NULL -, - -74 -bÚd_pÜt -), - -75 -RTE_CACHE_LINE_SIZE -); - -76 -bÚd_šfo --> -sock‘_id - = - `¹e_‘h_dev_sock‘_id -( -pÜt_id -); - -77 -bÚd_šfo --> -mode - = mode; - -78 -bÚd_šfo --> -bÚd_pÜtid - = -pÜt_id -; - -79 -bÚd_pÜt --> -bÚd_cÚfig - = -bÚd_šfo -; - -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‡lreadyƒxists inhe" - -92 "…܈li¡\n\r", -__FUNCTION__ -, -Çme -); - -93 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -94 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring†ock @ %d\n\r", - -95 -__FUNCTION__ -, -__LINE__ -); - -96 ià( -USE_RTM_LOCKS -) - -97 - `¹m_lock -(); - -99 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -101 ià(!( -bÚd_pÜt --> -æags - & -IFM_MASTER -)) { - -102 - `RTE_LOG -( -ERR -, -IFM -, "%s: Previously…ort %s was‚ot " - -103 "cÚfigu»d‡ BÚd…Ü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™e_uÆock -(& -rwlock -); - -113  -IFM_FAILURE -; - -115 ià( -bÚd_pÜt --> -bÚd_cÚfig --> -mode - != mode) { - -116 ià( - `¹e_‘h_bÚd_mode_£t -( -bÚd_pÜt --> -pmdid -, -mode -) < 0) { - -117 - `RTE_LOG -( -ERR -, -IFM -, "%s:„te_eth_bond_mode_set " - -118 "çžed\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™e_uÆock -(& -rwlock -); - -127  -IFM_FAILURE -; - -130 -bÚd_pÜt --> -bÚd_cÚfig --> -mode - = - -131 - `¹e_‘h_bÚd_mode_g‘ -( -bÚd_pÜt --> -pmdid -); - -133 -bÚd_pÜt --> -bÚd_cÚfig --> -xm™_pÞicy - = - -134 - `¹e_‘h_bÚd_xm™_pÞicy_g‘ -( -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™_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†ock @ %d\n\r", - -145 -__FUNCTION__ -, -__LINE__ -); - -146 ià( -USE_RTM_LOCKS -) - -147 - `¹m_uÆock -(); - -149 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -151  -pÜt_id -; - -152 - } -} - -154  - $ifm_bÚd_pÜt_d–‘e -(cÚ¡ * -Çme -) - -156 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -157 ià( -Çme - =ð -NULL -) { - -158 - `RTE_LOG -( -ERR -, -IFM -, "%s: Param‚ame cannot be NULL\n\r", - -159 -__FUNCTION__ -); - -160  -IFM_FAILURE -; - -162 -bÚd_pÜt - = - `ifm_g‘_pÜt_by_Çme -( -Çme -); - -163 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -164 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -165 -__FUNCTION__ -, -__LINE__ -); - -166 ià( -USE_RTM_LOCKS -) - -167 - `¹m_lock -(); - -169 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -170 ià( -bÚd_pÜt - =ð -NULL -) { - -171 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort with‚ame %s‚ot" - -172 " found iÀthli¡\n\r", -__FUNCTION__ -, -Çme -); - -173  -IFM_FAILURE -; - -175 ià(!( -bÚd_pÜt --> -æags - & -IFM_MASTER -)) { - -176 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %s is‚ot " - -177 "cÚfigu»d i nÙ bÚd…Üt\n\r", -__FUNCTION__ -, -Çme -); - -178 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -179 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -180 -__FUNCTION__ -, -__LINE__ -); - -181 ià( -USE_RTM_LOCKS -) { - -182 - `¹m_uÆock -(); - -184 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -186  -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‡ll slave " - -190 "pÜt äomhbÚd…܈%s\n\r", -__FUNCTION__ -, -Çme -); - -191 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -192 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -193 -__FUNCTION__ -, -__LINE__ -); - -194 ià( -USE_RTM_LOCKS -) { - -195 - `¹m_uÆock -(); - -197 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -199  -IFM_FAILURE -; - -201  -»t -; - -202 -»t - = - `¹e_‘h_bÚd_ä“ -( -Çme -); - -203 ià( -»t - < 0) { - -204 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo delete " - -205 "bÚd…܈%s\n\r", -__FUNCTION__ -, -Çme -); - -206 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -207 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -208 -__FUNCTION__ -, -__LINE__ -); - -209 ià( -USE_RTM_LOCKS -) { - -210 - `¹m_uÆock -(); - -212 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -214  -IFM_FAILURE -; - -216 ià( -ifm_debug - & -IFM_DEBUG_CONFIG -) - -217 - `RTE_LOG -( -INFO -, -IFM -, "%s: Bond…ort %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_ä“ -( -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†ock @ %d\n\r", - -226 -__FUNCTION__ -, -__LINE__ -); - -227 ià( -USE_RTM_LOCKS -) - -228 - `¹m_uÆock -(); - -230 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -231 - `ifm_»move_pÜt_d‘ažs -( -bÚd_pÜt --> -pmdid -); - -233  -IFM_SUCCESS -; - -234 - } -} - -236  - $ifm_add_¦ave_pÜt -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -¦ave_pÜt_id -) - -238 -l2_phy_š‹rçû_t - * -bÚd_pÜt -, * -¦ave_pÜt -; - -239 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -241 -¦ave_pÜt - = - `ifm_g‘_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†ock @ %d\n\r", - -248 -__FUNCTION__ -, -__LINE__ -); - -249 ià( -USE_RTM_LOCKS -) { - -250 - `¹m_lock -(); - -252 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -254 ià( -bÚd_pÜt - =ð -NULL -) { - -255 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -256 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -257 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -258 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -259 -__FUNCTION__ -, -__LINE__ -); - -260 ià( -USE_RTM_LOCKS -) { - -261 - `¹m_uÆock -(); - -263 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -265  -IFM_FAILURE -; - -267 ià( -¦ave_pÜt - =ð -NULL -) { - -268 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given slave…ort %u is‚ot‡vailable in " - -269 "p܈li¡.\n\r", -__FUNCTION__ -, -¦ave_pÜt_id -); - -270 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -271 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -272 -__FUNCTION__ -, -__LINE__ -); - -273 ià( -USE_RTM_LOCKS -) { - -274 - `¹m_uÆock -(); - -276 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -278  -IFM_FAILURE -; - -280 ià( -bÚd_pÜt - && !(bÚd_pÜt-> -æags - & -IFM_MASTER -)) { - -281 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot configured " - -282 "a Ma¡”…Ü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†ock @ %d\n\r", - -286 -__FUNCTION__ -, -__LINE__ -); - -287 ià( -USE_RTM_LOCKS -) { - -288 - `¹m_uÆock -(); - -290 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -292  -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†ock @ %d\n\r", - -301 -__FUNCTION__ -, -__LINE__ -); - -302 ià( -USE_RTM_LOCKS -) { - -303 - `¹m_uÆock -(); - -305 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -307  -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™e_uÆock -(& -rwlock -); - -328  -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™e_uÆock -(& -rwlock -); - -344  -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šk_¥“d - !ð -¦ave_pÜt -->link_speed - -350 && -bÚd_pÜt --> -lšk_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†ock @ %d\n\r", - -356 -__FUNCTION__ -, -__LINE__ -); - -357 ià( -USE_RTM_LOCKS -) { - -358 - `¹m_uÆock -(); - -360 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -362  -IFM_FAILURE -; - -364 ià( -ifm_debug - & -IFM_DEBUG -) - -365 - `RTE_LOG -( -INFO -, -IFM -, "%s: Slave…ort %u Master…ort %u\n\r", - -366 -__FUNCTION__ -, -¦ave_pÜt_id -, -bÚded_pÜt_id -); - -367  -»t -; - -368 -»t - = - `¹e_‘h_bÚd_¦ave_add -( -bÚd_pÜt --> -pmdid -, -¦ave_pÜt -->pmdid); - -369 ià( -»t - < 0) { - -370 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo‡dd slave…ort %uo 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†ock @ %d\n\r", - -375 -__FUNCTION__ -, -__LINE__ -); - -376 ià( -USE_RTM_LOCKS -) { - -377 - `¹m_uÆock -(); - -379 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -381  -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™_pÞicy - = - -387 - `¹e_‘h_bÚd_xm™_pÞicy_g‘ -( -bÚd_pÜt --> -pmdid -); - -388 -bÚd_pÜt --> -bÚd_cÚfig --> -š‹º®_ms - = - -389 - `¹e_‘h_bÚd_lšk_mڙܚg_g‘ -( -bÚd_pÜt --> -pmdid -); - -390 -bÚd_pÜt --> -bÚd_cÚfig --> -lšk_up_d–ay_ms - = - -391 - `¹e_‘h_bÚd_lšk_up_´Ý_d–ay_g‘ -( -bÚd_pÜt --> -pmdid -); - -392 -bÚd_pÜt --> -bÚd_cÚfig --> -lšk_down_d–ay_ms - = - -393 - `¹e_‘h_bÚd_lšk_down_´Ý_d–ay_g‘ -( -bÚd_pÜt --> -pmdid -); - -394 -bÚd_pÜt --> -bÚd_cÚfig --> -´im¬y - = - -395 - `¹e_‘h_bÚd_´im¬y_g‘ -( -bÚd_pÜt --> -pmdid -); - -396 -bÚd_pÜt --> -bÚd_cÚfig --> -¦ave_couÁ - = - -397 - `¹e_‘h_bÚd_¦aves_g‘ -( -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_‘h_bÚd_aùive_¦aves_g‘ -( -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™e_uÆock -(& -rwlock -); - -427  -IFM_FAILURE -; - -430 ià( -ifm_debug - & -IFM_DEBUG -) - -431 - `RTE_LOG -( -INFO -, -IFM -, "%s: Skipping" - -432 "…܈£tup\n\r", -__FUNCTION__ -); - -435 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -436 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -437 -__FUNCTION__ -, -__LINE__ -); - -438 ià( -USE_RTM_LOCKS -) { - -439 - `¹m_uÆock -(); - -441 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -443  -IFM_SUCCESS -; - -444 - } -} - -446  - $ifm_»move_¦ave_pÜt -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -¦ave_pÜt_id -) - -448 -l2_phy_š‹rçû_t - * -bÚd_pÜt -, * -¦ave_pÜt -; - -450 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -452 -¦ave_pÜt - = - `ifm_g‘_pÜt -( -¦ave_pÜt_id -); - -455 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -456 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -457 -__FUNCTION__ -, -__LINE__ -); - -458 ià( -USE_RTM_LOCKS -) { - -459 - `¹m_lock -(); - -461 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -463 ià( -bÚd_pÜt - =ð -NULL -) { - -464 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable " - -465 "š…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -466 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -467 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -468 -__FUNCTION__ -, -__LINE__ -); - -469 ià( -USE_RTM_LOCKS -) - -470 - `¹m_uÆock -(); - -472 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -473  -IFM_FAILURE -; - -475 ià( -¦ave_pÜt - =ð -NULL -) { - -476 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given slave…ort %u is‚ot‡vailable " - -477 "š…܈li¡.\n\r", -__FUNCTION__ -, -¦ave_pÜt_id -); - -478 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -479 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -480 -__FUNCTION__ -, -__LINE__ -); - -481 ià( -USE_RTM_LOCKS -) - -482 - `¹m_uÆock -(); - -484 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -485  -IFM_FAILURE -; - -487 ià( -bÚd_pÜt - && !(bÚd_pÜt-> -æags - & -IFM_MASTER -)) { - -488 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot configured " - -489 "a Ma¡”…Üt.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -490 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -491 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -492 -__FUNCTION__ -, -__LINE__ -); - -493 ià( -USE_RTM_LOCKS -) - -494 - `¹m_uÆock -(); - -496 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -497  -IFM_FAILURE -; - -499 ià( -¦ave_pÜt - && !(¦ave_pÜt-> -æags - & -IFM_SLAVE -)) { - -500 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given slave…ort %u is‚ot configured" - -501 "‡ ¦avpÜt.\n\r", -__FUNCTION__ -, -¦ave_pÜt_id -); - -502 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -503 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -504 -__FUNCTION__ -, -__LINE__ -); - -505 ià( -USE_RTM_LOCKS -) - -506 - `¹m_uÆock -(); - -508 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -509  -IFM_FAILURE -; - -511  -i -; - -512  -found - = 0; - -513  -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…ort %u is‚ot binded " - -521 "w™h bÚd…܈%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†ock @ %d\n\r", - -525 -__FUNCTION__ -, -__LINE__ -); - -526 ià( -USE_RTM_LOCKS -) - -527 - `¹m_uÆock -(); - -529 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -530  -IFM_FAILURE -; - -532 ià( - `¹e_‘h_bÚd_¦ave_»move -( -bÚded_pÜt_id -, -¦ave_pÜt_id -) < 0) { - -533 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo unbind slave…ort %u" - -534 " from bÚd…܈%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†ock @ %d\n\r", - -538 -__FUNCTION__ -, -__LINE__ -); - -539 ià( -USE_RTM_LOCKS -) - -540 - `¹m_uÆock -(); - -542 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -543  -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_‘h_bÚd_´im¬y_g‘ -( -bÚd_pÜt --> -pmdid -); - -549 -bÚd_pÜt --> -bÚd_cÚfig --> -¦ave_couÁ - = - -550 - `¹e_‘h_bÚd_¦aves_g‘ -( -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_‘h_bÚd_aùive_¦aves_g‘ -( -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…ort %u fromhe bond " - -560 "p܈%u %d\n\r", -__FUNCTION__ -, -¦ave_pÜt_id -, - -561 -bÚded_pÜt_id -, - -562 - `¹e_‘h_bÚd_´im¬y_g‘ -( -bÚd_pÜt --> -pmdid -)); - -563 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -564 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -565 -__FUNCTION__ -, -__LINE__ -); - -566 ià( -USE_RTM_LOCKS -) - -567 - `¹m_uÆock -(); - -569 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -570  -IFM_SUCCESS -; - -571 - } -} - -573  - $£t_bÚd_mode -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -mode -) - -575 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -576 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -579 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -580 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -581 -__FUNCTION__ -, -__LINE__ -); - -582 ià( -USE_RTM_LOCKS -) - -583 - `¹m_lock -(); - -585 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -586 if( -bÚd_pÜt -) - -587 - `ifm_»move_pÜt_d‘ažs -( -bÚd_pÜt --> -pmdid -); - -588 ià( -bÚd_pÜt - =ð -NULL -) { - -589 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -590 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -591  -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%u\n\r.", -__FUNCTION__ -, -mode -); - -598 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -599 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -600 -__FUNCTION__ -, -__LINE__ -); - -601 ià( -USE_RTM_LOCKS -) - -602 - `¹m_uÆock -(); - -604 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -605 - `ifm_»move_pÜt_d‘ažs -( -bÚd_pÜt --> -pmdid -); - -606  -IFM_SUCCESS -; - -609 ià( - `¹e_‘h_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†ock @ %d\n\r", - -615 -__FUNCTION__ -, -__LINE__ -); - -616 ià( -USE_RTM_LOCKS -) - -617 - `¹m_uÆock -(); - -619 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -620 - `ifm_»move_pÜt_d‘ažs -( -bÚd_pÜt --> -pmdid -); - -621  -IFM_FAILURE -; - -624 -bÚd_pÜt --> -bÚd_cÚfig --> -mode - = - `¹e_‘h_bÚd_mode_g‘ -(bÚd_pÜt-> -pmdid -); - -626 -bÚd_pÜt --> -bÚd_cÚfig --> -xm™_pÞicy - = - -627 - `¹e_‘h_bÚd_xm™_pÞicy_g‘ -( -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™_pÞicy -); - -634 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -635 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -636 -__FUNCTION__ -, -__LINE__ -); - -637 ià( -USE_RTM_LOCKS -) - -638 - `¹m_uÆock -(); - -640 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -641 - `ifm_»move_pÜt_d‘ažs -( -bÚd_pÜt --> -pmdid -); - -642  -IFM_SUCCESS -; - -643 - } -} - -645  - $g‘_bÚd_mode -( -ušt8_t - -bÚded_pÜt_id -) - -647 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -648 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -651 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -652 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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…ort %u is‚ot‡vailable in" - -661 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -662 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -663 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -664 -__FUNCTION__ -, -__LINE__ -); - -665 ià( -USE_RTM_LOCKS -) { - -666 - `¹m_uÆock -(); - -668 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -670  -IFM_FAILURE -; - -672 -ušt8_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†ock @ %d\n\r", - -675 -__FUNCTION__ -, -__LINE__ -); - -676 ià( -USE_RTM_LOCKS -) { - -677 - `¹m_uÆock -(); - -679 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -681  -mode -; - -682 - } -} - -684  - $£t_bÚd_´im¬y -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -¦ave_pÜt_id -) - -686 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -687 -l2_phy_š‹rçû_t - * -¦ave_pÜt -; - -688 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -690 -¦ave_pÜt - = - `ifm_g‘_pÜt -( -¦ave_pÜt_id -); - -693 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -694 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -695 -__FUNCTION__ -, -__LINE__ -); - -696 ià( -USE_RTM_LOCKS -) - -697 - `¹m_lock -(); - -699 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -700 ià( -bÚd_pÜt - =ð -NULL -) { - -701 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -702 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -703 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -704 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -705 -__FUNCTION__ -, -__LINE__ -); - -706 ià( -USE_RTM_LOCKS -) - -707 - `¹m_uÆock -(); - -709 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -710  -IFM_FAILURE -; - -712 ià( -¦ave_pÜt - =ð -NULL -) { - -713 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given slave…ort %u is‚ot‡vailable in" - -714 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -715 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -716 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -717 -__FUNCTION__ -, -__LINE__ -); - -718 ià( -USE_RTM_LOCKS -) - -719 - `¹m_uÆock -(); - -721 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -722  -IFM_FAILURE -; - -724  -i -; - -725  -found - = 0; - -726  -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…ort %u is‚ot 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†ock @ %d\n\r", - -738 -__FUNCTION__ -, -__LINE__ -); - -739 ià( -USE_RTM_LOCKS -) - -740 - `¹m_uÆock -(); - -742 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -743  -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†ock @ %d\n\r", - -754 -__FUNCTION__ -, -__LINE__ -); - -755 ià( -USE_RTM_LOCKS -) - -756 - `¹m_uÆock -(); - -758 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -759  -IFM_SUCCESS -; - -762 ià( - `¹e_‘h_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†ock @ %d\n\r", - -768 -__FUNCTION__ -, -__LINE__ -); - -769 ià( -USE_RTM_LOCKS -) - -770 - `¹m_uÆock -(); - -772 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -773  -IFM_FAILURE -; - -776 -bÚd_pÜt --> -bÚd_cÚfig --> -´im¬y - = - -777 - `¹e_‘h_bÚd_´im¬y_g‘ -( -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†ock @ %d\n\r", - -785 -__FUNCTION__ -, -__LINE__ -); - -786 ià( -USE_RTM_LOCKS -) - -787 - `¹m_uÆock -(); - -789 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -790  -IFM_SUCCESS -; - -791 - } -} - -793  - $g‘_bÚd_´im¬y_pÜt -( -ušt8_t - -bÚded_pÜt_id -) - -795 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -796 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -799 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -800 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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…ort %u is‚ot‡vailable in" - -809 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -810 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -811 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -812 -__FUNCTION__ -, -__LINE__ -); - -813 ià( -USE_RTM_LOCKS -) { - -814 - `¹m_uÆock -(); - -816 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -818  -IFM_FAILURE -; - -820 -ušt8_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†ock @ %d\n\r", - -823 -__FUNCTION__ -, -__LINE__ -); - -824 ià( -USE_RTM_LOCKS -) { - -825 - `¹m_uÆock -(); - -827 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -829  -´im¬y -; - -830 - } -} - -832  - $g‘_bÚd_¦ave_couÁ -( -ušt8_t - -bÚded_pÜt_id -) - -834 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -835 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -838 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -839 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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…ort %u is‚ot‡vailable in" - -848 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -849 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -850 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -851 -__FUNCTION__ -, -__LINE__ -); - -852 ià( -USE_RTM_LOCKS -) { - -853 - `¹m_uÆock -(); - -855 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -857  -IFM_FAILURE -; - -859 -ušt32_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†ock @ %d\n\r", - -862 -__FUNCTION__ -, -__LINE__ -); - -863 ià( -USE_RTM_LOCKS -) { - -864 - `¹m_uÆock -(); - -866 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -868  -¦ave_couÁ -; - -869 - } -} - -871  - $g‘_bÚd_aùive_¦ave_couÁ -( -ušt8_t - -bÚded_pÜt_id -) - -873 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -874 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -877 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -878 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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…ort %u is‚ot‡vailable in" - -887 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -888 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -889 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -890 -__FUNCTION__ -, -__LINE__ -); - -891 ià( -USE_RTM_LOCKS -) { - -892 - `¹m_uÆock -(); - -894 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -896  -IFM_FAILURE -; - -898 -ušt32_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†ock @ %d\n\r", - -901 -__FUNCTION__ -, -__LINE__ -); - -902 ià( -USE_RTM_LOCKS -) { - -903 - `¹m_uÆock -(); - -905 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -907  -¦ave_couÁ -; - -908 - } -} - -910  - $g‘_bÚd_¦aves -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -¦aves -[ -RTE_MAX_ETHPORTS -]) - -912 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -913 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -916 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -917 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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…ort %u is‚ot‡vailable in" - -926 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -927  -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†ock @ %d\n\r", - -933 -__FUNCTION__ -, -__LINE__ -); - -934 ià( -USE_RTM_LOCKS -) { - -935 - `¹m_uÆock -(); - -937 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -939  -IFM_SUCCESS -; - -940 - } -} - -942  - $g‘_bÚd_aùive_¦aves -( -ušt8_t - -bÚded_pÜt_id -, - -943 -ušt8_t - -aùive_¦aves -[ -RTE_MAX_ETHPORTS -]) - -945 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -946 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -949 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -950 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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…ort %u is‚ot‡vailable in" - -959 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -960  -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†ock @ %d\n\r", - -966 -__FUNCTION__ -, -__LINE__ -); - -967 ià( -USE_RTM_LOCKS -) { - -968 - `¹m_uÆock -(); - -970 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -972  -IFM_SUCCESS -; - -973 - } -} - -975  - $£t_bÚd_mac_add»ss -( -ušt8_t - -bÚded_pÜt_id -,  -‘h”_addr - * -mac_addr -) - -977 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -978 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -981 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -982 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -983 -__FUNCTION__ -, -__LINE__ -); - -984 ià( -USE_RTM_LOCKS -) { - -985 - `¹m_lock -(); - -987 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -989 ià( -mac_addr - =ð -NULL -) { - -990 - `RTE_LOG -( -ERR -, -IFM -, "%s: MAC‡ddress cannot be NULL.\n\r", - -991 -__FUNCTION__ -); - -992 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -993 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -994 -__FUNCTION__ -, -__LINE__ -); - -995 ià( -USE_RTM_LOCKS -) { - -996 - `¹m_uÆock -(); - -998 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1000  -IFM_FAILURE -; - -1003 ià( -bÚd_pÜt - =ð -NULL -) { - -1004 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -1005 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1006 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1007 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1008 -__FUNCTION__ -, -__LINE__ -); - -1009 ià( -USE_RTM_LOCKS -) { - -1010 - `¹m_uÆock -(); - -1012 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1014  -IFM_FAILURE -; - -1016 ià( - `¹e_‘h_bÚd_mac_add»ss_£t -( -bÚd_pÜt --> -pmdid -, -mac_addr -) < 0) { - -1017 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo set MAC‡ddr for…ort %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†ock @ %d\n\r", - -1021 -__FUNCTION__ -, -__LINE__ -); - -1022 ià( -USE_RTM_LOCKS -) { - -1023 - `¹m_uÆock -(); - -1025 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1027  -IFM_FAILURE -; - -1029 - `¹e_‘h_maÿddr_g‘ -( -bÚd_pÜt --> -pmdid -, - -1030 ( -‘h”_addr - *) -bÚd_pÜt --> -maÿddr -); - -1031 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1032 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1033 -__FUNCTION__ -, -__LINE__ -); - -1034 ià( -USE_RTM_LOCKS -) { - -1035 - `¹m_uÆock -(); - -1037 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1039  -IFM_SUCCESS -; - -1040 - } -} - -1042  - $»£t_bÚd_mac_addr -( -ušt8_t - -bÚded_pÜt_id -) - -1044 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1045 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1048 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1049 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -1050 -__FUNCTION__ -, -__LINE__ -); - -1051 ià( -USE_RTM_LOCKS -) { - -1052 - `¹m_lock -(); - -1054 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -1056 ià( -bÚd_pÜt - =ð -NULL -) { - -1057 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -1058 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1059 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1060 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1061 -__FUNCTION__ -, -__LINE__ -); - -1062 ià( -USE_RTM_LOCKS -) { - -1063 - `¹m_uÆock -(); - -1065 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1067  -IFM_FAILURE -; - -1069 ià( - `¹e_‘h_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†ock @ %d\n\r", - -1075 -__FUNCTION__ -, -__LINE__ -); - -1076 ià( -USE_RTM_LOCKS -) { - -1077 - `¹m_uÆock -(); - -1079 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1081  -IFM_FAILURE -; - -1083 - `¹e_‘h_maÿddr_g‘ -( -bÚd_pÜt --> -pmdid -, - -1084 ( -‘h”_addr - *) -bÚd_pÜt --> -maÿddr -); - -1085 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1086 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1087 -__FUNCTION__ -, -__LINE__ -); - -1088 ià( -USE_RTM_LOCKS -) { - -1089 - `¹m_uÆock -(); - -1091 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1093  -IFM_FAILURE -; - -1094 - } -} - -1096  - $£t_bÚd_xm™pÞicy -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -pÞicy -) - -1099 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1100 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1102  -»t - = 0; - -1104 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1105 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -1106 -__FUNCTION__ -, -__LINE__ -); - -1107 ià( -USE_RTM_LOCKS -) { - -1108 - `¹m_lock -(); - -1110 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -1112 ià( -bÚd_pÜt - =ð -NULL -) { - -1113 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -1114 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1115 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1116 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1117 -__FUNCTION__ -, -__LINE__ -); - -1118 ià( -USE_RTM_LOCKS -) { - -1119 - `¹m_uÆock -(); - -1121 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1123  -IFM_FAILURE -; - -1125 ià( -bÚd_pÜt --> -bÚd_cÚfig --> -xm™_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†ock @ %d\n\r", - -1132 -__FUNCTION__ -, -__LINE__ -); - -1133 ià( -USE_RTM_LOCKS -) { - -1134 - `¹m_uÆock -(); - -1136 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1138  -IFM_SUCCESS -; - -1140 ià( - `¹e_‘h_bÚd_xm™_pÞicy_£t -( -bÚd_pÜt --> -pmdid -, -pÞicy -) < 0) { - -1141 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo set…olicy for…ort %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†ock @ %d\n\r", - -1145 -__FUNCTION__ -, -__LINE__ -); - -1146 ià( -USE_RTM_LOCKS -) { - -1147 - `¹m_uÆock -(); - -1149 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1151  -IFM_FAILURE -; - -1153 -»t - = - `¹e_‘h_bÚd_xm™_pÞicy_g‘ -( -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†ock @ %d\n\r", - -1161 -__FUNCTION__ -, -__LINE__ -); - -1162 ià( -USE_RTM_LOCKS -) { - -1163 - `¹m_uÆock -(); - -1165 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1167  -IFM_FAILURE -; - -1169 -bÚd_pÜt --> -bÚd_cÚfig --> -xm™_pÞicy - = -pÞicy -; - -1170 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1171 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1172 -__FUNCTION__ -, -__LINE__ -); - -1173 ià( -USE_RTM_LOCKS -) { - -1174 - `¹m_uÆock -(); - -1176 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1178  -IFM_SUCCESS -; - -1179 - } -} - -1181  - $g‘_bÚd_xm™pÞicy -( -ušt8_t - -bÚded_pÜt_id -) - -1183 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1185 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1187 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1188 - `RTE_LOG -( -INFO -, -IFM -, "%s: RD Acquiring†ock @ %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…ort %u is‚ot‡vailable in" - -1197 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1198 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1199 - `RTE_LOG -( -INFO -, -IFM -, "%s:Releasing RD†ock @ %d\n\r", - -1200 -__FUNCTION__ -, -__LINE__ -); - -1201 ià( -USE_RTM_LOCKS -) { - -1202 - `¹m_uÆock -(); - -1204 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1206  -IFM_FAILURE -; - -1208 -ušt8_t - -pÞicy - = -bÚd_pÜt --> -bÚd_cÚfig --> -xm™_pÞicy -; - -1209 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1210 - `RTE_LOG -( -INFO -, -IFM -, "%s:Releasing RD†ock @ %d\n\r", - -1211 -__FUNCTION__ -, -__LINE__ -); - -1212 ià( -USE_RTM_LOCKS -) { - -1213 - `¹m_uÆock -(); - -1215 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1217  -pÞicy -; - -1218 - } -} - -1220  - $£t_bÚd_lšk_mÚt™Ü_äequ’cy -( -ušt8_t - -bÚded_pÜt_id -, - -1221 -ušt32_t - -š‹º®_ms -) - -1223 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1224 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1225 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -1226 -__FUNCTION__ -, -__LINE__ -); - -1227 ià( -USE_RTM_LOCKS -) { - -1228 - `¹m_lock -(); - -1230 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -1233 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1234  -»t - = 0; - -1236 ià( -bÚd_pÜt - =ð -NULL -) { - -1237 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -1238 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1239 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1240 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1241 -__FUNCTION__ -, -__LINE__ -); - -1242 ià( -USE_RTM_LOCKS -) { - -1243 - `¹m_uÆock -(); - -1245 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1247  -IFM_FAILURE -; - -1249 ià( -bÚd_pÜt --> -bÚd_cÚfig --> -š‹º®_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†ock @ %d\n\r", - -1256 -__FUNCTION__ -, -__LINE__ -); - -1257 ià( -USE_RTM_LOCKS -) { - -1258 - `¹m_uÆock -(); - -1260 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1262  -IFM_SUCCESS -; - -1264 ià( - `¹e_‘h_bÚd_lšk_mڙܚg_£t -( -bÚd_pÜt --> -pmdid -, -š‹º®_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†ock @ %d\n\r", - -1270 -__FUNCTION__ -, -__LINE__ -); - -1271 ià( -USE_RTM_LOCKS -) { - -1272 - `¹m_uÆock -(); - -1274 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1276  -IFM_FAILURE -; - -1278 -»t - = - `¹e_‘h_bÚd_lšk_mڙܚg_g‘ -( -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†ock @ %d\n\r", - -1286 -__FUNCTION__ -, -__LINE__ -); - -1287 ià( -USE_RTM_LOCKS -) { - -1288 - `¹m_uÆock -(); - -1290 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1292  -IFM_FAILURE -; - -1294 -bÚd_pÜt --> -bÚd_cÚfig --> -š‹º®_ms - = internal_ms; - -1295 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1296 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1297 -__FUNCTION__ -, -__LINE__ -); - -1298 ià( -USE_RTM_LOCKS -) { - -1299 - `¹m_uÆock -(); - -1301 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1303  -IFM_SUCCESS -; - -1304 - } -} - -1306  - $g‘_bÚd_lšk_mڙÜ_äequ’cy -( -ušt8_t - -bÚded_pÜt_id -) - -1308 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1310 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1312 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1313 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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…ort %u is‚ot‡vailable in" - -1322 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1323 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1324 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -1325 -__FUNCTION__ -, -__LINE__ -); - -1326 ià( -USE_RTM_LOCKS -) { - -1327 - `¹m_uÆock -(); - -1329 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1331  -IFM_FAILURE -; - -1333 -ušt32_t - -š‹º®_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†ock @ %d\n\r", - -1336 -__FUNCTION__ -, -__LINE__ -); - -1337 ià( -USE_RTM_LOCKS -) { - -1338 - `¹m_uÆock -(); - -1340 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1342  -š‹º®_ms -; - -1343 - } -} - -1345  - $£t_bÚd_lškdown_d–ay -( -ušt8_t - -bÚded_pÜt_id -, -ušt32_t - -d–ay_ms -) - -1347 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1348 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1349 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -1350 -__FUNCTION__ -, -__LINE__ -); - -1352 ià( -USE_RTM_LOCKS -) { - -1353 - `¹m_lock -(); - -1355 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -1358 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1359  -d–ay - = 0; - -1361 ià( -bÚd_pÜt - =ð -NULL -) { - -1362 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -1363 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1364 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1365 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1366 -__FUNCTION__ -, -__LINE__ -); - -1368 ià( -USE_RTM_LOCKS -) { - -1369 - `¹m_uÆock -(); - -1371 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1373  -IFM_FAILURE -; - -1375 ià( -bÚd_pÜt --> -bÚd_cÚfig --> -lšk_down_d–ay_ms - =ð -d–ay_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†ock @ %d\n\r", - -1382 -__FUNCTION__ -, -__LINE__ -); - -1384 ià( -USE_RTM_LOCKS -) { - -1385 - `¹m_uÆock -(); - -1387 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1389  -IFM_SUCCESS -; - -1391 ià( - `¹e_‘h_bÚd_lšk_down_´Ý_d–ay_£t -( -bÚd_pÜt --> -pmdid -, -d–ay_ms -) < - -1393 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo set delay for…ort %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†ock @ %d\n\r", - -1397 -__FUNCTION__ -, -__LINE__ -); - -1399 ià( -USE_RTM_LOCKS -) { - -1400 - `¹m_uÆock -(); - -1402 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1404  -IFM_FAILURE -; - -1406 -d–ay - = - `¹e_‘h_bÚd_lšk_down_´Ý_d–ay_g‘ -( -bÚd_pÜt --> -pmdid -); - -1407 ià( -d–ay - < 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†ock @ %d\n\r", - -1414 -__FUNCTION__ -, -__LINE__ -); - -1416 ià( -USE_RTM_LOCKS -) { - -1417 - `¹m_uÆock -(); - -1419 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1421  -IFM_FAILURE -; - -1423 -bÚd_pÜt --> -bÚd_cÚfig --> -lšk_down_d–ay_ms - = -d–ay -; - -1424 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1425 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1426 -__FUNCTION__ -, -__LINE__ -); - -1428 ià( -USE_RTM_LOCKS -) { - -1429 - `¹m_uÆock -(); - -1431 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1433  -IFM_SUCCESS -; - -1434 - } -} - -1436  - $g‘_bÚd_lšk_down_d–ay -( -ušt8_t - -bÚded_pÜt_id -) - -1438 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1440 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1441 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1442 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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…ort %u is‚ot‡vailable in" - -1451 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1452 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1453 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -1454 -__FUNCTION__ -, -__LINE__ -); - -1455 ià( -USE_RTM_LOCKS -) { - -1456 - `¹m_uÆock -(); - -1458 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1460  -IFM_FAILURE -; - -1462 -ušt32_t - -d–ay_ms - = -bÚd_pÜt --> -bÚd_cÚfig --> -lšk_down_d–ay_ms -; - -1463 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1464 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -1465 -__FUNCTION__ -, -__LINE__ -); - -1466 ià( -USE_RTM_LOCKS -) { - -1467 - `¹m_uÆock -(); - -1469 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1471  -d–ay_ms -; - -1473 - } -} - -1475  - $£t_bÚd_lškup_d–ay -( -ušt8_t - -bÚded_pÜt_id -, -ušt32_t - -d–ay_ms -) - -1477 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1478  -d–ay - = 0; - -1479 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1481 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1482 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -1483 -__FUNCTION__ -, -__LINE__ -); - -1484 ià( -USE_RTM_LOCKS -) - -1485 - `¹m_uÆock -(); - -1487 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1489 ià( -bÚd_pÜt - =ð -NULL -) { - -1490 - `RTE_LOG -( -ERR -, -IFM -, "%s: Given bond…ort %u is‚ot‡vailable in" - -1491 "…܈li¡.\n\r", -__FUNCTION__ -, -bÚded_pÜt_id -); - -1492 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1493 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1494 -__FUNCTION__ -, -__LINE__ -); - -1495 ià( -USE_RTM_LOCKS -) - -1496 - `¹m_uÆock -(); - -1498 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1499  -IFM_FAILURE -; - -1501 ià( -bÚd_pÜt --> -bÚd_cÚfig --> -lšk_up_d–ay_ms - =ð -d–ay_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†ock @ %d\n\r", - -1508 -__FUNCTION__ -, -__LINE__ -); - -1509 ià( -USE_RTM_LOCKS -) - -1510 - `¹m_uÆock -(); - -1512 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1513  -IFM_SUCCESS -; - -1515 ià( - `¹e_‘h_bÚd_lšk_up_´Ý_d–ay_£t -( -bÚd_pÜt --> -pmdid -, -d–ay_ms -) < 0) { - -1516 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo set delay for…ort %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†ock @ %d\n\r", - -1520 -__FUNCTION__ -, -__LINE__ -); - -1522 ià( -USE_RTM_LOCKS -) - -1523 - `¹m_uÆock -(); - -1525 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1526  -IFM_FAILURE -; - -1528 -d–ay - = - `¹e_‘h_bÚd_lšk_up_´Ý_d–ay_g‘ -( -bÚd_pÜt --> -pmdid -); - -1529 ià( -d–ay - < 0) { - -1530 - `RTE_LOG -( -INFO -, -IFM -, - -1532 -__FUNCTION__ -); - -1533 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1534 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1535 -__FUNCTION__ -, -__LINE__ -); - -1537 ià( -USE_RTM_LOCKS -) - -1538 - `¹m_uÆock -(); - -1540 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1541  -IFM_FAILURE -; - -1543 -bÚd_pÜt --> -bÚd_cÚfig --> -lšk_up_d–ay_ms - = -d–ay -; - -1544 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1545 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -1546 -__FUNCTION__ -, -__LINE__ -); - -1548 ià( -USE_RTM_LOCKS -) - -1549 - `¹m_uÆock -(); - -1551 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1552  -IFM_SUCCESS -; - -1553 - } -} - -1555  - $g‘_bÚd_lšk_up_d–ay -( -ušt8_t - -bÚded_pÜt_id -) - -1557 -l2_phy_š‹rçû_t - * -bÚd_pÜt -; - -1558 -ušt32_t - -d–ay_ms -; - -1560 -bÚd_pÜt - = - `ifm_g‘_pÜt -( -bÚded_pÜt_id -); - -1562 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1563 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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 "…܈li¡.\n\r", -__FUNCTION__ -, - -1574 -bÚded_pÜt_id -); - -1576 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1577 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -1578 -__FUNCTION__ -, -__LINE__ -); - -1579 ià( -USE_RTM_LOCKS -) - -1580 - `¹m_uÆock -(); - -1582 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1583  -IFM_FAILURE -; - -1585 -d–ay_ms - = -bÚd_pÜt --> -bÚd_cÚfig --> -lšk_up_d–ay_ms -; - -1587 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1588 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -1589 -__FUNCTION__ -, -__LINE__ -); - -1590 ià( -USE_RTM_LOCKS -) - -1591 - `¹m_uÆock -(); - -1593 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1594  -d–ay_ms -; - -1595 - } -} - - @VIL/l2l3_stack/hle.c - -16  - ~"tsx.h -" - -18  - ~ - -20  - $hË_š™ -() - -22 -mu‹x_v® - = 0; - -23 - } -} - -25  - $hË_lock -() - -27  -__©omic_exchªge_n - - -28 (& -mu‹x_v® -, 1, -__ATOMIC_ACQUIRE - | -__ATOMIC_HLE_ACQUIRE -)) - -29 - `_mm_·u£ -(); - -30  -TRUE -; - -31 - } -} - -33  - $hË_»Ëa£ -() - -35 - `__©omic_¡Üe_n -(& -mu‹x_v® -, 0, - -36 -__ATOMIC_RELEASE - | -__ATOMIC_HLE_RELEASE -); - -37  -TRUE -; - -38 - } -} - -40  - $is_hË_locked -() - -42  ( -mu‹x_v® - =ð0è? -FALSE - : -TRUE -; - -43 - } -} - - @VIL/l2l3_stack/hle.h - -17  - #HLE_TRUE - 1 - - ) - -18  - #HLE_FALSE - 0 - - ) - -20 vÞ©ž - gmu‹x_v® -; - -25  -hË_mu‹x -(); - -30  -hË_lock -(); - -35  -hË_»Ëa£ -(); - -40  -is_locked -(); - - @VIL/l2l3_stack/interface.c - -16  - ~<š‹rçû.h -> - -17  - ~<¹e_by‹Üd”.h -> - -18  - ~ - -19  - ~ - -21 -š‹rçû_maš_t - - gifm -; - -22  - gUSE_RTM_LOCKS - = 0; - -23 -¹e_rwlock_t - - grwlock -; - -24 -ušt8_t - - gifm_debug -; - -25  - g´ev_¡©e -; - -27  - $cÚfig_ifm_debug -( -dbg -,  -æag -) - -29  -dbg -) { - -30  -IFM_DEBUG_CONFIG -: - -31 ià( -æag -) { - -32 -ifm_debug - |ð -IFM_DEBUG_CONFIG -; - -34 -ifm_debug - &ð~ -IFM_DEBUG_CONFIG -; - -37  -IFM_DEBUG_RXTX -: - -38 ià( -æag -) { - -39 -ifm_debug - |ð -IFM_DEBUG_RXTX -; - -41 -ifm_debug - &ð~ -IFM_DEBUG_RXTX -; - -44  -IFM_DEBUG_LOCKS -: - -45 ià( -æag -) { - -46 -ifm_debug - |ð -IFM_DEBUG_LOCKS -; - -48 -ifm_debug - &ð~ -IFM_DEBUG_LOCKS -; - -51  -IFM_DEBUG -: - -52 ià( -æag -) { - -53 -ifm_debug - |ð -IFM_DEBUG -; - -55 -ifm_debug - &ð~ -IFM_DEBUG -; - -59 - } -} - -61  - $ifm_š™ -() - -63  -i - = 0; - -64 - `cÚfig_ifm_debug -( -IFM_DEBUG_CONFIG -, 1); - -65 ià( - `ÿn_u£_š‹l_cÜe_4th_g’_ã©u»s -()) { - -66 ià( -ifm_debug - & -IFM_DEBUG_CONFIG -) - -67 - `RTE_LOG -( -INFO -, -IFM -, "TSX‚ot currently supported...\n\r"); - -68 -USE_RTM_LOCKS - = 0; - -70 ià( -ifm_debug - & -IFM_DEBUG_CONFIG -) - -71 - `RTE_LOG -( -INFO -, -IFM -, "TSX‚ot supported\n\r"); - -72 -USE_RTM_LOCKS - = 0; - -74 ià( -USE_RTM_LOCKS -) - -75 - `¹m_š™ -(); - -77 - `¹e_rwlock_š™ -(& -rwlock -); - -79  -i - = 0; i < -IFM_MAX_PORTARR_SZ -; i++) { - -80 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -81 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -82 -__FUNCTION__ -, -__LINE__ -); - -83 ià( -USE_RTM_LOCKS -) - -84 - `¹m_lock -(); - -86 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -88 -ifm -. -pÜt_li¡ -[ -i -] = -NULL -; - -89 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -90 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock @ %d\n\r", - -91 -__FUNCTION__ -, -__LINE__ -); - -92 ià( -USE_RTM_LOCKS -) - -93 - `¹m_uÆock -(); - -95 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -97 -ifm -. -ÅÜt_štŸlized - = - `¹e_‘h_dev_couÁ -(); - -98 -ifm -. -ÅÜt_cÚfigu»d - = 0; - -99 - `RTE_LOG -( -INFO -, -IFM -, "IFM_INIT: Number of…orts initialized during " - -100 "PCI…robšg %u.\n\r", -ifm -. -ÅÜt_štŸlized -); - -101 - } -} - -103  - $ifm_»move_pÜt_d‘ažs -( -ušt8_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†ock %d\n\r", - -108 -__FUNCTION__ -, -__LINE__ -); - -109 ià( -USE_RTM_LOCKS -) - -110 - `¹m_lock -(); - -112 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -113 -l2_phy_š‹rçû_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…ort %u\n\r", - -117 -__FUNCTION__ -, -pÜtid -); - -118 - `¹e_ä“ -( -pÜt -); - -119 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -120 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing†ock @ %d\n\r", - -121 -__FUNCTION__ -, -__LINE__ -); - -123 ià( -USE_RTM_LOCKS -) - -124 - `¹m_uÆock -(); - -126 - `¹e_rwlock_wr™e_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_š‹rçû_t - * - $ifm_g‘_pÜt -( -ušt8_t - -pÜt_id -) - -137 -l2_phy_š‹rçû_t - * -pÜt - = -NULL -; - -138 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -139 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %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†ock @ %d\n\r", - -155 -__FUNCTION__ -, -__LINE__ -); - -156 ià( -USE_RTM_LOCKS -) - -157 - `¹m_uÆock -(); - -159 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -160  -NULL -; - -162 ià( -pÜt --> -pmdid - =ð -pÜt_id -) { - -165 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -166 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing†ock @ %d\n\r", - -167 -__FUNCTION__ -, -__LINE__ -); - -169 ià( -USE_RTM_LOCKS -) - -170 - `¹m_uÆock -(); - -172 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -173  -pÜt -; - -180 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -181 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -182 -__LINE__ -); - -183 ià( -USE_RTM_LOCKS -) - -184 - `¹m_uÆock -(); - -186 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -187  -NULL -; - -188 - } -} - -190 -l2_phy_š‹rçû_t - * - $ifm_g‘_fœ¡_pÜt -() - -192 -l2_phy_š‹rçû_t - * -pÜt - = -NULL -; - -193 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -194 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %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†ock @ %d\n\r", - -207 -__FUNCTION__ -, -__LINE__ -); - -208 ià( -USE_RTM_LOCKS -) - -209 - `¹m_uÆock -(); - -211 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -212  -NULL -; - -216 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -217 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -218 -__LINE__ -); - -219 ià( -USE_RTM_LOCKS -) - -220 - `¹m_uÆock -(); - -222 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -223  -pÜt -; - -224 - } -} - -226 -l2_phy_š‹rçû_t - * - $ifm_g‘_Ãxt_pÜt -( -ušt8_t - -pÜt_id -) - -228 -l2_phy_š‹rçû_t - * -pÜt - = -NULL -; - -229 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -230 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %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†ock @ %d\n\r", - -240 -__FUNCTION__ -, -__LINE__ -); - -241 ià( -USE_RTM_LOCKS -) - -242 - `¹m_uÆock -(); - -244 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -245  -NULL -; - -249 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -250 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -251 -__LINE__ -); - -253 ià( -USE_RTM_LOCKS -) - -254 - `¹m_uÆock -(); - -256 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -257  -pÜt -; - -258 - } -} - -260 -l2_phy_š‹rçû_t - * - $ifm_g‘_pÜt_by_Çme -(cÚ¡ * -Çme -) - -262 -l2_phy_š‹rçû_t - * -pÜt - = -NULL -; - -263  -i -; - -264 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -265 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %d\n\r", -__FUNCTION__ -, - -266 -__LINE__ -); - -268 ià( -USE_RTM_LOCKS -) - -269 - `¹m_lock -(); - -271 - `¹e_rwlock_»ad_lock -(& -rwlock -); - -272  -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!…ort %u %s\n\r", - -277 -pÜt --> -pmdid -,…Ü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  -pÜt -; - -289 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -290 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -291 -__LINE__ -); - -292 ià( -USE_RTM_LOCKS -) - -293 - `¹m_uÆock -(); - -295 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -296  -NULL -; - -297 - } -} - -299  - $lsi_ev’t_ÿÎback -( -ušt8_t - -pÜt_id -, -¹e_‘h_ev’t_ty³ - -ty³ -, - -300 * -·¿m -) - -302  -¹e_‘h_lšk - -lšk -; - -303 -l2_phy_š‹rçû_t - * -pÜt -; - -304  -nþ›Ás - = -ifm -. -nþ›Á -; - -305  -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†ock @ %d\n\r", - -312 -__FUNCTION__ -, -__LINE__ -); - -313 ià( -USE_RTM_LOCKS -) { - -314 - `¹m_lock -(); - -316 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -318 - `¹e_‘h_lšk_g‘ -( -pÜt_id -, & -lšk -); - -319  -i - = 0; i < -nþ›Ás -; i++) - -320 -ifm -. -if_þ›Á -[ -i -]. - `cb_lškupd©e -( -pÜt_id -, -lšk -. -lšk_¡©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 - &&…Üt-> -pmdid - =ð -pÜt_id -) { - -328 ià( -lšk -. -lšk_¡©us -) { - -329 -pÜt --> -lšk_¡©us - = -IFM_ETH_LINK_UP -; - -330 -pÜt --> -lšk_¥“d - = -lšk -.link_speed; - -331 -pÜt --> -lšk_du¶ex - = -lšk -.link_duplex; - -332 - `RTE_LOG -( -INFO -, -IFM -, - -334 -pÜt_id -, () -lšk -. -lšk_¥“d -, - -335 ( -lšk -. -lšk_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_‘h_bÚd_aùive_¦aves_g‘ -( -pÜt --> -pmdid -, - -342 -pÜt --> - -343 -bÚd_cÚfig --> - -344 -aùive_¦aves -, - -345 -RTE_MAX_ETHPORTS -); - -346  -‘h”_addr - -Ãw_mac -; - -347 - `¹e_‘h_maÿddr_g‘ -( -pÜt --> -pmdid -, - -348 ( -‘h”_addr - *) - -349 & -Ãw_mac -); - -350 ià( -memcmp - - -351 (& -Ãw_mac -, -pÜt --> -maÿddr -, - -352 ( -‘h”_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št8_t - -ma¡”_pÜtid - = - -364 -pÜt --> -bÚd_cÚfig --> -bÚd_pÜtid -; - -365  -¹e_‘h_lšk - -lšk¡©us -; - -366 - `¹e_‘h_lšk_g‘ -( -ma¡”_pÜtid -, & -lšk¡©us -); - -367 - `RTE_LOG -( -INFO -, -IFM -, "P܈%u ' Ma¡”(%uè¡©u i %u\n\r", -pÜt_id -, - -368 -ma¡”_pÜtid -, -lšk¡©us -. -lšk_¡©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™e_uÆock -(& -rwlock -); - -380 ià( -pÜt --> -v4_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™ous_¬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šk_¡©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  -¹e_‘h_lšk - -lšk¡©us -; - -408 -ušt8_t - -ma¡”_pÜtid - = - -409 -pÜt --> -bÚd_cÚfig --> -bÚd_pÜtid -; - -410 - `¹e_‘h_lšk_g‘_nowa™ -( -ma¡”_pÜtid -, - -411 & -lšk¡©us -); - -412 - `RTE_LOG -( -INFO -, -IFM -, - -414 -pÜt_id -, -ma¡”_pÜtid -, - -415 -lšk¡©us -. -lšk_¡©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™e_uÆock -(& -rwlock -); - -426 -´ev_¡©e - = 0; - -430 - } -} - -432  - $ifm_upd©e_lšk¡©us -( -ušt8_t - -pÜt_id -, -ušt16_t - -lšk¡©us -) - -434  -¹e_‘h_lšk - -lšk -; - -435 -l2_phy_š‹rçû_t - * -pÜt -; - -436 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -437 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %d\n\r", -__FUNCTION__ -, - -438 -__LINE__ -); - -440 ià( -USE_RTM_LOCKS -) { - -441 - `¹m_lock -(); - -443 - `¹e_rwlock_wr™e_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 - &&…Üt-> -pmdid - =ð -pÜt_id -) { - -453 - `¹e_‘h_lšk_g‘ -( -pÜt_id -, & -lšk -); - -454 ià( -lšk¡©us - =ð -IFM_ETH_LINK_UP -) { - -455 -pÜt --> -admš_¡©us - = -IFM_ETH_LINK_UP -; - -456 if(! -lšk -. -lšk_¡©us -) { - -457 ià( - `¹e_‘h_dev_£t_lšk_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™e_uÆock -(& -rwlock -); - -472 ià( -ifm_debug - & -IFM_DEBUG_CONFIG -) - -473 - `RTE_LOG -( -INFO -, -IFM -, - -475 -__FUNCTION__ -, -pÜt --> -pmdid -); - -476 - `£nd_g¿tu™ous_¬p -( -pÜt -); - -480 } ià( -lšk¡©us - =ð -IFM_ETH_LINK_DOWN -) - -482  -¡©us -; - -483 -pÜt --> -admš_¡©us - = -IFM_ETH_LINK_DOWN -; - -485 if( -lšk -. -lšk_¡©us -) { - -486 -¡©us - = - `¹e_‘h_dev_£t_lšk_down -( -pÜt_id -); - -487 ià( -¡©us - < 0) - -489 - `´štf -("(%" -PRIu32 - "): PMD set†ink down... continuing...%" - -490 -PRId32 - "\n", -pÜt_id -, -¡©us -); - -495 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -496 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -497 -__LINE__ -); - -499 ià( -USE_RTM_LOCKS -) { - -500 - `¹m_uÆock -(); - -502 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -504 - } -} - -506  - $ifm_£t_l2_š‹rçû_mtu -( -ušt8_t - -pÜt_id -, -ušt16_t - -mtu -) - -508  -»t -; - -509 -l2_phy_š‹rçû_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 - &&…Üt-> -pmdid - =ð -pÜt_id -) { - -518 -»t - = - `¹e_‘h_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™e_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™e_uÆock -(& -rwlock -); - -548 - } -} - -550  - $ifm_£t_pÜt_´omisc -( -ušt8_t - -pÜt_id -, ušt8_ˆ -’abË -) - -552 -l2_phy_š‹rçû_t - * -pÜt -; - -553 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -554 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock @ %d\n\r", - -555 -__FUNCTION__ -, -__LINE__ -); - -556 ià( -USE_RTM_LOCKS -) { - -557 - `¹m_lock -(); - -559 - `¹e_rwlock_wr™e_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 - &&…Üt-> -pmdid - =ð -pÜt_id -) { - -568 ià( -’abË - == 1) { - -569 - `¹e_‘h_´omiscuous_’abË -( -pÜt_id -); - -570 -pÜt --> -´omisc - = 1; - -572 - `¹e_‘h_´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†ock @ %d\n\r", - -578 -__FUNCTION__ -, -__LINE__ -); - -579 ià( -USE_RTM_LOCKS -) { - -580 - `¹m_uÆock -(); - -582 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -584 - } -} - -586 -št32_t - - $ifm_g‘_Çùive_pÜts -() - -588  -ifm -. -ÅÜt_cÚfigu»d -; - -589 - } -} - -591 -št32_t - - $ifm_g‘_ÅÜts_š™Ÿlized -() - -593  -ifm -. -ÅÜt_štŸlized -; - -594 - } -} - -596 -ušt16_t - - $ifm_»ûive_bulk_pkts -( -ušt8_t - -pÜt_id -, -ušt16_t - -qid -, - -597  -¹e_mbuf - ** -rx_pkts -) - -599 -ušt64_t - -no_of_rcvd_pkt -; - -600 -no_of_rcvd_pkt - = - -601 - `¹e_‘h_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  -no_of_rcvd_pkt -; - -607 - } -} - -609 -ušt16_t - - $ifm_Œªsm™_bulk_pkts -( -l2_phy_š‹rçû_t - * -pÜt -, - -610  -¹e_mbuf - ** -tx_pkts -, -ušt64_t - -Åkts -) - -612 -ušt32_t - -bur¡_tx_d–ay_time - = -IFM_BURST_TX_WAIT_US -; - -613 -ušt32_t - -bur¡_tx_»Œy_num - = -IFM_BURST_TX_RETRIES -; - -614 -ušt32_t - -»Œy -; - -615 -ušt32_t - -no_of_tx_pkt -; - -616 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -617 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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_‘h_tx_bur¡ -( -pÜt --> -pmdid -, -IFM_TX_DEFAULT_Q -, -tx_pkts -, - -625 -Åkts -); - -626 ià( - `uÆik–y -( -no_of_tx_pkt - < -Åkts -)) { - -627 -»Œy - = 0; - -628  -no_of_tx_pkt - < -IFM_BURST_SIZE - - -629 && -»Œy -++ < -bur¡_tx_»Œy_num -) { - -630 - `¹e_d–ay_us -( -bur¡_tx_d–ay_time -); - -631 -no_of_tx_pkt - = - -632 - `¹e_‘h_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†ock @ %d\n\r", - -643 -__FUNCTION__ -, -__LINE__ -); - -644 ià( -USE_RTM_LOCKS -) { - -645 - `¹m_uÆock -(); - -647 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -649  -no_of_tx_pkt -; - -650 - } -} - -652  - $ifm_Œªsm™_sšgË_pkt -( -l2_phy_š‹rçû_t - * -pÜt -,  -¹e_mbuf - * -tx_pkts -) - -654 -ušt64_t - -tx_Åkts - = 0; - -655 ià( -tx_pkts - =ð -NULL - || -pÜt - == NULL) { - -656 - `RTE_LOG -( -INFO -, -IFM -, - -658  -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†ock @ %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_‘h_tx_bufãr -( -pÜt --> -pmdid -, -IFM_TX_DEFAULT_Q -,…Ü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†ock @ %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†ock @ %d\n\r", - -691 -__FUNCTION__ -, -__LINE__ -); - -693 ià( -USE_RTM_LOCKS -) { - -694 - `¹m_lock -(); - -696 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -698 -pÜt --> -n_txpkts - += - -699 - `¹e_‘h_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†ock @ %d\n\r", - -703 -__FUNCTION__ -, -__LINE__ -); - -705 ià( -USE_RTM_LOCKS -) { - -706 - `¹m_uÆock -(); - -708 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -710 ià( -ifm_debug - & -IFM_DEBUG_RXTX -) - -711 - `RTE_LOG -( -INFO -, -IFM -, - -713 -pÜt --> -n_txpkts -); - -714  -tx_Åkts -; - -715 - } -} - -717 -št16_t - - $ifm_add_v4_pÜt -( -ušt8_t - -pÜt_id -, -ušt32_t - -addr -, ušt32_ˆ -add¾’ -) - -719 -l2_phy_š‹rçû_t - * -pÜt -; - -720 -v4li¡_t - * -cÚf -; - -721 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -722 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %d\n\r", -__FUNCTION__ -, - -723 -__LINE__ -); - -725 ià( -USE_RTM_LOCKS -) { - -726 - `¹m_lock -(); - -728 - `¹e_rwlock_wr™e_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 - &&…Üt-> -pmdid - =ð -pÜt_id -) { - -737 -cÚf - = ( -v4li¡_t - *è - `¹e_zm®loc -( -NULL -, (ipv4list_t), - -738 -RTE_CACHE_LINE_SIZE -); - -739 ià( -cÚf - !ð -NULL -) { - -740 -cÚf --> -Ãxt - = -NULL -; - -742 -cÚf --> -addr - = ipaddr; - -743 -cÚf --> -pÜt - =…ort; - -744 -cÚf --> -add¾’ - =‡ddrlen; - -745 ià( -pÜt --> -v4_li¡ - =ð -NULL -) - -746 -pÜt --> -æags - |ð -IFM_IPV4_ENABLED -; - -747 -cÚf --> -Ãxt - = ( -v4li¡_t - *è -pÜt --> -v4_li¡ -; - -748 -pÜt --> -v4_li¡ - = ( -v4li¡_t - *è -cÚ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™e_uÆock -(& -rwlock -); - -762 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -763 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -764 -__LINE__ -); - -766 ià( -USE_RTM_LOCKS -) { - -767 - `¹m_uÆock -(); - -769 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -772 - } -} - -774 -št16_t - - $ifm_»move_v4_pÜt -( -ušt8_t - -pÜt_id -, -ušt32_t - -addr -, - -775 -ušt32_t - -add¾’ -) - -777 -l2_phy_š‹rçû_t - * -pÜt -; - -778 -v4li¡_t - * -li¡ -, * -´evli¡ - = -NULL -; - -779 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -780 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %d\n\r", -__FUNCTION__ -, - -781 -__LINE__ -); - -783 ià( -USE_RTM_LOCKS -) { - -784 - `¹m_lock -(); - -786 - `¹e_rwlock_wr™e_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 - &&…Üt-> -pmdid - =ð -pÜt_id -) { - -795 ià( -pÜt --> -v4_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™e_uÆock -(& -rwlock -); - -808 -li¡ - = ( -v4li¡_t - *è -pÜt --> -v4_li¡ -; - -809  -li¡ - !ð -NULL -) { - -810 ià( -add¾’ - =ð -li¡ -->addrlen && - -811 - `memýy -(& -li¡ --> -addr -, &addr, -add¾’ -)) { - -812 ià( -li¡ - =ð -pÜt --> -v4_li¡ -) { - -813 -pÜt --> -v4_li¡ - = -li¡ --> -Ãxt -; - -815 ià( -´evli¡ - !ð -NULL -) - -816 -´evli¡ --> -Ãxt - = -li¡ -->next; - -818 -pÜt --> -æags - &ð~ -IFM_IPV4_ENABLED -; - -819 - `¹e_ä“ -( -li¡ -); - -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™e_uÆock -(& -rwlock -); - -832 -´evli¡ - = -li¡ -; - -833 -li¡ - = i¶i¡-> -Ãxt -; - -837 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -838 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -839 -__LINE__ -); - -841 ià( -USE_RTM_LOCKS -) { - -842 - `¹m_uÆock -(); - -844 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -847 - } -} - -849 -št8_t - - $ifm_add_v6_pÜt -( -ušt8_t - -pÜt_id -, ušt8_ˆ -6addr -[], -ušt32_t - -add¾’ -) - -851 -l2_phy_š‹rçû_t - * -pÜt -; - -852 -v6li¡_t - * -6cÚf -; - -853 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -854 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %d\n\r", -__FUNCTION__ -, - -855 -__LINE__ -); - -857 ià( -USE_RTM_LOCKS -) { - -858 - `¹m_lock -(); - -860 - `¹e_rwlock_wr™e_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 - &&…Üt-> -pmdid - =ð -pÜt_id -) { - -869 -6cÚf - = ( -v6li¡_t - *è - `¹e_zm®loc -( -NULL -, (ipv6list_t), - -870 -RTE_CACHE_LINE_SIZE -); - -871 ià( -6cÚf - !ð -NULL -) { - -872 -6cÚf --> -Ãxt - = -NULL -; - -873 - `memýy -( -6cÚf --> -addr -, -6addr -, -IFM_IPV6_ADDR_SIZE -); - -874 -6cÚf --> -pÜt - =…ort; - -875 -6cÚf --> -add¾’ - =‡ddrlen; - -877 ià( -pÜt --> -v6_li¡ - =ð -NULL -) { - -878 -pÜt --> -æags - |ð -IFM_IPV6_ENABLED -; - -880 -6cÚf --> -Ãxt - = ( -v6li¡_t - *è -pÜt --> -v6_li¡ -; - -881 -pÜt --> -v6_li¡ - = ( -v6li¡_t - *è -6cÚ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™e_uÆock -(& -rwlock -); - -895 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -896 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -897 -__LINE__ -); - -899 ià( -USE_RTM_LOCKS -) { - -900 - `¹m_uÆock -(); - -902 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -905 - } -} - -907 -št16_t - - $ifm_»move_v6_pÜt -( -ušt8_t - -pÜt_id -, -ušt32_t - -6addr -, - -908 -ušt32_t - -add¾’ -) - -910 -l2_phy_š‹rçû_t - * -pÜt -; - -911 -v6li¡_t - * -6li¡ -, * -´ev6li¡ - = -NULL -; - -913 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -914 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquœšg†ock @ %d\n\r", -__FUNCTION__ -, - -915 -__LINE__ -); - -916 ià( -USE_RTM_LOCKS -) - -917 - `¹m_lock -(); - -919 - `¹e_rwlock_wr™e_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†ock @ %d\n\r", - -924 -__FUNCTION__ -, -__LINE__ -); - -925 ià( -USE_RTM_LOCKS -) { - -926 - `¹m_uÆock -(); - -928 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -930 - `RTE_LOG -( -ERR -, -IFM -, - -932 -__FUNCTION__ -, -pÜt_id -); - -934 ià( -pÜt - !ð -NULL - &&…Üt-> -pmdid - =ð -pÜt_id -) { - -935 ià( -pÜt --> -v6_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™e_uÆock -(& -rwlock -); - -948 -6li¡ - = ( -v6li¡_t - *è -pÜt --> -v6_li¡ -; - -949  -6li¡ - !ð -NULL -) { - -950 ià( -add¾’ - =ð -6li¡ -->addrlen && - -951 - `memýy -(& -6li¡ --> -addr -, & -6addr -, -add¾’ -)) { - -952 ià( -6li¡ - =ð -pÜt --> -v6_li¡ -) { - -953 -pÜt --> -v6_li¡ - = -6li¡ --> -Ãxt -; - -955 ià( -´ev6li¡ - !ð -NULL -) - -956 -´ev6li¡ --> -Ãxt - = - -957 -6li¡ --> -Ãxt -; - -959 -pÜt --> -æags - &ð~ -IFM_IPV6_ENABLED -; - -960 - `¹e_ä“ -( -6li¡ -); - -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™e_uÆock -(& -rwlock -); - -973 -´ev6li¡ - = -6li¡ -; - -974 -6li¡ - = ip6li¡-> -Ãxt -; - -978 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -979 - `RTE_LOG -( -INFO -, -IFM -, "%s: R–—sšg†ock @ %d\n\r", -__FUNCTION__ -, - -980 -__LINE__ -); - -981 ià( -USE_RTM_LOCKS -) - -982 - `¹m_uÆock -(); - -984 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -986 - } -} - -988 -št32_t - - $ifm_chk_pÜt_v4_’abËd -( -ušt8_t - -pÜt_id -) - -990 -l2_phy_š‹rçû_t - * -pÜt -; - -992 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -993 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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†ock @ %d\n\r", - -1006 -__FUNCTION__ -, -__LINE__ -); - -1007 ià( -USE_RTM_LOCKS -) - -1008 - `¹m_uÆock -(); - -1010 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1011  -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†ock @ %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†ock @ %d\n\r", - -1025 -__FUNCTION__ -, -__LINE__ -); - -1026 ià( -USE_RTM_LOCKS -) - -1027 - `¹m_uÆock -(); - -1029 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1032 - } -} - -1034 -št32_t - - $ifm_chk_pÜt_v6_’abËd -( -ušt8_t - -pÜt_id -) - -1036 -l2_phy_š‹rçû_t - * -pÜt -; - -1038 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1039 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RD†ock @ %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‚ot found..." - -1051 -__FUNCTION__ -, -pÜt_id -); - -1052 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1053 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RD†ock @ %d\n\r", - -1054 -__FUNCTION__ -, -__LINE__ -); - -1055 ià( -USE_RTM_LOCKS -) - -1056 - `¹m_uÆock -(); - -1058 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1059  -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†ock @ %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†ock @ %d\n\r", - -1073 -__FUNCTION__ -, -__LINE__ -); - -1074 ià( -USE_RTM_LOCKS -) - -1075 - `¹m_uÆock -(); - -1077 - `¹e_rwlock_»ad_uÆock -(& -rwlock -); - -1080 - } -} - -1082  - $ifm_»gi¡”_fÜ_lškupd©e -( -ušt32_t - -þ›Áid -, - -1083 (* -cb_lškupd©e -è( -ušt8_t -, )) - -1085 -ifm -. -if_þ›Á -[ifm. -nþ›Á -]. -cb_lškupd©e - = cb_linkupdate; - -1086 -ifm -. -if_þ›Á -[ifm. -nþ›Á -]. -þ›Áid - = clientid; - -1087 -ifm -. -nþ›Á -++; - -1088 - } -} - -1090  - $ifm_pÜt_£tup -( -ušt8_t - -pÜt_id -, -pÜt_cÚfig_t - * -pcÚfig -) - -1092  -¡©us -, -sock -; - -1093  -buf -[12]; - -1094  -¹e_‘h_dev_šfo - -dev_šfo -; - -1095  -¹e_‘h_lšk - -lšk¡©us -; - -1096 -l2_phy_š‹rçû_t - * -pÜt - = -NULL -; - -1098 ià(! -ifm -. -ÅÜt_štŸlized -) { - -1099 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo configure…ort %u. 0…orts" - -1101 -__FUNCTION__ -, -pÜt_id -); - -1102  -IFM_FAILURE -; - -1104 ià( -ifm_debug - & -IFM_DEBUG_CONFIG -) - -1105 - `RTE_LOG -( -INFO -, -IFM -, "%s: Configuring…ort %u with " - -1106 "Äxq: %u,‚txq: %u\n\r", -__FUNCTION__ -, - -1107 -pÜt_id -, -pcÚfig --> -Äx_queue -,…cÚfig-> -Áx_queue -); - -1108 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1109 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock1 @ %d\n\r", - -1110 -__FUNCTION__ -, -__LINE__ -); - -1111 ià( -USE_RTM_LOCKS -) - -1112 - `¹m_lock -(); - -1114 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -1116 ià( -ifm -. -pÜt_li¡ -[ -pÜt_id -] =ð -NULL -) { - -1117 -ifm -. -pÜt_li¡ -[ -pÜt_id -] = - -1118 ( -l2_phy_š‹rçû_t - *è - `¹e_zm®loc -( -NULL -, - -1120 ( -l2_phy_š‹rçû_t -), - -1121 -RTE_CACHE_LINE_SIZE -); - -1122 -ifm -. -pÜt_li¡ -[ -pÜt_id -]-> -pmdid - =…ort_id; - -1124 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1125 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock1 @ %d\n\r", - -1126 -__FUNCTION__ -, -__LINE__ -); - -1127 ià( -USE_RTM_LOCKS -) - -1128 - `¹m_uÆock -(); - -1130 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1132 - `¹e_‘h_lšk_g‘ -( -pÜt_id -, & -lšk¡©us -); - -1133 ià( -lšk¡©us -. -lšk_¡©us -) { - -1134 ià( -ifm_debug - & -IFM_DEBUG_CONFIG -) { - -1135 - `RTE_LOG -( -INFO -, -IFM -, "%s: %u is up.Stop it before" - -1136 "„ecÚfiguršg.\n\r", -__FUNCTION__ -, -pÜt_id -); - -1138 - `¹e_‘h_dev_¡Ý -( -pÜt_id -); - -1141 -¡©us - = - `¹e_‘h_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‘ažs -( -pÜt_id -); - -1145 - `RTE_LOG -( -ERR -, -IFM -, "%s:„te_eth_dev_configure is failed" - -1146 "f܅܈%u.\n\r", -__FUNCTION__ -, -pÜt_id -); - -1147  -IFM_FAILURE -; - -1149 -¡©us - = - `¹e_‘h_dev_ÿÎback_»gi¡” -( -pÜt_id -, - -1150 -RTE_ETH_EVENT_INTR_LSC -, - -1151 -lsi_ev’t_ÿÎback -, -NULL -); - -1152 ià( -¡©us - < 0) { - -1153 - `ifm_»move_pÜt_d‘ažs -( -pÜt_id -); - -1154 - `RTE_LOG -( -ERR -, -IFM -, "%s:„te_eth_dev_callback_register()" - -1155 " fažed f܅܈%u.\n\r", -__FUNCTION__ -, -pÜt_id -); - -1156  -IFM_FAILURE -; - -1159 ià( -pcÚfig --> -´omisc -) - -1160 - `¹e_‘h_´omiscuous_’abË -( -pÜt_id -); - -1162 -sock - = - `¹e_‘h_dev_sock‘_id -( -pÜt_id -); - -1163 ià( -sock - == -1) - -1164 - `RTE_LOG -( -ERR -, -IFM -, "%s: Warning:„te_eth_dev_socket_id," - -1166 "ouˆoà¿ng%u\n\r", -__FUNCTION__ -, -pÜt_id -); - -1168  -Áxqs -; - -1169  -Áxqs - = 0;‚txq < -pcÚfig --> -Áx_queue -;‚txqs++) { - -1170 -¡©us - = - `¹e_‘h_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‘ažs -( -pÜt_id -); - -1175 - `RTE_LOG -( -ERR -, -IFM -, "%s:„te_eth_tx_queue_setup failed" - -1176 " f܅܈%u\n\r", -__FUNCTION__ -, -pÜt_id -); - -1177  -IFM_FAILURE -; - -1180 -pÜt - = - `ifm_g‘_pÜt -( -pÜt_id -); - -1181 ià( -pÜt - =ð -NULL -) { - -1182 - `RTE_LOG -( -INFO -, -IFM -, "%s: P܈i NULL @ %d\n\r", -__FUNCTION__ -, - -1183 -__LINE__ -); - -1184  -IFM_FAILURE -; - -1187 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1188 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock 2 @ %d\n\r", - -1189 -__FUNCTION__ -, -__LINE__ -); - -1190 ià( -USE_RTM_LOCKS -) - -1191 - `¹m_lock -(); - -1193 - `¹e_rwlock_wr™e_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‘ -("tx_bufãr",…Üt-> -tx_buf_Ën -, 0, - -1199 - `¹e_‘h_dev_sock‘_id -( -pÜt_id -)); - -1201 ià( -pÜt --> -tx_bufãr - =ð -NULL -) { - -1202 - `ifm_»move_pÜt_d‘ažs -( -pÜt_id -); - -1203 - `RTE_LOG -( -ERR -, -IFM -, "%s: Failedo‡llocatex buffers for" - -1204 "…܈%u\n\r", -__FUNCTION__ -, -pÜt_id -); - -1205 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1206 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock2 %d\n\r", - -1207 -__FUNCTION__ -, -__LINE__ -); - -1208 ià( -USE_RTM_LOCKS -) - -1209 - `¹m_uÆock -(); - -1211 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1212  -IFM_FAILURE -; - -1214 - `¹e_‘h_tx_bufãr_š™ -( -pÜt --> -tx_bufãr -, -IFM_BURST_SIZE -); - -1216 - `¥rštf -( -buf -, "MEMPOOL%d", -pÜt_id -); - -1217 -pÜt --> -mempoÞ - = - `¹e_mempoÞ_ü—‹ -( -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Þ_š™ -, -NULL -, - -1224 -¹e_pktmbuf_š™ -, -NULL -, -sock -, 0); - -1225 ià( -pÜt --> -mempoÞ - =ð -NULL -) { - -1226 - `ifm_»move_pÜt_d‘ažs -( -pÜt_id -); - -1227 - `RTE_LOG -( -ERR -, -IFM -, "%s:„te_mempool_create is failed for…ort" - -1229 -__FUNCTION__ -, -pÜt_id -, - `¹e_¡»¼Ü -( -¹e_”ºo -)); - -1230 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1231 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock2 %d\n\r", - -1232 -__FUNCTION__ -, -__LINE__ -); - -1233 ià( -USE_RTM_LOCKS -) - -1234 - `¹m_uÆock -(); - -1236 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1237  -IFM_FAILURE -; - -1239  -Äxqs -; - -1240  -Äxqs - = 0;‚rxq < -pcÚfig --> -Äx_queue -;‚rxqs++) { - -1241 -¡©us - = - `¹e_‘h_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‘ažs -( -pÜt_id -); - -1247 - `RTE_LOG -( -ERR -, -IFM -, - -1250 -__FUNCTION__ -, -pÜt_id -, -Äxqs -, - -1251 - `¹e_¡»¼Ü -( -¹e_”º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™e_uÆock -(& -rwlock -); - -1260  -IFM_FAILURE -; - -1264 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1265 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR†ock2 @ %d\n\r", - -1266 -__FUNCTION__ -, -__LINE__ -); - -1267 ià( -USE_RTM_LOCKS -) - -1268 - `¹m_uÆock -(); - -1270 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1271 -¡©us - = - `¹e_‘h_dev_¡¬t -( -pÜt_id -); - -1272 ià( -¡©us - < 0) { - -1273 - `ifm_»move_pÜt_d‘ažs -( -pÜt_id -); - -1274 - `RTE_LOG -( -ERR -, -IFM -, "%s:„te_eth_dev_start is failed for" - -1275 "…܈%u.\n\r", -__FUNCTION__ -, -pÜt_id -); - -1276  -IFM_FAILURE -; - -1278 - `¹e_d–ay_ms -(5000); - -1280 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1281 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring WR†ock3 @ %d\n\r", - -1282 -__FUNCTION__ -, -__LINE__ -); - -1283 ià( -USE_RTM_LOCKS -) - -1284 - `¹m_lock -(); - -1286 - `¹e_rwlock_wr™e_lock -(& -rwlock -); - -1287 - `¹e_‘h_maÿddr_g‘ -( -pÜt_id -, ( -‘h”_addr - *) -pÜt --> -maÿddr -); - -1288 ià( -pcÚfig --> -´omisc -) - -1289 -pÜt --> -´omisc - = 1; - -1290 - `¹e_‘h_lšk_g‘ -( -pÜt_id -, & -lšk¡©us -); - -1292 -pÜt --> -lšk_du¶ex - = -lšk¡©us -.link_duplex; - -1293 -pÜt --> -lšk_autÚeg - = -lšk¡©us -.link_autoneg; - -1294 -pÜt --> -lšk_¥“d - = -lšk¡©us -.link_speed; - -1295 -pÜt --> -admš_¡©us - = -pcÚfig --> -¡©e -; - -1298 - `mem£t -(& -dev_šfo -, 0, (dev_info)); - -1299 - `¹e_‘h_dev_šfo_g‘ -( -pÜt_id -, & -dev_šfo -); - -1300 -pÜt --> -mš_rx_bufsize - = -dev_šfo -.min_rx_bufsize; - -1301 -pÜt --> -max_rx_pkŽ’ - = -dev_šfo -.max_rx_pktlen; - -1302 -pÜt --> -max_rx_queues - = -dev_šfo -.max_rx_queues; - -1303 -pÜt --> -max_tx_queues - = -dev_šfo -.max_tx_queues; - -1304 - `¹e_‘h_dev_g‘_mtu -( -pÜt_id -, &( -pÜt --> -mtu -)); - -1307 -pÜt --> -»Œ›ve_bulk_pkts - = & -ifm_»ûive_bulk_pkts -; - -1308 -pÜt --> -Œªsm™_bulk_pkts - = & -ifm_Œªsm™_bulk_pkts -; - -1309 -pÜt --> -Œªsm™_sšgË_pkt - = & -ifm_Œªsm™_sšgË_pkt -; - -1310 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1311 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing WR3†ock @ %d\n\r", - -1312 -__FUNCTION__ -, -__LINE__ -); - -1313 ià( -USE_RTM_LOCKS -) - -1314 - `¹m_uÆock -(); - -1316 - `¹e_rwlock_wr™e_uÆock -(& -rwlock -); - -1317 - `RTE_LOG -( -INFO -, -IFM -, "%s: Port %u is successfully configured.\n\r", - -1318 -__FUNCTION__ -, -pÜt_id -); - -1319  -IFM_SUCCESS -; - -1320 - } -} - -1322  - $ifm_cÚfigu»_pÜts -( -pÜt_cÚfig_t - * -pcÚfig -) - -1324 -ušt8_t - -pÜt_id -; - -1325  -¡©us - = 0; - -1326 ià(! -ifm -. -ÅÜt_štŸlized -) { - -1327 - `RTE_LOG -( -ERR -, -IFM -, "%s, Configuring…orts failed. Zero…orts " - -1328 "¬štŸlized duršg PCI…robe", -__FUNCTION__ -); - -1329  -IFM_FAILURE -; - -1331 ià( -pcÚfig - =ð -NULL -) { - -1332 - `RTE_LOG -( -ERR -, -IFM -, "%s, Configuring…orts failed. " - -1333 "P¬am…cÚfig i NULL\n\r", -__FUNCTION__ -); - -1334  -IFM_FAILURE -; - -1338  -pÜt_id - = 0;…Üt_id < -ifm -. -ÅÜt_štŸlized -;…ort_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…orts‡re configured\n\r", - -1349 -__FUNCTION__ -); - -1350  -IFM_FAILURE -; - -1352 - `RTE_LOG -( -INFO -, -IFM -, "%s: Number of…orts sucessfully configured:" - -1353 " %d\n\r", -__FUNCTION__ -, -ifm -. -ÅÜt_cÚfigu»d -); - -1354  -IFM_SUCCESS -; - -1355 - } -} - -1357  - $´št_š‹rçû_d‘ažs -() - -1359 -l2_phy_š‹rçû_t - * -pÜt -; - -1360  -i - = 0; - -1361  -sockaddr_š - - -; - -1362 - `´štf -("\n\r"); - -1364 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1365 - `RTE_LOG -( -INFO -, -IFM -, "%s: Acquiring RW†ock @ %d\n\r", - -1366 -__FUNCTION__ -, -__LINE__ -); - -1367 ià( -USE_RTM_LOCKS -) - -1368 - `¹m_lock -(); - -1370 - `¹e_rwlock_»ad_lock -(& -rwlock -); - -1372  -i - = 0; i < -RTE_MAX_ETHPORTS - && -ifm -. -pÜt_li¡ -[i]; i++) { - -1373 -pÜt - = -ifm -. -pÜt_li¡ -[ -i -]; - -1374 - `´štf -(" %u", -pÜt --> -pmdid -); - -1375 ià( -pÜt --> -iâame - && - `¡¾’ -(port->ifname)) { - -1376 - `´štf -(" (%s)\t", -pÜt --> -iâame -); - -1378 - `´štf -("\t\t"); - -1379 - `´štf -("MAC:%02x:%02x:%02x:%02x:%02x:%02x Adminstate:%s" - -1381 -pÜt --> -maÿddr -[0],…ort->macaddr[1], - -1382 -pÜt --> -maÿddr -[2],…ort->macaddr[3], - -1383 -pÜt --> -maÿddr -[4],…ort->macaddr[5], - -1384 -pÜt --> -admš_¡©us - ? "UP" : "DOWN", - -1385 -pÜt --> -lšk_¡©us - ? "UP" : "DOWN"); - -1386 - `´štf -("\t\t"); - -1387 - `´štf -("S³ed: %u, %s-du¶ex\n\r", -pÜt --> -lšk_¥“d -, - -1388 -pÜt --> -lšk_du¶ex - ? "full" : "half"); - -1389 - `´štf -("\t\t"); - -1391 ià( -pÜt --> -v4_li¡ - !ð -NULL -) { - -1392 - -. -sš_addr -. -s_addr - = - -1393 ()(( -v4li¡_t - *è( -pÜt --> -v4_li¡ -))-> - -1394 -addr -; - -1395 - `´štf -("IP: %s/%d", - `š‘_Áß -( - -. -sš_addr -), - -1396 (( -v4li¡_t - *è( -pÜt --> -v4_li¡ -))-> -add¾’ -); - -1398 - `´štf -("IP: NA"); - -1401 - `´štf -("\r\n"); - -1402 - `´štf -("\t\t"); - -1403 ià( -pÜt --> -v6_li¡ - !ð -NULL -) { - -1404 -ušt8_t - * -addr - = - -1405 (( -v6li¡_t - *è( -pÜt --> -v6_li¡ -))-> -addr -; - -1406 -´štf - - -1408 -addr -[0],‡ddr[1],‡ddr[2],‡ddr[3],‡ddr[4], - -1409 -addr -[5],‡ddr[6],‡ddr[7],‡ddr[8],‡ddr[9], - -1410 -addr -[10],‡ddr[11],‡ddr[12],‡ddr[13],‡ddr[14], - -1411 -addr -[15]); - -1413 - `´štf -("IPv6: NA"); - -1416 ià( -pÜt --> -æags - & -IFM_SLAVE -) { - -1417 - `´štf -(" IFM_SLAVE "); - -1418 - `´štf -(" MasterPort: %u", - -1419 -pÜt --> -bÚd_cÚfig --> -bÚd_pÜtid -); - -1421 ià( -pÜt --> -æags - & -IFM_MASTER -) { - -1422 - `´štf -(" IFM_MASTER "); - -1423 - `´štf -(" Mode: %u", -pÜt --> -bÚd_cÚfig --> -mode -); - -1424 - `´štf -(" Prim¬yPÜt: %u", -pÜt --> -bÚd_cÚfig --> -´im¬y -); - -1425 - `´štf -("\n\r"); - -1426 - `´štf -("\t\tSlavePortCount: %u", - -1427 -pÜt --> -bÚd_cÚfig --> -¦ave_couÁ -); - -1428 - `´štf -(" SlavePorts:"); - -1429  -i -; - -1430  -i - = 0; i < -pÜt --> -bÚd_cÚfig --> -¦ave_couÁ -; i++) { - -1431 - `´štf -(" %u ", -pÜt --> -bÚd_cÚfig --> -¦aves -[ -i -]); - -1433 - `´štf -(" ActivePortCount: %u", - -1434 -pÜt --> -bÚd_cÚfig --> -aùive_¦ave_couÁ -); - -1435 - `´štf -(" ActivePorts:"); - -1436  -i - = 0; i < -pÜt --> -bÚd_cÚfig --> -aùive_¦ave_couÁ -; - -1437 -i -++) { - -1438 - `´štf -(" %u ", - -1439 -pÜt --> -bÚd_cÚfig --> -aùive_¦aves -[ -i -]); - -1441 - `´štf -("\n\r"); - -1442 - `´štf -("\t\t"); - -1443 - `´štf -("Link_monitor_freq: %u ms ", - -1444 -pÜt --> -bÚd_cÚfig --> -š‹º®_ms -); - -1445 - `´štf -(" Link_up_prop_delay: %u ms ", - -1446 -pÜt --> -bÚd_cÚfig --> -lšk_up_d–ay_ms -); - -1447 - `´štf -(" Link_down_prop_delay: %u ms ", - -1448 -pÜt --> -bÚd_cÚfig --> -lšk_down_d–ay_ms -); - -1449 - `´štf -("\n\r"); - -1450 - `´štf -("\t\t"); - -1451 - `´štf -("Xmit_policy: %u", - -1452 -pÜt --> -bÚd_cÚfig --> -xm™_pÞicy -); - -1454 - `´štf -("\n\r"); - -1455 - `´štf -("\t\t"); - -1456 - `´štf -("n_rxpkts: %" -PRIu64 - " ,n_txpkts: %" PRIu64 " ,", - -1457 -pÜt --> -n_rxpkts -,…Üt-> -n_txpkts -); - -1458  -¹e_‘h_¡©s - -‘h_¡©s -; - -1459 - `¹e_‘h_¡©s_g‘ -( -pÜt --> -pmdid -, & -‘h_¡©s -); - -1460 - `´štf -("pkts_š: %" -PRIu64 - " ,", -‘h_¡©s -. -ack‘s -); - -1461 - `´štf -("pkts_out: %" -PRIu64 - " ", -‘h_¡©s -. -Ýack‘s -); - -1462 - `´štf -("\n\r"); - -1463 - `´štf -("\t\t"); - -1464 - `´štf -("š_”rs: %" -PRIu64 - " ,", -‘h_¡©s -. -›¼Üs -); - -1465 - `´štf -("š_mis£d: %" -PRIu64 - " ,", -‘h_¡©s -. -imis£d -); - -1466 - `´štf -("out_”rs: %" -PRIu64 - " ,", -‘h_¡©s -. -Û¼Üs -); - -1467 - `´štf -("mbuf_”rs: %" -PRIu64 - " ", -‘h_¡©s -. -rx_nombuf -); - -1468 - `´štf -("\n\r"); - -1469 - `´štf -("\n\r"); - -1471 ià( -ifm_debug - & -IFM_DEBUG_LOCKS -) - -1472 - `RTE_LOG -( -INFO -, -IFM -, "%s: Releasing RW†ock @ %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  - #INTERFACE_H - - - ) - -19  - ~<¡dio.h -> - -20  - ~<¡dlib.h -> - -21  - ~<¡ršg.h -> - -22  - ~<¡dšt.h -> - -23  - ~<š‰y³s.h -> - -24  - ~ - -25  - ~ - -26  - ~<Ãtš‘/š.h -> - -27  - ~<£tjmp.h -> - -28  - ~<¡d¬g.h -> - -29  - ~<ùy³.h -> - -30  - ~<”ºo.h -> - -31  - ~ - -32  - ~ - -33  - ~<¡dboÞ.h -> - -34  - ~ - -35  - ~<Ãtš‘/š.h -> - -36  - ~<¬·/š‘.h -> - -37  - ~<¹e_commÚ.h -> - -38  - ~<¹e_log.h -> - -39  - ~<¹e_m®loc.h -> - -40  - ~<¹e_memÜy.h -> - -41  - ~<¹e_memýy.h -> - -42  - ~<¹e_memzÚe.h -> - -43  - ~<¹e_—l.h -> - -44  - ~<¹e_³r_lcÜe.h -> - -45  - ~<¹e_Ïunch.h -> - -46  - ~<¹e_©omic.h -> - -47  - ~<¹e_cyþes.h -> - -48  - ~<¹e_´eãtch.h -> - -49  - ~<¹e_lcÜe.h -> - -50  - ~<¹e_³r_lcÜe.h -> - -51  - ~<¹e_b¿nch_´ediùiÚ.h -> - -52  - ~<¹e_š‹¼u±s.h -> - -53  - ~<¹e_pci.h -> - -54  - ~<¹e_¿ndom.h -> - -55  - ~<¹e_debug.h -> - -56  - ~<¹e_‘h”.h -> - -57  - ~<¹e_‘hdev.h -> - -58  - ~<¹e_ršg.h -> - -59  - ~<¹e_mempoÞ.h -> - -60  - ~<¹e_mbuf.h -> - -61  - ~<¹e_‘h_ù¾.h -> - -62  - ~<¹e_”ºo.h -> - -63  - ~<¹e_pÜt_‘hdev.h -> - -64  - ~<¹e_‘h_bÚd.h -> - -65  - ~<¹e_rwlock.h -> - -67  - #RTE_LOGTYPE_IFM - -RTE_LOGTYPE_USER1 - - - ) - -68  - #IFM_SUCCESS - 0 - - ) - -69  - #IFM_FAILURE - -1 - - ) - -73  - #IFM_ETH_LINK_HALF_DUPLEX - 0 - - ) - -74  - #IFM_ETH_LINK_FULL_DUPLEX - 1 - - ) - -75  - #IFM_ETH_LINK_DOWN - 0 - - ) - -76  - #IFM_ETH_LINK_UP - 1 - - ) - -77  - #IFM_ETH_LINK_FIXED - 0 - - ) - -82  - #IFM_SLAVE - (1<<0) - - ) - -83  - #IFM_MASTER - (1<<1) - - ) - -84  - #IFM_BONDED - (1<<2) - - ) - -85  - #IFM_IPV4_ENABLED - (1<<3) - - ) - -86  - #IFM_IPV6_ENABLED - (1<<4) - - ) - -88  - #IFM_BONDING_MODE_ROUND_ROBIN - 0 - - ) - -89  - #IFM_BONDING_MODE_ACTIVE_BACKUP - 1 - - ) - -90  - #IFM_BONDING_MODE_BALANCE - 2 - - ) - -91  - #IFM_BONDING_MODE_BROADCAST - 3 - - ) - -92  - #IFM_BONDING_MODE_8023AD - 4 - - ) - -93  - #IFM_BONDING_MODE_TLB - 5 - - ) - -94  - #IFM_BONDING_MODE_ALB - 6 - - ) - -96  - #IFM_BALANCE_XMIT_POLICY_LAYER2 - 0 - - ) - -97  - #IFM_BALANCE_XMIT_POLICY_LAYER23 - 1 - - ) - -98  - #IFM_BALANCE_XMIT_POLICY_LAYER34 - 2 - - ) - -102  - #IFM_QUEUE_STAT_CNTRS - 16 - - ) - -103  - #IFM_TX_DEFAULT_Q - 0 - - ) - -104  - #IFM_RX_DEFAULT_Q - 0 - - ) - -105  - #IFM_RX_DESC_DEFAULT - 128 - - ) - -106  - #IFM_TX_DESC_DEFAULT - 512 - - ) - -107  - #IFM_BURST_SIZE - 32 - - ) - -108  - #IFM_BURST_TX_WAIT_US - 1 - - ) - -109  - #IFM_BURST_TX_RETRIES - 64 - - ) - -110  - #BURST_TX_DRAIN_US - 100 - - ) - -115  - #IFM_IFNAME_LEN - 16 - - ) - -116  - #IFM_CLIENT_NAME - 20 - - ) - -117  - #IFM_MAX_CLIENT - 10 - - ) - -119  - #IFM_ETHER_ADDR_SIZE - 6 - - ) - -120  - #IFM_IPV6_ADDR_SIZE - 16 - - ) - -122  - #IFM_DEBUG_CONFIG - (1<<0) - - ) - -123  - #IFM_DEBUG_RXTX - (1<<1) - - ) - -124  - #IFM_DEBUG_LOCKS - (1<<2) - - ) - -125  - #IFM_DEBUG - (1<<4) - - ) - -126  - #IFM_MAX_PORTARR_SZ - 64 - - ) - -127  - #IFM_MAX_PORTARR_SZ - 64 - - ) - -132  - smempoÞ_cÚfig - { - -133 -ušt32_t - - mpoÞ_size -; - -134 -ušt32_t - - mbufãr_size -; - -136 -ušt32_t - - mÿche_size -; - -138 -ušt32_t - - mýu_sock‘_id -; - -140 } - g__¹e_ÿche_®igÃd -; - -147  - s_pÜt_cÚfig_ - { - -148 -ušt8_t - - mpÜt_id -; - -149  - mÄx_queue -; - -150  - mÁx_queue -; - -151 -ušt32_t - - mtx_buf_size -; - -152 -ušt32_t - - m¡©e -; - -153 -ušt32_t - - m´omisc -; - -154  -mempoÞ_cÚfig - - mmempoÞ -; - -156  -¹e_‘h_cÚf - - mpÜt_cÚf -; - -158  -¹e_‘h_rxcÚf - - mrx_cÚf -; - -160  -¹e_‘h_txcÚf - - mtx_cÚf -; - -162 } - tpÜt_cÚfig_t -; - -169  - s_if_¡©s_ - { - -170 -ušt64_t - - mrx_Åkts -; - -171 -ušt64_t - - mtx_Åkts -; - -172 -ušt64_t - - mrx_by‹s -; - -173 -ušt64_t - - mtx_by‹s -; - -174 -ušt64_t - - mrx_mis£d_pkts -; - -176 -ušt64_t - - mrx_”r_pkts -; - -177 -ušt64_t - - mrx_nobuf_çž -; - -178 -ušt64_t - - mtx_çžed_pkts -; - -179 -ušt64_t - - mq_rxpkts -[ -IFM_QUEUE_STAT_CNTRS -]; - -180 -ušt64_t - - mq_txpkts -[ -IFM_QUEUE_STAT_CNTRS -]; - -181 -ušt64_t - - mq_rx_by‹s -[ -IFM_QUEUE_STAT_CNTRS -]; - -183 -ušt64_t - - mq_tx_by‹s -[ -IFM_QUEUE_STAT_CNTRS -]; - -185 -ušt64_t - - mq_rx_pkt_drÝ -[ -IFM_QUEUE_STAT_CNTRS -]; - -187 } - t__¹e_ÿche_®igÃd - - tif_¡©s -; - -191  - sbÚd_pÜt - { - -192 -ušt8_t - - mbÚd_pÜtid -; - -194 -ušt8_t - - msock‘_id -; - -196 -ušt8_t - - mmode -; - -198 -ušt8_t - - mxm™_pÞicy -; - -200 -ušt32_t - - mš‹º®_ms -; - -202 -ušt32_t - - mlšk_up_d–ay_ms -; - -204 -ušt32_t - - mlšk_down_d–ay_ms -; - -206 -ušt8_t - - m´im¬y -; - -208 -ušt8_t - - m¦aves -[ -RTE_MAX_ETHPORTS -]; - -210  - m¦ave_couÁ -; - -212 -ušt8_t - - maùive_¦aves -[ -RTE_MAX_ETHPORTS -]; - -214  - maùive_¦ave_couÁ -; - -216 } - g__¹e_ÿche_®igÃd -; - -224  - s_l2_phy_š‹rçû_ - { - -225  -_l2_phy_š‹rçû_ - * - mÃxt -; - -226 -ušt8_t - - mpmdid -; - -227  - mif_šdex -; - -228  - miâame -[ -IFM_IFNAME_LEN -]; - -229 -ušt16_t - - mmtu -; - -230 -ušt8_t - - mmaÿddr -[ -IFM_ETHER_ADDR_SIZE -]; - -231 -ušt32_t - - m´omisc -; - -232 -ušt32_t - - mæags -; - -234 -ušt32_t - - mlšk_¥“d -; - -235 -ušt16_t - - mlšk_du¶ex -:1; - -236 -ušt16_t - - mlšk_autÚeg -:1; - -237 -ušt16_t - - mlšk_¡©us -:1; - -238 -ušt16_t - - madmš_¡©us -:1; - -240  -¹e_mempoÞ - * - mmempoÞ -; - -241 -ušt32_t - - mmš_rx_bufsize -; - -242 -ušt32_t - - mmax_rx_pkŽ’ -; - -243 -ušt16_t - - mmax_rx_queues -; - -244 -ušt16_t - - mmax_tx_queues -; - -245 -ušt64_t - - mn_rxpkts -; - -246 -ušt64_t - - mn_txpkts -; - -247 -if_¡©s - - m¡©s -; - -248 -ušt16_t -(* -»Œ›ve_bulk_pkts -è( - mušt8_t -, - mušt16_t -,  - m¹e_mbuf - **); - -250 -ušt16_t -(* -Œªsm™_bulk_pkts -è( - m_l2_phy_š‹rçû_ - *,  - m¹e_mbuf - **, - mušt64_t -); - -252 (* - mŒªsm™_sšgË_pkt -è( - m_l2_phy_š‹rçû_ - *,  - m¹e_mbuf - *); - -254  -¹e_‘h_dev_tx_bufãr - * - mtx_bufãr -; - -255 -ušt64_t - - mtx_buf_Ën -; - -256 * - mv4_li¡ -; - -257 * - mv6_li¡ -; - -258  -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_š‹rçû_t -; - -266  - s_v4li¡_ - { - -267  -_v4li¡_ - * - mÃxt -; - -268 -ušt32_t - - maddr -; - -269  - madd¾’ -; - -270  - mmtu -; - -271 -l2_phy_š‹rçû_t - * - mpÜt -; - -273 } - tv4li¡_t -; - -279  - s_v6li¡_ - { - -280  -_v6li¡_ - * - mÃxt -; - -281 -ušt8_t - - maddr -[ -IFM_IPV6_ADDR_SIZE -]; - -282  - madd¾’ -; - -283  - mmtu -; - -284 -l2_phy_š‹rçû_t - * - mpÜt -; - -285 } - tv6li¡_t -; - -292  - s_ifm_þ›Á_ - { - -293 -ušt32_t - - mþ›Áid -; - -294 (* - mcb_lškupd©e -è( - mušt8_t -, ); - -296 } - t__¹e_ÿche_®igÃd - - tifm_þ›Á -; - -302  - s_š‹rçû_maš_ - { - -303 -l2_phy_š‹rçû_t - * - mpÜt_li¡ -[ -IFM_MAX_PORTARR_SZ -]; - -304 -ušt32_t - - mÅÜt_cÚfigu»d -; - -305 -ušt32_t - - mÅÜt_štŸlized -; - -306 -ušt8_t - - mnþ›Á -; - -307 -ifm_þ›Á - - mif_þ›Á -[ -IFM_MAX_CLIENT -]; - -308 } - t__¹e_ÿche_®igÃd - - tš‹rçû_maš_t -; - -320  -ifm_cÚfigu»_pÜts -( -pÜt_cÚfig_t - * -pcÚfig -); - -333 -l2_phy_š‹rçû_t - * -ifm_g‘_fœ¡_pÜt -(); - -347 -l2_phy_š‹rçû_t - * -ifm_g‘_Ãxt_pÜt -( -ušt8_t - -pÜt_id -); - -359 -l2_phy_š‹rçû_t - * -ifm_g‘_pÜt -( -ušt8_t -); - -371 -l2_phy_š‹rçû_t - * -ifm_g‘_pÜt_by_Çme -(cÚ¡ * -Çme -); - -380  -ifm_»move_pÜt_d‘ažs -( -ušt8_t - -pÜtid -); - -390  -ifm_add_pÜt_to_pÜt_li¡ -( -l2_phy_š‹rçû_t - *); - -399  -is_pÜt_li¡_nuÎ -(); - -412  -ifm_pÜt_£tup -( -ušt8_t - -pÜt_id -, -pÜt_cÚfig_t - *); - -421  -ifm_š™ -(); - -433 -št32_t - -ifm_g‘_ÅÜts_š™Ÿlized -(); - -445 -št32_t - -ifm_g‘_Çùive_pÜts -(); - -457 -št32_t - -ifm_chk_pÜt_v4_’abËd -( -ušt8_t - -pÜt_id -); - -469 -št32_t - -ifm_chk_pÜt_v6_’abËd -( -ušt8_t - -pÜt_id -); - -485 -št16_t - -ifm_»move_v4_pÜt -( -ušt8_t - -pÜt_id -, -ušt32_t - -addr -, - -486 -ušt32_t - -add¾’ -); - -502 -št16_t - -ifm_»move_v6_pÜt -( -ušt8_t - -pÜt_id -, -ušt32_t - -6addr -, - -503 -ušt32_t - -add¾’ -); - -519 -št16_t - -ifm_add_v4_pÜt -( -ušt8_t - -pÜt_id -, -ušt32_t - -addr -, ušt32_ˆ -add¾’ -); - -535 -št8_t - -ifm_add_v6_pÜt -( -ušt8_t - -pÜt_id -, ušt8_ˆ -6addr -[], -ušt32_t - -add¾’ -); - -548  -ifm_Œªsm™_sšgË_pkt -( -l2_phy_š‹rçû_t - * -pÜt -, - -549  -¹e_mbuf - * -tx_pkts -); - -564 -ušt16_t - -ifm_Œªsm™_bulk_pkts -( -l2_phy_š‹rçû_t - *,  -¹e_mbuf - ** -tx_pkts -, - -565 -ušt64_t - -Åkts -); - -580 -ušt16_t - -ifm_»ûive_bulk_pkts -( -ušt8_t - -pÜt_id -, ušt16_ˆ -qid -, - -581  -¹e_mbuf - ** -rx_pkts -); - -594  -ifm_£t_pÜt_´omisc -( -ušt8_t - -pÜt_id -, ušt8_ˆ -’abË -); - -607  -ifm_£t_l2_š‹rçû_mtu -( -ušt8_t - -pÜt_id -, -ušt16_t - -mtu -); - -620  -ifm_upd©e_lšk¡©us -( -ušt8_t - -pÜt_id -, -ušt16_t - -lšk¡©us -); - -633  -ifm_»gi¡”_fÜ_lškupd©e -( -ušt32_t - -þ›Áid -, - -634 (* -cb_lškupd©e -è( -ušt8_t -, )); - -650  - `lsi_ev’t_ÿÎback -( -ušt8_t - -pÜt_id -, -¹e_‘h_ev’t_ty³ - -ty³ -, - -651 * -·¿m -); - -656  - `´št_š‹rçû_d‘ažs -(); - -667  - `ifm_bÚd_pÜt_ü—‹ -(cÚ¡ * -Çme -,  -mode -, -pÜt_cÚfig_t - * -pÜtcÚf -); - -674  - `ifm_bÚd_pÜt_d–‘e -(cÚ¡ * -Çme -); - -683  - `ifm_add_¦ave_pÜt -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -¦ave_pÜt_id -); - -692  - `ifm_»move_¦ave_pÜt -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -¦ave_pÜt_id -); - -701  - `£t_bÚd_mode -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -mode -); - -708  - `g‘_bÚd_mode -( -ušt8_t - -bÚded_pÜt_id -); - -717  - `£t_bÚd_´im¬y -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -¦ave_pÜt_id -); - -724  - `g‘_bÚd_´im¬y_pÜt -( -ušt8_t - -bÚded_pÜt_id -); - -731  - `g‘_bÚd_¦ave_couÁ -( -ušt8_t - -bÚded_pÜt_id -); - -738  - `g‘_bÚd_aùive_¦ave_couÁ -( -ušt8_t - -bÚded_pÜt_id -); - -747  - `g‘_bÚd_¦aves -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -¦aves -[ -RTE_MAX_ETHPORTS -]); - -756  - `g‘_bÚd_aùive_¦aves -( -ušt8_t - -bÚded_pÜt_id -, - -757 -ušt8_t - -¦aves -[ -RTE_MAX_ETHPORTS -]); - -766  - `£t_bÚd_mac_add»ss -( -ušt8_t - -bÚded_pÜt_id -,  -‘h”_addr - * -mac_addr -); - -773  - `»£t_bÚd_mac_addr -( -ušt8_t - -bÚded_pÜt_id -); - -774  - `g‘_bÚd_mac -( -ušt8_t - -bÚded_pÜt_id -,  -‘h”_addr - * -maÿddr -); - -783  - `£t_bÚd_xm™pÞicy -( -ušt8_t - -bÚded_pÜt_id -, ušt8_ˆ -pÞicy -); - -790  - `g‘_bÚd_xm™pÞicy -( -ušt8_t - -bÚded_pÜt_id -); - -799  - `£t_bÚd_lšk_mÚt™Ü_äequ’cy -( -ušt8_t - -bÚded_pÜt_id -, - -800 -ušt32_t - -š‹º®_ms -); - -807  - `g‘_bÚd_lšk_mڙÜ_äequ’cy -( -ušt8_t - -bÚded_pÜt_id -); - -816  - `£t_bÚd_lškdown_d–ay -( -ušt8_t - -bÚded_pÜt_id -, -ušt32_t - -d–ay_ms -); - -823  - `g‘_bÚd_lšk_down_d–ay -( -ušt8_t - -bÚded_pÜt_id -); - -832  - `£t_bÚd_lškup_d–ay -( -ušt8_t - -bÚded_pÜt_id -, -ušt32_t - -d–ay_ms -); - -839  - `g‘_bÚd_lšk_up_d–ay -( -ušt8_t - -bÚded_pÜt_id -); - -845  - `´št_¡©s -(); - -854  - `ifm_g‘_pÜt_šfo -( -ušt8_t - -pÜt_id -, -l2_phy_š‹rçû_t - * -pÜt_šfo -); - -863  - `ifm_g‘_Ãxt_pÜt_šfo -( -ušt8_t - -pÜt_id -, -l2_phy_š‹rçû_t - * -pÜt_šfo -); - -872  - `cÚfig_ifm_debug -( -dbg -,  -æag -); - - @VIL/l2l3_stack/l2_proto.c - -22  - ~"l2_´Ùo.h -" - -24  -´Ùo_·ck‘_ty³ - * - g´Ùo_li¡ -[3]; - -29 - $li¡_add_ty³ -( -ušt16_t - -ty³ -, - -30 (* -func -è( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -31 -l2_phy_š‹rçû_t - *)) - -33 ià( -ty³ - =ð -ETHER_TYPE_IPv4 -) { - -34 -´Ùo_li¡ -[ -IPv4_VAL -] = - -35 - `¹e_m®loc -( -NULL -, ( -´Ùo_·ck‘_ty³ -), - -36 -RTE_CACHE_LINE_SIZE -); - -37 -´Ùo_li¡ -[ -IPv4_VAL -]-> -ty³ - =ype; - -38 -´Ùo_li¡ -[ -IPv4_VAL -]-> -func - = func; - -41 ià( -ty³ - =ð -ETHER_TYPE_ARP -) { - -42 -´Ùo_li¡ -[ -ARP_VAL -] = - -43 - `¹e_m®loc -( -NULL -, ( -´Ùo_·ck‘_ty³ -), - -44 -RTE_CACHE_LINE_SIZE -); - -45 -´Ùo_li¡ -[ -ARP_VAL -]-> -ty³ - =ype; - -46 -´Ùo_li¡ -[ -ARP_VAL -]-> -func - = func; - -47 } ià( -ty³ - =ð -ETHER_TYPE_IPv6 -) { - -48 -´Ùo_li¡ -[ -IPv6_VAL -] = - -49 - `¹e_m®loc -( -NULL -, ( -´Ùo_·ck‘_ty³ -), - -50 -RTE_CACHE_LINE_SIZE -); - -51 -´Ùo_li¡ -[ -IPv6_VAL -]-> -ty³ - =ype; - -52 -´Ùo_li¡ -[ -IPv6_VAL -]-> -func - = func; - -55 - } -} - -64 - $l2_check_mac -( -¹e_mbuf - * -m -[ -IFM_BURST_SIZE -], -l2_phy_š‹rçû_t - * -pÜt -, - -65 -ušt8_t - -i -, -ušt64_t - * -pkts_mask -, ušt64_ˆ* -¬p_pkts_mask -, - -66 -ušt64_t - * -v4_pkts_mask -, ušt64_ˆ* -v6_pkts_mask -) - -68  -‘h”_hdr - * -‘h -= -NULL -; - -69 -ušt16_t - -§me_mac -=0; - -70 -ušt16_t - -‘hty³ - = 0; - -72 ià( -m -[ -i -] !ð -NULL -) { - -73 -‘h - = - `¹e_pktmbuf_mtod -( -m -[ -i -],  -‘h”_hdr - *); - -74 if( -‘h -) - -75 -‘hty³ - = - `¹e_be_to_ýu_16 -( -‘h --> -‘h”_ty³ -); - -76 ià( -‘h - =ð -NULL -) { - -78 - `´štf -("l2_check_mac: Ethernet Dest Addr NULL !!!\n"); - -81 -‘hty³ - = - `¹e_be_to_ýu_16 -( -‘h --> -‘h”_ty³ -); - -82 #ià -L2_PROTO_DBG - - -83 - `´štf -("%s => mbuf…kt dest mac‡ddr: %x:%x:%x:%x:%x:%x\n", - -84 -__FUNCTION__ -, -‘h --> -d_addr -. -addr_by‹s -[0], - -85 -‘h --> -d_addr -. -addr_by‹s -[1],ƒth->d_addr.addr_bytes[2], - -86 -‘h --> -d_addr -. -addr_by‹s -[3],ƒth->d_addr.addr_bytes[4], - -87 -‘h --> -d_addr -. -addr_by‹s -[5]); - -88 - `´štf -("% =>…܈maøaddr: %x:%x:%x:%x:%x:%x\n", -__FUNCTION__ -, - -89 -pÜt --> -maÿddr -[0],…ort->macaddr[1],…ort->macaddr[2], - -90 -pÜt --> -maÿddr -[3],…ort->macaddr[4],…ort->macaddr[5]); - -94 -§me_mac - = - -95 ( -is_§me_‘h”_addr - - -96 (& -‘h --> -d_addr -, ( -‘h”_addr - *) -pÜt --> -maÿddr -) - -98 (( -is_brßdÿ¡_‘h”_addr - - -99 (( -‘h”_addr - *)& -‘h --> -d_addr -) - -100 && ( -‘hty³ - =ð -ETHER_TYPE_ARP -))) - -101 || ( -‘hty³ - =ð -ETHER_TYPE_IPv6 - - -102 && -‘h --> -d_addr -. -addr_by‹s -[0] == 0x33 - -103 && -‘h --> -d_addr -. -addr_by‹s -[1] == 0x33)); - -105 ià(! -§me_mac -) { - -106 -ušt64_t - -‹mp_mask - = 1LLU << -i -; - -107 * -pkts_mask - ^ð -‹mp_mask -; - -108 - `¹e_pktmbuf_ä“ -( -m -[ -i -]); - -109 -m -[ -i -] = -NULL -; - -110 } ià(( -‘hty³ - =ð -ETHER_TYPE_IPv4 -è&& -§me_mac -) { - -111 -ušt64_t - -‹mp_mask - = 1LLU << -i -; - -112 * -v4_pkts_mask - ^ð -‹mp_mask -; - -113 } ià(( -‘hty³ - =ð -ETHER_TYPE_ARP -è&& -§me_mac -) { - -114 -ušt64_t - -‹mp_mask - = 1LLU << -i -; - -115 * -¬p_pkts_mask - ^ð -‹mp_mask -; - -116 } ià(( -‘hty³ - =ð -ETHER_TYPE_IPv6 -è&& -§me_mac -) { - -117 -ušt64_t - -‹mp_mask - = 1LLU << -i -; - -118 * -v6_pkts_mask - ^ð -‹mp_mask -; - -121 - `´štf -("\n%s:‡½_pkts_mask = %" -PRIu64 - ", ipv4_pkts_mask = %" PRIu64 - -122 ", ipv6_pkts_mask =%" -PRIu64 - ",…kt-type = %x, sam_mac = %d\n", - -123 -__FUNCTION__ -, * -¬p_pkts_mask -, * -v4_pkts_mask -, * -v6_pkts_mask -, - -124 -‘hty³ -, -§me_mac -); - -125 - } -} - -128 - $´ÙocÞ_hªdËr_»cv -( -¹e_mbuf - ** -pkts_bur¡ -, -ušt16_t - -nb_rx -, - -129 -l2_phy_š‹rçû_t - * -pÜt -) - -131 -ušt8_t - -i -; - -132 -ušt64_t - -pkts_mask - = 0; - -133 -ušt64_t - -¬p_pkts_mask - = 0; - -134 -ušt64_t - -v4_pkts_mask - = 0; - -135 -ušt64_t - -v6_pkts_mask - = 0; - -140  -i - = 0; i < -nb_rx -; i++) { - -141 - `l2_check_mac -( -pkts_bur¡ -, -pÜt -, -i -, & -pkts_mask -, & -¬p_pkts_mask -, - -142 & -v4_pkts_mask -, & -v6_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 -´štf - - -151 ià( -v4_pkts_mask -) { - -152 -´štf - - -154 - `´štf -("===òb_rx:%u, ipv4_pkts_mask: %lu\n\n", -nb_rx -, - -155 -v4_pkts_mask -); - -156 -´Ùo_li¡ -[ -IPv4_VAL -]-> - `func -( -pkts_bur¡ -, -nb_rx -, - -157 -v4_pkts_mask -, -pÜt -); - -159 ià( -v6_pkts_mask -) { - -160 -´štf - - -162 - `´štf -("===òb_rx:%u, ipv6_pkts_mask: %lu\n\n", -nb_rx -, - -163 -v6_pkts_mask -); - -164 -´Ùo_li¡ -[ -IPv6_VAL -]-> - `func -( -pkts_bur¡ -, -nb_rx -, - -165 -v6_pkts_mask -, -pÜt -); - -168 - } -} - -171  -qid -) { - -175 -´štf - - -177  -cur --> -ty³ - !ð -ETHER_TYPE_ARP - && cu¸!ð -NULL -) { - -178 -cur - = cur-> -Ãxt -; - -180 ià( -cur - !ð -NULL -) { - -182 -´štf - - -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  -cur --> -ty³ - !ð -ETHER_TYPE_IPv4 - && cu¸!ð -NULL -) { - -195 -cur - = cur-> -Ãxt -; - -197 ià( -cur - !ð -NULL -) { - -200 -cur --> - `func -( -pkts_bur¡ -, -nb_rx -, -v4_pkts_mask -, -pÜtid -); - -205 -´Ùo_li¡ -[ -IPv4_VAL -]-> - `func -( -pkts_bur¡ -, -nb_rx -, -v4_pkts_mask -, - -206 -pÜtid -); - -223 - `¹e_ex™ -( -EXIT_FAILURE -, "Ethertype‚ot found \n"); - -226 - } -} - - @VIL/l2l3_stack/l2_proto.h - -26 #iâdeà -L2_PROTO_H - - -27  - #L2_PROTO_H - - - ) - -29  - ~<¡dio.h -> - -30  - ~<¡dlib.h -> - -31  - ~<¡ršg.h -> - -32  - ~<¡dšt.h -> - -33  - ~<š‰y³s.h -> - -34  - ~ - -35  - ~ - -36  - ~<Ãtš‘/š.h -> - -37  - ~<£tjmp.h -> - -38  - ~<¡d¬g.h -> - -39  - ~<ùy³.h -> - -40  - ~<”ºo.h -> - -41  - ~ - -42  - ~ - -43  - ~<¡dboÞ.h -> - -45  - ~<¹e_commÚ.h -> - -46  - ~<¹e_log.h -> - -47  - ~<¹e_m®loc.h -> - -48  - ~<¹e_memÜy.h -> - -49  - ~<¹e_memýy.h -> - -50  - ~<¹e_memzÚe.h -> - -51  - ~<¹e_—l.h -> - -52  - ~<¹e_³r_lcÜe.h -> - -53  - ~<¹e_Ïunch.h -> - -54  - ~<¹e_©omic.h -> - -55  - ~<¹e_cyþes.h -> - -56  - ~<¹e_´eãtch.h -> - -57  - ~<¹e_lcÜe.h -> - -58  - ~<¹e_³r_lcÜe.h -> - -59  - ~<¹e_b¿nch_´ediùiÚ.h -> - -60  - ~<¹e_š‹¼u±s.h -> - -61  - ~<¹e_pci.h -> - -62  - ~<¹e_¿ndom.h -> - -63  - ~<¹e_debug.h -> - -64  - ~<¹e_‘h”.h -> - -65  - ~<¹e_‘hdev.h -> - -66  - ~<¹e_.h -> - -67  - ~<¹e_ršg.h -> - -68  - ~<¹e_mempoÞ.h -> - -69  - ~<¹e_mbuf.h -> - -70  - ~<¹e_‘h_ù¾.h -> - -71  - ~<š‹rçû.h -> - -74  - #IPv4_VAL - 0 - - ) - -75  - #ARP_VAL - 1 - - ) - -76  - #IPv6_VAL - 2 - - ) - -79  - #L2_PROTO_DBG - 1 - - ) - -84  - s´Ùo_·ck‘_ty³ - { - -85 -ušt16_t - - mty³ -; - -86 (* - mfunc -è( -¹e_mbuf - ** - mm -, -ušt16_t - - mnb_pkts -, -ušt64_t - - mpkt_mask -, -l2_phy_š‹rçû_t - * - mpÜt -); - -87 } - g__¹e_ÿche_®igÃd -; - -98 -li¡_add_ty³ -( -ušt16_t - -ty³ -, - -99 (* -func -è( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -100 -l2_phy_š‹rçû_t - *)); - -130 - `l2_check_mac -( -¹e_mbuf - * -m -[ -IFM_BURST_SIZE -], -l2_phy_š‹rçû_t - * -pÜt -, - -131 -ušt8_t - -pos -, -ušt64_t - * -pkts_mask -, ušt64_ˆ* -¬p_pkts_mask -, - -132 -ušt64_t - * -v4_pkts_mask -, ušt64_ˆ* -v6_pkts_mask -); - -147 - `´ÙocÞ_hªdËr_»cv -( -¹e_mbuf - * -m -[ -IFM_BURST_SIZE -], -ušt16_t - -nb_rx -, - -148 -l2_phy_š‹rçû_t - * -pÜt -); - - @VIL/l2l3_stack/l3fwd_common.h - -22 #iâdeà -L3FWD_COMMON_H - - -23  - #L3FWD_COMMON_H - - - ) - -26  - ~<¡dio.h -> - -27  - ~<¡dlib.h -> - -28  - ~<¡dšt.h -> - -29  - ~<š‰y³s.h -> - -30  - ~ - -31  - ~ - -32  - ~ - -33  - ~<¡ršg.h -> - -34  - ~<¡d¬g.h -> - -35  - ~<”ºo.h -> - -36  - ~ - -37  - ~<¡dboÞ.h -> - -38  - ~ - -39  - ~ - -42  - ~<¹e_commÚ.h -> - -43  - ~<¹e_hash.h -> - -44  - ~<¹e_jhash.h -> - -45  - ~<¹e_pÜt.h -> - -46  - ~<¹e_veù.h -> - -47  - ~<¹e_by‹Üd”.h -> - -48  - ~<¹e_log.h -> - -49  - ~<¹e_memÜy.h -> - -50  - ~<¹e_memýy.h -> - -51  - ~<¹e_memzÚe.h -> - -52  - ~<¹e_—l.h -> - -53  - ~<¹e_³r_lcÜe.h -> - -54  - ~<¹e_Ïunch.h -> - -55  - ~<¹e_©omic.h -> - -56  - ~<¹e_cyþes.h -> - -57  - ~<¹e_´eãtch.h -> - -58  - ~<¹e_lcÜe.h -> - -59  - ~<¹e_³r_lcÜe.h -> - -60  - ~<¹e_b¿nch_´ediùiÚ.h -> - -61  - ~<¹e_š‹¼u±s.h -> - -62  - ~<¹e_pci.h -> - -63  - ~<¹e_¿ndom.h -> - -64  - ~<¹e_debug.h -> - -65  - ~<¹e_‘h”.h -> - -66  - ~<¹e_‘hdev.h -> - -67  - ~<¹e_ršg.h -> - -68  - ~<¹e_mempoÞ.h -> - -69  - ~<¹e_mbuf.h -> - -70  - ~<¹e_.h -> - -71  - ~<¹e_tý.h -> - -72  - ~<¹e_udp.h -> - -73  - ~<¹e_bË_hash.h -> - -74  - ~<¹e_bË.h -> - -75  - ~<¹e_bË_Ím.h -> - -76  - ~<¹e_¡ršg_âs.h -> - -77  - ~<¹e_ýuæags.h -> - -78  - ~ - -79  - ~ - -80  - ~<¹e_bË_Ím_v6.h -> - -85  - #MAX_ROUTES - 4 - - ) - -86  - #L3FWD_DEBUG - 1 - - ) - -87  - #MULTIPATH_FEAT - 1 - - ) - -94  -l3fwd_š™ -(); - -99  -pÝuϋ_Ím4_bË_rou‹s -(); - -104  -pÝuϋ_Ím6_bË_rou‹s -(); - -109  -pÝuϋ_Ím_rou‹s -(); - - @VIL/l2l3_stack/l3fwd_lpm4.c - -17  - ~"l3fwd_commÚ.h -" - -18  - ~"š‹rçû.h -" - -19  - ~"l2_´Ùo.h -" - -20  - ~"l3fwd_Ím4.h -" - -21  - ~"l3fwd_Ím6.h -" - -22  - ~"lib_¬p.h -" - -23  - ~"lib_icmpv6.h -" - -24  - ~<š‰y³s.h -> - -29 * - gÍm4_bË -; - -32  -¹e_hash - * - gl2_adj_hash_hªdË -; - -33  -¹e_hash - * - gfib_·th_hash_hªdË -; - -35 -l3_¡©s_t - - g¡©s -; - -38 -ušt8_t - - gnh_lšks -[ -MAX_SUPPORTED_FIB_PATHS -][ -HASH_BUCKET_SIZE -] = - -87  - #META_DATA_OFFSET - 128 - - ) - -89  - #RTE_PKTMBUF_HEADROOM - 128 - - ) - -90  - #ETHERNET_START - ( -META_DATA_OFFSET - + -RTE_PKTMBUF_HEADROOM -) - - ) - -91  - #ETH_HDR_SIZE - 14 - - ) - -92  - #IP_START - ( -ETHERNET_START - + -ETH_HDR_SIZE -) - - ) - -93  - #TCP_START - ( -IP_START - + 20) - - ) - -95  - $´št_pkt -( -¹e_mbuf - * -pkt -) - -97  -i -; - -98  -size - = 14; - -99 -ušt8_t - * -rd - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -ETHERNET_START -); - -101 - `´štf -("Meta-data:\n"); - -102  -i - = 0; i < -size -; i++) { - -103 - `´štf -("%02x ", -rd -[ -i -]); - -104 ià(( -i - & 3) == 3) - -105 - `´štf -("\n"); - -107 - `´štf -("\n"); - -108 - `´štf -("IP‡nd TCP/UDP headers:\n"); - -109 -rd - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -IP_START -); - -110  -i - = 0; i < 40; i++) { - -111 - `´štf -("%02x ", -rd -[ -i -]); - -112 ià(( -i - & 3) == 3) - -113 - `´štf -("\n"); - -116 - } -} - -118  -_´ÙocÞ_ty³ - * - g´Ùo_ty³ -[2]; - -119  - $Ím_š™ -() - -123  -¹e_bË_Ím_·¿ms - -Ím_·¿ms - = { - -124 . -Çme - = "LPMv4", - -125 . -n_ruËs - = -IPV4_L3FWD_LPM_MAX_RULES -, - -126 . -numb”_tbl8s - = -IPV4_L3FWD_LPM_NUMBER_TBL8S -, - -127 . -æags - = 0, - -128 . -’Œy_unique_size - = ( -fib_šfo -), - -129 . -off£t - = 128, - -133 -Ím4_bË - = - -134 -¹e_bË_Ím_Ýs -. - `f_ü—‹ -(& -Ím_·¿ms -, - `¹e_sock‘_id -(), - -135 ( -fib_šfo -)); - -136 ià( -Ím4_bË - =ð -NULL -) { - -137 - `´štf -("Failedo create LPM IPV4able\n"); - -142  -¹e_hash_·¿m‘”s - -l2_adj_v4_·¿ms - = { - -143 . -Çme - = "l2_ADJ_HASH", - -144 . -’Œ›s - = 64, - -145 . -key_Ën - = ( -l2_adj_key_v4 -), - -146 . -hash_func - = -¹e_jhash -, - -147 . -hash_func_š™_v® - = 0, - -151 -l2_adj_hash_hªdË - = - `¹e_hash_ü—‹ -(& -l2_adj_v4_·¿ms -); - -153 ià( -l2_adj_hash_hªdË - =ð -NULL -) { - -154 - `´štf -("L2 ADJ„te_hash_create failed\n"); - -157 - `´štf -("l2_adj_hash_hªdË %p\n\n", (*) -l2_adj_hash_hªdË -); - -161  -¹e_hash_·¿m‘”s - -fib_·th_v4_·¿ms - = { - -162 . -Çme - = "FIB_PATH_HASH", - -163 . -’Œ›s - = 64, - -164 . -key_Ën - = ( -fib_·th_key_v4 -), - -165 . -hash_func - = -¹e_jhash -, - -166 . -hash_func_š™_v® - = 0, - -170 -fib_·th_hash_hªdË - = - `¹e_hash_ü—‹ -(& -fib_·th_v4_·¿ms -); - -172 ià( -fib_·th_hash_hªdË - =ð -NULL -) { - -173 - `´štf -("FIB…ath„te_hash_create failed\n"); - -177 - } -} - -179  - $Ím4_bË_rou‹_add -( -routšg_šfo - * -d©a -) - -182  -routšg_šfo - * -fib - = -d©a -; - -183  -¹e_bË_Ím_key - -Ím_key - = { - -184 . - - = -fib --> -d¡__addr -, - -185 . -d•th - = -fib -->depth, - -187 -ušt8_t - -i -; - -188  -TÙ®_rou‹_couÁ -; - -189  -fib_šfo - -’Œy -; - -190 -’Œy -. -d¡__addr - = - `¹e_bsw­32 -( -fib -->dst_ip_addr); - -191 -’Œy -. -d•th - = -fib -->depth; - -192 -’Œy -. -fib_nh_size - = -fib -->fib_nh_size; - -194 #ià -MULTIPATH_FEAT - - -195 ià( -’Œy -. -fib_nh_size - =ð0 ||ƒÁry.fib_nh_siz> -MAX_FIB_PATHS -) - -197 ià( -’Œy -. -fib_nh_size - != 1) - -200 - `´štf -("Route can't be configured!!,ƒntry.fib_nh_size = %d\n", - -201 -’Œy -. -fib_nh_size -); - -205 #ià -MULTIPATH_FEAT - - -206  -i - = 0; i < -’Œy -. -fib_nh_size -; i++) - -208  -i - = 0; i < 1; i++) - -211  -fib_·th - * -fib_·th_addr - = -NULL -; - -213 -fib_·th_addr - = - -214 - `pÝuϋ_fib_·th -( -fib --> -nh__addr -[ -i -], fib-> -out_pÜt -[i]); - -215 ià( -fib_·th_addr -) { - -217 -’Œy -. -·th -[ -i -] = -fib_·th_addr -; - -218 - `´štf -("Fib info forhe Dest IP"); - -219 - `´štf -(" : %" -PRIu32 - ".%" PRIu32 ".%" PRIu32 ".%" PRIu32 - -220 "/%" -PRIu8 - - -222 ( -fib --> -d¡__addr - & 0xFF000000) >> 24, - -223 ( -fib --> -d¡__addr - & 0x00FF0000) >> 16, - -224 ( -fib --> -d¡__addr - & 0x0000FF00) >> 8, - -225 ( -fib --> -d¡__addr - & 0x000000FF), fib-> -d•th -, - -226 -fib_·th_addr -, - -227 (*) -’Œy -. -·th -[ -i -]-> -l2_adj_±r -); - -229 - `´štf -("Fib infØf܁hDe¡ IP :\ -%" -PRIu32 - ".%" PRIu32 ".%" PRIu32 ".%" PRIu32 "/%" -PRIu8 - " => fib_·th Addr: NULL \n", ( -fib --> -d¡__addr - & 0xFF000000è>> 24, (fib->d¡__add¸& 0x00FF0000è>> 16, (fib->d¡__add¸& 0x0000FF00è>> 8, (fib->d¡__add¸& 0x000000FF), fib-> -d•th -); - -231 -’Œy -. -·th -[ -i -] = -NULL -; - -235  -key_found -, -»t -; - -236 * -’Œy_±r -; - -237 -»t - = - -238 -¹e_bË_Ím_Ýs -. - `f_add -( -Ím4_bË -, (*)& -Ím_key -, & -’Œy -, - -239 & -key_found -, & -’Œy_±r -); - -241 ià( -»t - != 0) { - -242 - `´štf -("Failedo Add IP„oute\n"); - -245 -TÙ®_rou‹_couÁ -++; - -246 - `´štf -("TÙ® Rou‹d Added : %u, Key_found: %d\n", -TÙ®_rou‹_couÁ -, - -247 -key_found -); - -248 - `´štf -("Adding Routeo LPMable...\n"); - -250 - `´štf -("Iterate with Cuckoo Hashable\n"); - -251 - `™”©e_cuckoo_hash_bË -(); - -253 - } -} - -255  - $Ím4_bË_rou‹_d–‘e -( -ušt32_t - -d¡_ -, -ušt8_t - -d•th -) - -258  -¹e_bË_Ím_key - -Ím_key - = { - -259 . - - = -d¡_ -, - -260 . -d•th - = depth, - -263  -key_found -, -»t -; - -264 * -’Œy - = -NULL -; - -266 -’Œy - = - `¹e_zm®loc -( -NULL -, 512, -RTE_CACHE_LINE_SIZE -); - -269 -»t - = - -270 -¹e_bË_Ím_Ýs -. - `f_d–‘e -( -Ím4_bË -, & -Ím_key -, & -key_found -, -’Œy -); - -272 ià( -»t -) { - -273 - `´štf -("Failedo Delete IP„oute from LPMv4able\n"); - -277 - `´štf -("Deleted„oute from LPMable (IPv4 Address = %" - -278 -PRIu32 - ".%" PRIu32 ".%" PRIu32 ".%" PRIu32 - -279 "/%u , key_found = %d\n", ( -Ím_key -. - - & 0xFF000000) >> 24, - -280 ( -Ím_key -. - - & 0x00FF0000) >> 16, (lpm_key.ip & 0x0000FF00) >> 8, - -281 ( -Ím_key -. - - & 0x000000FF),†pm_key. -d•th -, -key_found -); - -284 - `»move_fib_l2_adj_’Œy -( -’Œy -); - -285 - `¹e_ä“ -( -’Œy -); - -286 - `´štf -("Iterate with Cuckoo Hashable\n"); - -287 - `™”©e_cuckoo_hash_bË -(); - -289 - } -} - -292 - $Ím4_bË_lookup -( -¹e_mbuf - ** -pkts_bur¡ -, -ušt16_t - -nb_pkts -, - -293 -ušt64_t - -pkts_mask -, - -294 -l2_phy_š‹rçû_t - * -pÜt_±r -[ -RTE_PORT_IN_BURST_SIZE_MAX -], - -295 -ušt64_t - * -h™_mask -) - -298  -routšg_bË_’Œy - * -v4_’Œ›s -[ -RTE_PORT_IN_BURST_SIZE_MAX -]; - -299 -ušt64_t - -lookup_h™_mask_v4 - = 0; - -300  -¡©us -; - -301 -ušt64_t - -pkts_key_mask - = -pkts_mask -; - -302 -ušt64_t - -lookup_miss_mask_v4 - = -pkts_mask -; - -304  -ušt64_t - -£Á_couÁ -; - -305  -ušt64_t - -rcvd_couÁ -; - -306 -rcvd_couÁ - +ð -nb_pkts -; - -307 ià( -L3FWD_DEBUG -) { - -308 -´štf - - -310 -nb_pkts -, -rcvd_couÁ -, (*) -pkts_mask -); - -312 -ušt32_t - -d¡_addr_off£t - = - -313 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -315 ; -pkts_key_mask -;) { - -317 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -pkts_key_mask -); - -318 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -319 -pkts_key_mask - &ð~ -pkt_mask -; - -320  -¹e_mbuf - * -mbuf - = -pkts_bur¡ -[ -pos -]; - -321 -ušt32_t - * -Ím_key - = -NULL -; - -322 -ušt32_t - * -d¡_addr - = -NULL -; - -323 -Ím_key - = ( -ušt32_t - *è - `RTE_MBUF_METADATA_UINT8_PTR -( -mbuf -, 128); - -324 -d¡_addr - = - -325 ( -ušt32_t - *è - `RTE_MBUF_METADATA_UINT8_PTR -( -mbuf -, - -326 -d¡_addr_off£t -); - -327 * -Ím_key - = * -d¡_addr -; - -328 ià( -L3FWD_DEBUG -) { - -330 - `´štf -("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 - `´štf -("\nIPV4 Lookup Mask Before = %p\n", - -342 (*) -lookup_h™_mask_v4 -); - -343 -¡©us - = - -344 -¹e_bË_Ím_Ýs -. - `f_lookup -( -Ím4_bË -, -pkts_bur¡ -, -pkts_mask -, - -345 & -lookup_h™_mask_v4 -, - -346 (**) -v4_’Œ›s -); - -348 ià( -¡©us -) { - -349 - `´štf -("LPM Lookup failed for IP„oute\n"); - -353 -lookup_miss_mask_v4 - =†ookup_miss_mask_v4 & (~ -lookup_h™_mask_v4 -); - -354 ià( -L3FWD_DEBUG -) { - -355 -´štf - - -357 (*) -lookup_h™_mask_v4 -, - -358 (*) -lookup_miss_mask_v4 -); - -361 ; -lookup_miss_mask_v4 -;) { - -363 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -lookup_miss_mask_v4 -); - -364 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -365 -lookup_miss_mask_v4 - &ð~ -pkt_mask -; - -366 - `¹e_pktmbuf_ä“ -( -pkts_bur¡ -[ -pos -]); - -367 -pkts_bur¡ -[ -pos -] = -NULL -; - -368 -¡©s -. -nb_l3_drÝ_pkt -++; - -369 ià( -L3FWD_DEBUG -) - -370 - `´štf -("\n DROP PKT IPV4 Lookup_miss_Mask = %p\n", - -371 (*) -lookup_miss_mask_v4 -); - -374 * -h™_mask - = -lookup_h™_mask_v4 -; - -375 ; -lookup_h™_mask_v4 -;) { - -377 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -lookup_h™_mask_v4 -); - -378 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -379 -lookup_h™_mask_v4 - &ð~ -pkt_mask -; - -380  -¹e_mbuf - * -pkt - = -pkts_bur¡ -[ -pos -]; - -382  -fib_šfo - * -’Œy - = (fib_šfØ*) -v4_’Œ›s -[ -pos -]; - -384 #ià -MULTIPATH_FEAT - - -386 -ušt8_t - -ecmp_·th - = 0; - -387 -ecmp_·th - = - `_hash_lßd_b®ªû -( -pkts_bur¡ -[ -pos -]); - -388 -ušt8_t - -£Ëùed_·th - = 0; - -389  -fib_·th - *fib_·th = -NULL -; - -390 ià((( -’Œy --> -fib_nh_size - != 0) - -391 && ( -’Œy --> -fib_nh_size - - 1è< -MAX_SUPPORTED_FIB_PATHS -) - -392 && (( -ecmp_·th - !ð0è&& (ecmp_·th - 1è< -HASH_BUCKET_SIZE -)) - -393 -£Ëùed_·th - = - -394 -nh_lšks -[ -’Œy --> -fib_nh_size - - 1][ -ecmp_·th - - 1]; - -395 ià( -£Ëùed_·th - < -MAX_FIB_PATHS -) - -396 -fib_·th - = -’Œy --> -·th -[ -£Ëùed_·th -]; - -397 ià( -L3FWD_DEBUG -) { - -398 -´štf - - -400 -’Œy --> -fib_nh_size -, -ecmp_·th -, -£Ëùed_·th -); - -403  -fib_·th - *fib_·th = -’Œy --> -·th -[0]; - -406 ià( -fib_·th - =ð -NULL -) { - -407 - `¹e_pktmbuf_ä“ -( -pkt -); - -408 -pkts_bur¡ -[ -pos -] = -NULL -; - -409 -¡©s -. -nb_l3_drÝ_pkt -++; - -410 * -h™_mask - &ð~ -pkt_mask -; - -411 ià( -L3FWD_DEBUG -) - -412 -´štf - - -417 ià( -fib_·th --> -l2_adj_±r --> -æags - =ð -L2_ADJ_UNRESOLVED -) { - -418 ià( -fib_·th --> -l2_adj_±r --> -phy_pÜt --> -v4_li¡ - !ð -NULL -) - -419 - `»que¡_¬p -( -fib_·th --> -l2_adj_±r --> -phy_pÜt --> - -420 -pmdid -, -fib_·th --> -nh_ -); - -422 - `¹e_pktmbuf_ä“ -( -pkts_bur¡ -[ -pos -]); - -423 -pkts_bur¡ -[ -pos -] = -NULL -; - -424 * -h™_mask - &ð~ -pkt_mask -; - -425 ià( -L3FWD_DEBUG -) - -426 -´štf - - -432 -ušt8_t - * -‘h_de¡ - = - -433 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -MBUF_HDR_ROOM -); - -434 -ušt8_t - * -‘h_¤c - = - -435 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -MBUF_HDR_ROOM - + 6); - -436 ià( -L3FWD_DEBUG -) { - -437 -´štf - - -440 -‘h_de¡ -[0],ƒth_de¡[1],ƒth_de¡[2],ƒth_de¡[3],ƒth_de¡[4],ƒth_de¡[5], -‘h_¤c -[0],ƒth_src[1], - -441 -‘h_¤c -[2],ƒth_src[3],ƒth_src[4],ƒth_src[5]); - -444 - `memýy -( -‘h_de¡ -, -fib_·th --> -l2_adj_±r --> -l2_¡ršg -, ( -‘h”_addr -) * 2); - -445 ià( -L3FWD_DEBUG -) { - -446  -k - = 0; - -447  -k - = 0; k < 14; k++) { - -448 - `´štf -("%02x ", - -449 -fib_·th --> -l2_adj_±r --> -l2_¡ršg -[ -k -]); - -450 - `´štf -("\n"); - -452 -´štf - - -453 ("MAC AFTER DST MAC %02x:%02x:%02x:%02x:%02x:%02x, \ - MAC %02x:%02x:%02x:%02x:%02x:%02x\n", -‘h_de¡ -[0],ƒth_de¡[1],ƒth_de¡[2],ƒth_de¡[3],ƒth_de¡[4],ƒth_de¡[5], -‘h_¤c -[0],ƒth_src[1],ƒth_src[2],ƒth_src[3],ƒth_src[4],ƒth_src[5]); - -456 -pÜt_±r -[ -pos -] = -fib_·th --> -l2_adj_±r --> -phy_pÜt -; - -457 ià( -L3FWD_DEBUG -) { - -458 - `´štf -("l3fwd_lookup API!!!!\n"); - -462 -£Á_couÁ -++; - -463 -¡©s -. -nb_tx_l3_pkt -++; - -464 ià( -L3FWD_DEBUG -) - -465 -´štf - - -467 -fib_·th --> -out_pÜt -, -£Á_couÁ -); - -470 - } -} - -472  - $is_v®id_v4_pkt -( -v4_hdr - * -pkt -, -ušt32_t - -lšk_Ën -) - -474 ià( -lšk_Ën - < ( -v4_hdr -)) - -476 ià((( -pkt --> -v”siÚ_ihl -) >> 4) != 4) - -478 ià(( -pkt --> -v”siÚ_ihl - & 0xf) < 5) - -480 ià( - `¹e_ýu_to_be_16 -( -pkt --> -tÙ®_Ëngth -è< ( -v4_hdr -)) - -483 - } -} - -486 - $g‘_de¡_mac_fÜ_ÃxthÝ -( -ušt32_t - -Ãxt_hÝ_ -, - -487 -ušt8_t - -out_phy_pÜt -,  -‘h”_addr - * -hw_addr -) - -489  -¬p_’Œy_d©a - * -¬p_d©a - = -NULL -; - -490  -¬p_key_v4 - -¬p_key -; - -491 -¬p_key -. -pÜt_id - = -out_phy_pÜt -; - -492 -¬p_key -. - - = -Ãxt_hÝ_ -; - -494 -¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -¬p_key -); - -495 ià( -¬p_d©a - =ð -NULL -) { - -496 - `´štf -("ARPƒntry is‚ot found for ip %x,…ort %d\n", - -497 -Ãxt_hÝ_ -, -out_phy_pÜt -); - -500 - `‘h”_addr_cÝy -(& -¬p_d©a --> -‘h_addr -, -hw_addr -); - -502 - } -} - -504  -l2_adj_’Œy - * - $»Œ›ve_l2_adj_’Œy -( -l2_adj_key_v4 - -l2_adj_key -) - -506  -l2_adj_’Œy - * -»t_l2_adj_d©a - = -NULL -; - -507 -l2_adj_key -. -fžËr1 - = 0; - -508 -l2_adj_key -. -fžËr2 - = 0; - -509 -l2_adj_key -. -fžËr3 - = 0; - -511  -»t - = - -512 - `¹e_hash_lookup_d©a -( -l2_adj_hash_hªdË -, & -l2_adj_key -, - -513 (**)& -»t_l2_adj_d©a -); - -514 ià( -»t - < 0) { - -515 #ifdeà -L2L3_DEBUG - - -516 -´štf - - -518 -»t -, -EINVAL -, -ENOENT -); - -520  -NULL -; - -522 #ifdeà -L2L3_DEBUG - - -523 -´štf - - -525 -»t -, -EINVAL -, -ENOENT -); - -527  -»t_l2_adj_d©a -; - -529 - } -} - -531  - $»move_fib_l2_adj_’Œy -(* -’Œy -) - -533  -fib_šfo - -’Œy1 -; - -534 - `memýy -(& -’Œy1 -, -’Œy -, ( -fib_šfo -)); - -536  -fib_·th - * -fib_·th_addr - = -’Œy1 -. -·th -[0]; - -537 ià( -fib_·th_addr --> -»fcouÁ - > 1) { - -538 -´štf - - -540 -fib_·th_addr --> -nh_ -, fib_·th_addr-> -out_pÜt -, - -541 -fib_·th_addr --> -»fcouÁ -); - -542 -fib_·th_addr --> -»fcouÁ ---; - -543 - `´štf -("AFTER fib_pathƒntry,‚h_ip %x,…ort %d,„efcount %d\n", - -544 -fib_·th_addr --> -nh_ -, fib_·th_addr-> -out_pÜt -, - -545 -fib_·th_addr --> -»fcouÁ -); - -549  -l2_adj_’Œy - * -adj_addr - = -NULL -; - -550 -adj_addr - = -fib_·th_addr --> -l2_adj_±r -; - -552 ià( -adj_addr - !ð -NULL -) { - -554  -l2_adj_key_v4 - -l2_adj_key - = { - -555 . -Next_hÝ_ - = -fib_·th_addr --> -nh_ -, - -556 . -out_pÜt_id - = -fib_·th_addr --> -out_pÜt -, - -558 #ifdeà -L3FWD_DEBUG - - -559 -´štf - - -561 -l2_adj_key -. -Next_hÝ_ -,†2_adj_key. -out_pÜt_id -, - -562 -adj_addr --> -»fcouÁ -); - -565 - `¹e_hash_d–_key -( -l2_adj_hash_hªdË -, & -l2_adj_key -); - -566 - `¹e_ä“ -( -adj_addr -); - -567 -adj_addr - = -NULL -; - -570  -fib_·th_key_v4 - -·th_key - = { - -571 . -nh_ - = -fib_·th_addr -->nh_ip, - -572 . -out_pÜt - = -fib_·th_addr -->out_port, - -575 -´štf - - -577 -fib_·th_addr --> -nh_ -, fib_·th_addr-> -out_pÜt -, - -578 -fib_·th_addr --> -»fcouÁ -); - -579 - `¹e_hash_d–_key -( -fib_·th_hash_hªdË -, & -·th_key -); - -580 - `¹e_ä“ -( -fib_·th_addr -); - -581 -fib_·th_addr - = -NULL -; - -583 - } -} - -585  -l2_adj_’Œy - * - $pÝuϋ_l2_adj -( -ušt32_t - -addr -, -ušt8_t - -pÜtid -) - -588  -l2_adj_key_v4 - -l2_adj_key -; - -589 -l2_adj_key -. -out_pÜt_id - = -pÜtid -; - -590 -l2_adj_key -. -Next_hÝ_ - = -addr -; - -591 -l2_adj_key -. -fžËr1 - = 0; - -592 -l2_adj_key -. -fžËr2 - = 0; - -593 -l2_adj_key -. -fžËr3 - = 0; - -595  -‘h”_addr - -‘h_d¡ -; - -596  -l2_adj_’Œy - * -adj_d©a - = -NULL -; - -599 -adj_d©a - = - `»Œ›ve_l2_adj_’Œy -( -l2_adj_key -); - -601 ià( -adj_d©a -) { - -603 -´štf - - -605 -l2_adj_key -. -Next_hÝ_ -,†2_adj_key. -out_pÜt_id -, - -606 -adj_d©a --> -»fcouÁ -,‡dj_data); - -607 - `‘h”_addr_cÝy -(& -adj_d©a --> -‘h_addr -, & -‘h_d¡ -); - -608 -adj_d©a --> -»fcouÁ -++; - -609 -´štf - - -611 -l2_adj_key -. -Next_hÝ_ -,†2_adj_key. -out_pÜt_id -, - -612 -adj_d©a --> -»fcouÁ -,‡dj_data); - -613  -adj_d©a -; - -616  -‘h”_addr - -‘h_¤c -; - -617 -l2_phy_š‹rçû_t - * -pÜt -; - -619 -pÜt - = - `ifm_g‘_pÜt -( -pÜtid -); - -621 ià( -pÜt - !ð -NULL -) { - -622 - `memýy -(& -‘h_¤c -, & -pÜt --> -maÿddr -, ( -‘h”_addr -)); - -623 * -p - = (*) -‘h_¤c -. -addr_by‹s -; - -624 - `´štf -("S-MAC %x:%x:%x:%x:%x:%x\n\r", -p -[0],…[1],…[2],…[3], - -625 -p -[4],…[5]); - -627 -ušt32_t - -size - = - -628 - `RTE_CACHE_LINE_ROUNDUP -(( -l2_adj_’Œy -)); - -629 -adj_d©a - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -630 ià( -adj_d©a - =ð -NULL -) { - -631 - `´štf -("L2 Adjacency memory‡llocation failed !\n"); - -632  -NULL -; - -635 -adj_d©a --> -out_pÜt_id - = -pÜtid -; - -636 -adj_d©a --> -Next_hÝ_ - = -addr -; - -637 -adj_d©a --> -»fcouÁ -++; - -639 -adj_d©a --> -phy_pÜt - = -pÜt -; - -640 - `mem£t -(& -adj_d©a --> -‘h_addr -, 0, ( -‘h”_addr -)); - -641 - `mem£t -(& -adj_d©a --> -l2_¡ršg -, 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 -´štf - - -649 -adj_d©a -); - -652 #ifdeà -L2L3_DEBUG - - -653 - `´štf -("\ÀPORT %u IS DOWN...\n", -pÜtid -); - -655  -NULL -; - -658 ià( - `g‘_de¡_mac_fÜ_ÃxthÝ -( -addr -, -pÜtid -, & -‘h_d¡ -)) { - -659 * -p - = (*) -‘h_d¡ -. -addr_by‹s -; - -660 -´štf - - -662 -p -[0],…[1],…[2],…[3],…[4],…[5]); - -664 - `memýy -( -adj_d©a --> -l2_¡ršg -, & -‘h_d¡ -, ( -‘h”_addr -)); - -665 - `memýy -(& -adj_d©a --> -l2_¡ršg -[6], & -‘h_¤c -, - -666 ( -‘h”_addr -)); - -669 - `‘h”_addr_cÝy -(& -‘h_d¡ -, & -adj_d©a --> -‘h_addr -); - -670 -adj_d©a --> -æags - = -L2_ADJ_RESOLVED -; - -672 -adj_d©a --> -æags - = -L2_ADJ_UNRESOLVED -; - -673 -´štf - - -676  -adj_d©a -; - -677 - } -} - -679  -fib_·th - * - $pÝuϋ_fib_·th -( -ušt32_t - -nh_ -, -ušt8_t - -pÜtid -) - -682  -fib_·th_key_v4 - -·th_key -; - -683 -·th_key -. -out_pÜt - = -pÜtid -; - -684 -·th_key -. -nh_ - =‚h_ip; - -685 -·th_key -. -fžËr1 - = 0; - -686 -·th_key -. -fžËr2 - = 0; - -687 -·th_key -. -fžËr3 - = 0; - -689  -fib_·th - * -fib_d©a - = -NULL -; - -692 -fib_d©a - = - `»Œ›ve_fib_·th_’Œy -( -·th_key -); - -694 ià( -fib_d©a -) { - -697 -´štf - - -699 -fib_d©a --> -nh_ -, 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 -´štf - - -705 -fib_d©a --> -nh_ -, fib_d©a-> -out_pÜt -, fib_d©a-> -»fcouÁ -); - -706  -fib_d©a -; - -708 - `´štf -("fib_pathƒntry Doesn't Exists.......\n"); - -711 -fib_d©a - = -NULL -; - -712  -l2_adj_’Œy - * -l2_adj_±r - = -NULL -; - -713 -l2_adj_±r - = - `pÝuϋ_l2_adj -( -nh_ -, -pÜtid -); - -715 ià( -l2_adj_±r -) { - -717 -ušt32_t - -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -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_ - =‚h_ip; - -722 -fib_d©a --> -»fcouÁ -++; - -723 -fib_d©a --> -l2_adj_±r - =†2_adj_ptr; - -725 - `´štf -("%s: g‘…܈d‘až %u %d\n\r", -__FUNCTION__ -, -pÜtid -, - -726 -__LINE__ -); - -728  -¡©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 -´štf - - -735 -fib_d©a --> -nh_ -, fib_d©a-> -out_pÜt -, - -736 -fib_d©a --> -»fcouÁ -); - -738 - `¹e_ä“ -( -fib_d©a -); - -740 -´štf - - -742 -fib_d©a --> -nh_ -, fib_d©a-> -out_pÜt -, - -743 -fib_d©a --> -»fcouÁ -); - -744 -´štf - - -746 -l2_adj_±r -, -fib_d©a -, fib_data->l2_adj_ptr); - -747 -´štf - - -749 -l2_adj_±r -, -fib_d©a -); - -750  -fib_d©a -; - -753 -´štf - - -756  -NULL -; - -757 - } -} - -759  -fib_·th - * - $»Œ›ve_fib_·th_’Œy -( -fib_·th_key_v4 - -·th_key -) - -761 - `´štf -("FIB PATH fÜ NExtHOP IP : %x,…܈:%u\n", -·th_key -. -nh_ -, - -762 -·th_key -. -out_pÜt -); - -764  -fib_·th - * -»t_fib_·th_d©a - = -NULL -; - -765  -»t - = - -766 - `¹e_hash_lookup_d©a -( -fib_·th_hash_hªdË -, & -·th_key -, - -767 (**)& -»t_fib_·th_d©a -); - -768 ià( -»t - < 0) { - -769 -´štf - - -771 -»t -, -EINVAL -, -ENOENT -); - -772  -NULL -; - -774 - `´štf -("FIB PATH ALREADY Exists for NExtHOP IP: %x,…ort: %u\n", - -775 -·th_key -. -nh_ -,…©h_key. -out_pÜt -); - -776  -»t_fib_·th_d©a -; - -778 - } -} - -780  - $™”©e_cuckoo_hash_bË -() - -782 cÚ¡ * -Ãxt_key -; - -783 * -Ãxt_d©a -; - -784 -ušt32_t - -™” - = 0; - -786 - `´štf -("\n\t\t\t FIB_path Cacheable...."); - -787 -´štf - - -789 - `´štf -("\n\tNextHop IP Port Refcount†2_adj_ptr_addrress\n"); - -790 -´štf - - -793  -¹e_hash_™”©e - - -794 ( -fib_·th_hash_hªdË -, & -Ãxt_key -, & -Ãxt_d©a -, & -™” -) >= 0) { - -795  -fib_·th - * -tmp_d©a - = (fib_·th *) -Ãxt_d©a -; - -796  -fib_·th_key_v4 - -tmp_key -; - -797 - `memýy -(& -tmp_key -, -Ãxt_key -, (tmp_key)); - -798 - `´štf -("\ˆ%" -PRIu32 - ".%" PRIu32 ".%" PRIu32 ".%" PRIu32 - -800 ( -tmp_d©a --> -nh_ - & 0xFF000000) >> 24, - -801 ( -tmp_d©a --> -nh_ - & 0x00FF0000) >> 16, - -802 ( -tmp_d©a --> -nh_ - & 0x0000FF00) >> 8, - -803 ( -tmp_d©a --> -nh_ - & 0x000000FF),mp_d©a-> -out_pÜt -, - -804 -tmp_d©a --> -»fcouÁ -,mp_d©a-> -l2_adj_±r -); - -807 -™” - = 0; - -809 - `´štf -("\n\t\t\t L2 ADJ Cacheable....."); - -810 -´štf - - -812 -´štf - - -814 -´štf - - -817  -¹e_hash_™”©e - - -818 ( -l2_adj_hash_hªdË -, & -Ãxt_key -, & -Ãxt_d©a -, & -™” -) >= 0) { - -819  -l2_adj_’Œy - * -l2_d©a - = (l2_adj_’Œy *) -Ãxt_d©a -; - -820  -l2_adj_key_v4 - -l2_key -; - -821 - `memýy -(& -l2_key -, -Ãxt_key -, (l2_key)); - -822 - `´štf -("\ˆ%" -PRIu32 - ".%" PRIu32 ".%" PRIu32 ".%" PRIu32 - -824 ( -l2_d©a --> -Next_hÝ_ - & 0xFF000000) >> 24, - -825 ( -l2_d©a --> -Next_hÝ_ - & 0x00FF0000) >> 16, - -826 ( -l2_d©a --> -Next_hÝ_ - & 0x0000FF00) >> 8, - -827 ( -l2_d©a --> -Next_hÝ_ - & 0x000000FF), - -828 -l2_d©a --> -out_pÜt_id -,†2_d©a-> -l2_¡ršg -[0], - -829 -l2_d©a --> -l2_¡ršg -[1],†2_data->l2_string[2], - -830 -l2_d©a --> -l2_¡ršg -[3],†2_data->l2_string[4], - -831 -l2_d©a --> -l2_¡ršg -[5],†2_data->l2_string[6], - -832 -l2_d©a --> -l2_¡ršg -[7],†2_data->l2_string[8], - -833 -l2_d©a --> -l2_¡ršg -[9],†2_data->l2_string[10], - -834 -l2_d©a --> -l2_¡ršg -[11],†2_d©a-> -phy_pÜt -); - -836 - } -} - -838  - $´št_l3_¡©s -() - -840 - `´štf -("==============================================\n"); - -841 - `´štf -("\t\t L3 STATISTICS \t\n"); - -842 - `´štf -("==============================================\n"); - -843 - `´štf -(" Num oàReûived L3 Pkt  : %lu\n", -¡©s -. -nb_rx_l3_pkt -); - -844 - `´štf -(" Num oàDrݳd L3 Pkt  : %lu\n", -¡©s -. -nb_l3_drÝ_pkt -); - -845 - `´štf -(" Num oàT¿nsm™‹d L3 Pkt  : %lu\n", -¡©s -. -nb_tx_l3_pkt -); - -846 - `´štf -(" Num oàICMP Pkt Rcvd‡ˆL3 : %lu\n", -¡©s -. -nb_rx_l3_icmp_pkt -); - -847 - `´štf -(" Num oàICMP Pkt TxØICMP : %lu\n", -¡©s -. -nb_tx_l3_icmp_pkt -); - -848 -¡©s -. -tÙ®_nb_rx_l3_pkt - = sts. -nb_rx_l3_icmp_pkt - + sts. -nb_rx_l3_pkt -; - -849 -¡©s -. -tÙ®_nb_tx_l3_pkt - = sts. -nb_tx_l3_icmp_pkt - + sts. -nb_tx_l3_pkt -; - -850 - `´štf -(" Total Num of Rcvd…kts‡t L3: %lu\n", - -851 -¡©s -. -tÙ®_nb_rx_l3_pkt -); - -852 - `´štf -(" Total Num of Sent…kts‡t L3: %lu\n", - -853 -¡©s -. -tÙ®_nb_tx_l3_pkt -); - -854 - } -} - -857 - $_loÿl_·ck‘s_´oûss -( -¹e_mbuf - ** -pkt_bur¡ -, -ušt16_t - -nb_rx -, - -858 -ušt64_t - -icmp_pkt_mask -, -l2_phy_š‹rçû_t - * -pÜt -) - -860 - `´oûss_¬picmp_pkt_·r£ -( -pkt_bur¡ -, -nb_rx -, -icmp_pkt_mask -, -pÜt -); - -861 - } -} - -864 - $_fÜw¬d_d–iv” -( -¹e_mbuf - ** -pkt_bur¡ -, -ušt16_t - -nb_pkts -, - -865 -ušt64_t - -v4_fÜw¬d_pkts_mask -, -l2_phy_š‹rçû_t - * -pÜt -) - -867 ià( -L3FWD_DEBUG -) { - -868 -´štf - - -870 -nb_pkts -, -pÜt --> -pmdid -); - -872 -ušt64_t - -pkts_fÜ_´oûss - = -v4_fÜw¬d_pkts_mask -; - -874  -v4_hdr - *ipv4_hdr; - -875 -l2_phy_š‹rçû_t - * -pÜt_±r -[ -RTE_PORT_IN_BURST_SIZE_MAX -]; - -876 -ušt64_t - -h™_mask - = 0; - -878 ; -pkts_fÜ_´oûss -;) { - -880 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -pkts_fÜ_´oûss -); - -881 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -882 -pkts_fÜ_´oûss - &ð~ -pkt_mask -; - -883 -v4_hdr - = - -884 - `¹e_pktmbuf_mtod_off£t -( -pkt_bur¡ -[ -pos -],  -v4_hdr - *, - -885 ( -‘h”_hdr -)); - -887 ià( - `is_v®id_v4_pkt -( -v4_hdr -, -pkt_bur¡ -[ -pos -]-> -pkt_Ën -) < 0) { - -888 - `¹e_pktmbuf_ä“ -( -pkt_bur¡ -[ -pos -]); - -889 -pkt_bur¡ -[ -pos -] = -NULL -; - -890 -v4_fÜw¬d_pkts_mask - &ð~(1LLU << -pos -); - -891 -nb_pkts ---; - -892 -¡©s -. -nb_l3_drÝ_pkt -++; - -896 ià( -L3FWD_DEBUG -) { - -897 -´štf - - -899 -nb_pkts -, -v4_fÜw¬d_pkts_mask -); - -903 - `Ím4_bË_lookup -( -pkt_bur¡ -, -nb_pkts -, -v4_fÜw¬d_pkts_mask -, -pÜt_±r -, - -904 & -h™_mask -); - -906 ; -h™_mask -;) { - -908 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -h™_mask -); - -909 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -910 -h™_mask - &ð~ -pkt_mask -; - -912 -pÜt_±r -[ -pos -]-> - `Œªsm™_sšgË_pkt -(port_ptr[pos], - -913 -pkt_bur¡ -[ -pos -]); - -916 - } -} - -919 - $l3_´ÙocÞ_ty³_add -( -ušt8_t - -´ÙocÞ_ty³ -, - -920 (* -func -è( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -921 -l2_phy_š‹rçû_t - * -pÜt -)) - -923  -´ÙocÞ_ty³ -) { - -924  -IPPROTO_ICMP -: - -925 -´Ùo_ty³ -[ -IP_LOCAL -] = - -926 - `¹e_m®loc -( -NULL -, ( -_´ÙocÞ_ty³ -), - -927 -RTE_CACHE_LINE_SIZE -); - -928 -´Ùo_ty³ -[ -IP_LOCAL -]-> -´ÙocÞ_ty³ - =…rotocol_type; - -929 -´Ùo_ty³ -[ -IP_LOCAL -]-> -func - = func; - -932  -IPPROTO_TCP -: - -933  -IPPROTO_UDP -: - -934 -´Ùo_ty³ -[ -IP_REMOTE -] = - -935 - `¹e_m®loc -( -NULL -, ( -_´ÙocÞ_ty³ -), - -936 -RTE_CACHE_LINE_SIZE -); - -937 -´Ùo_ty³ -[ -IP_REMOTE -]-> -´ÙocÞ_ty³ - =…rotocol_type; - -938 -´Ùo_ty³ -[ -IP_REMOTE -]-> -func - = func; - -943 - } -} - -945  - $l3fwd_rx_v4_·ck‘s -( -¹e_mbuf - ** -m -, -ušt16_t - -nb_pkts -, - -946 -ušt64_t - -v®id_pkts_mask -, -l2_phy_š‹rçû_t - * -pÜt -) - -948 ià( -L3FWD_DEBUG -) { - -949 -´štf - - -951 -nb_pkts -, -pÜt --> -pmdid -); - -953 -ušt64_t - -pkts_fÜ_´oûss - = -v®id_pkts_mask -; - -955  -v4_hdr - *ipv4_hdr; - -956 -ušt32_t - -cÚfigu»_pÜt_ - = 0; - -957 -ušt64_t - -icmp_pkts_mask - = - `RTE_LEN2MASK -( -nb_pkts -, uint64_t); - -958 -ušt64_t - -v4_fÜw¬d_pkts_mask - = - `RTE_LEN2MASK -( -nb_pkts -, uint64_t); - -959 -ušt16_t - -nb_icmp_pkt - = 0; - -960 -ušt16_t - -nb_l3_pkt - = 0; - -962 ià( -pÜt --> -v4_li¡ - !ð -NULL -) - -963 -cÚfigu»_pÜt_ - = - -964 ( -ušt32_t -è((( -v4li¡_t - *è( -pÜt --> -v4_li¡ -))-> -addr -); - -966 ; -pkts_fÜ_´oûss -;) { - -968 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -pkts_fÜ_´oûss -); - -969 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -970 -pkts_fÜ_´oûss - &ð~ -pkt_mask -; - -971 -v4_hdr - = - -972 - `¹e_pktmbuf_mtod_off£t -( -m -[ -pos -],  -v4_hdr - *, - -973 ( -‘h”_hdr -)); - -975 ià(( -v4_hdr --> -Ãxt_´Ùo_id - =ð -IPPROTO_ICMP -) - -976 && ( -v4_hdr --> -d¡_addr - =ð -cÚfigu»_pÜt_ -)) { - -977 -v4_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 -´štf - - -991 -´Ùo_ty³ -[ -IP_LOCAL -]-> - `func -( -m -, -nb_icmp_pkt -, -icmp_pkts_mask -, - -992 -pÜt -); - -995 ià( -v4_fÜw¬d_pkts_mask -) { - -996 ià( -L3FWD_DEBUG -) - -997 -´štf - - -999 -´Ùo_ty³ -[ -IP_REMOTE -]-> - `func -( -m -, -nb_l3_pkt -, - -1000 -v4_fÜw¬d_pkts_mask -, -pÜt -); - -1002 - } -} - -1005 - $»sÞve_l2_adj -( -ušt32_t - -ÃxthÝ_ -, -ušt8_t - -out_pÜt_id -, - -1006 cÚ¡  -‘h”_addr - * -hw_addr -) - -1008  -l2_adj_key_v4 - -l2_adj_key - = { - -1009 . -Next_hÝ_ - = -ÃxthÝ_ -, - -1010 . -out_pÜt_id - = out_port_id, - -1014  -l2_adj_’Œy - * -adj_d©a - = - `»Œ›ve_l2_adj_’Œy -( -l2_adj_key -); - -1016 ià( -adj_d©a -) { - -1018 -´štf - - -1020 -l2_adj_key -. -Next_hÝ_ -,†2_adj_key. -out_pÜt_id -, - -1021 -adj_d©a --> -»fcouÁ -,‡dj_data); - -1023 ià( -adj_d©a --> -æags - =ð -L2_ADJ_UNRESOLVED - - -1024 || - `memcmp -( -hw_addr -, & -adj_d©a --> -‘h_addr -, - -1025 ( -‘h”_addr -))) { - -1026 - `memýy -( -adj_d©a --> -l2_¡ršg -, -hw_addr -, ( -‘h”_addr -)); - -1027 - `memýy -(& -adj_d©a --> -l2_¡ršg -[6], - -1028 & -adj_d©a --> -phy_pÜt --> -maÿddr -, - -1029 ( -‘h”_addr -)); - -1032 - `‘h”_addr_cÝy -( -hw_addr -, & -adj_d©a --> -‘h_addr -); - -1033 -adj_d©a --> -æags - = -L2_ADJ_RESOLVED -; - -1039 -l2_phy_š‹rçû_t - * -pÜt -; - -1040 -pÜt - = - `ifm_g‘_pÜt -( -out_pÜt_id -); - -1041 ià( -pÜt - !ð -NULL -) { - -1043 -ušt32_t - -size - = - -1044 - `RTE_CACHE_LINE_ROUNDUP -(( -l2_adj_’Œy -)); - -1045 -adj_d©a - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -1046 ià( -adj_d©a - =ð -NULL -) { - -1047 - `´štf -("L2 Adjacency memory‡llocation failed !\n"); - -1051 -adj_d©a --> -out_pÜt_id - = out_port_id; - -1052 -adj_d©a --> -Next_hÝ_ - = -ÃxthÝ_ -; - -1053 -adj_d©a --> -phy_pÜt - = -pÜt -; - -1055 - `memýy -( -adj_d©a --> -l2_¡ršg -, -hw_addr -, ( -‘h”_addr -)); - -1056 - `memýy -(& -adj_d©a --> -l2_¡ršg -[6], &adj_d©a-> -phy_pÜt --> -maÿddr -, - -1057 ( -‘h”_addr -)); - -1060 - `‘h”_addr_cÝy -( -hw_addr -, & -adj_d©a --> -‘h_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 -´štf - - -1067 -adj_d©a -); - -1069 - `´štf -("PORT:%u IS DOWN...\n", -out_pÜt_id -); - -1072 - } -} - -1074 -ušt8_t - - $_hash_lßd_b®ªû -( -¹e_mbuf - * -mbuf -) - -1076 -ušt32_t - -¤c_addr_off£t - = - -1077 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_SRC_ADR_OFST -; - -1078 -ušt32_t - -d¡_addr_off£t - = - -1079 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -1080 -ušt32_t - * -d¡_addr - = -NULL -; - -1081 -ušt32_t - * -¤c_addr - = -NULL -; - -1082 -¤c_addr - = - -1083 ( -ušt32_t - *è - `RTE_MBUF_METADATA_UINT8_PTR -( -mbuf -, -¤c_addr_off£t -); - -1084 -d¡_addr - = - -1085 ( -ušt32_t - *è - `RTE_MBUF_METADATA_UINT8_PTR -( -mbuf -, -d¡_addr_off£t -); - -1087 -ušt32_t - -hash_key1 - = * -¤c_addr -; - -1088 -ušt32_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 - `´štf -("Hash ResuÉ_key: %d, \n", -hash_key1 -); - -1104  -hash_key1 -; - -1105 - } -} - -1107 -ušt32_t - - $rÙr32 -( -ušt32_t - -v®ue -,  -couÁ -) - -1109 cÚ¡  -mask - = ( -CHAR_BIT - * ( -v®ue -) - 1); - -1110 -couÁ - &ð -mask -; - -1111  ( -v®ue - >> -couÁ -è| (v®u<< ((-couÁè& -mask -)); - -1112 - } -} - -1115 - $_loÿl_out_d–iv” -( -¹e_mbuf - ** -pkt_bur¡ -, -ušt16_t - -nb_rx -, - -1116 -ušt64_t - -v4_pkts_mask -, -l2_phy_š‹rçû_t - * -pÜt -) - -1118 - `_fÜw¬d_d–iv” -( -pkt_bur¡ -, -nb_rx -, -v4_pkts_mask -, -pÜt -); - -1119 - } -} - - @VIL/l2l3_stack/l3fwd_lpm4.h - -21 #iâdeà -L3FWD_LPM_H - - -22  - #L3FWD_LPM_H - - - ) - -24  - ~<¡dio.h -> - -25  - ~<¡dlib.h -> - -26  - ~<¡dšt.h -> - -27  - ~<š‰y³s.h -> - -28  - ~ - -29  - ~<¡ršg.h -> - -30  - ~ - -31  - ~<¡d¬g.h -> - -32  - ~<”ºo.h -> - -33  - ~ - -34  - ~<¡dboÞ.h -> - -36  - ~<¹e_debug.h -> - -37  - ~<¹e_memÜy.h -> - -38  - ~<¹e_‘h”.h -> - -39  - ~<¹e_‘hdev.h -> - -40  - ~<¹e_ršg.h -> - -41  - ~<¹e_mempoÞ.h -> - -42  - ~<¹e_cyþes.h -> - -43  - ~<¹e_mbuf.h -> - -44  - ~<¹e_.h -> - -45  - ~<¹e_tý.h -> - -46  - ~<¹e_udp.h -> - -47  - ~<¹e_Ím.h -> - -48  - ~<¹e_Ím6.h -> - -49  - ~"l3fwd_commÚ.h -" - -50  - ~"l3fwd_Ím6.h -" - -51  - ~"š‹rçû.h -" - -57  - #MBUF_HDR_ROOM - 256 - - ) - -60  - #ETH_HDR_SIZE - 14 - - ) - -61  - #IP_HDR_SIZE - 20 - - ) - -62  - #IP_HDR_DST_ADR_OFST - 16 - - ) - -63  - #IP_HDR_SRC_ADR_OFST - 12 - - ) - -66  - #IPV4_L3FWD_LPM_MAX_RULES - 256 - - ) - -67  - #IPV4_L3FWD_LPM_NUMBER_TBL8S - (1 << 8è - - ) - -68  - #MAX_FIB_PATHS - 8 - - ) - -69  - #IP_LOCAL - 0 - - ) - -70  - #IP_REMOTE - 1 - - ) - -73  - #MAX_SUPPORTED_FIB_PATHS - 8 - - ) - -74  - #HASH_BUCKET_SIZE - 64 - - ) - -77  - #L2_ADJ_RESOLVED - 0x00 - - ) - -78  - #L2_ADJ_UNRESOLVED - 0x01 - - ) - -83  - sroutšg_šfo - { - -84 -ušt32_t - - md¡__addr -; - -85 -ušt8_t - - md•th -; - -86 -ušt32_t - - mm‘ric -; - -87 -ušt32_t - - mfib_nh_size -; - -88 -ušt32_t - - mnh__addr -[ -MAX_FIB_PATHS -]; - -89 -ušt8_t - - mout_pÜt -[ -MAX_FIB_PATHS -]; - -90 } - g__¹e_ÿche_®igÃd -; - -96  - sfib_·th - { - -97 -ušt32_t - - mnh_ -; - -98 -ušt8_t - - mout_pÜt -; - -99 -ušt32_t - - m»fcouÁ -; - -100  -l2_adj_’Œy - * - ml2_adj_±r -; - -101 } - g__¹e_ÿche_®igÃd -; - -107  - sfib_šfo - { - -108 -ušt32_t - - md¡__addr -; - -109 -ušt32_t - - mm‘ric -; - -110 -ušt32_t - - mfib_nh_size -; - -111 -ušt8_t - - md•th -; - -112  -fib_·th - * - m·th -[ -MAX_FIB_PATHS -]; - -113 } - g__¹e_ÿche_®igÃd -; - -118  - sl2_adj_’Œy - { - -119  -‘h”_addr - - m‘h_addr -; - -120 -ušt32_t - - mNext_hÝ_ -; - -121 -ušt8_t - - mout_pÜt_id -; - -122 -ušt32_t - - m»fcouÁ -; - -123 -ušt8_t - - ml2_¡ršg -[256]; - -124 -l2_phy_š‹rçû_t - * - mphy_pÜt -; - -125 -ušt8_t - - mæags -; - -126 } - g__¹e_ÿche_®igÃd -; - -131  - sfib_·th_key_v4 - { - -132 -ušt32_t - - mnh_ -; - -133 -ušt8_t - - mout_pÜt -; - -134 -ušt8_t - - mfžËr1 -; - -135 -ušt8_t - - mfžËr2 -; - -136 -ušt8_t - - mfžËr3 -; - -142  - sl2_adj_key_v4 - { - -143 -ušt32_t - - mNext_hÝ_ -; - -144 -ušt8_t - - mout_pÜt_id -; - -145 -ušt8_t - - mfžËr1 -; - -146 -ušt8_t - - mfžËr2 -; - -147 -ušt8_t - - mfžËr3 -; - -153  - sroutšg_bË_’Œy - { - -154 -ušt32_t - - m -; - -155 -ušt8_t - - mpÜt_id -; - -156  -l2_adj_’Œy - * - ml2_adj_±r -; - -157 } - g__¹e_ÿche_®igÃd -; - -162  - sl3fwd_¡©s - { - -163 -ušt64_t - - mnb_rx_l3_pkt -; - -164 -ušt64_t - - mnb_tx_l3_pkt -; - -165 -ušt64_t - - mnb_rx_l3_icmp_pkt -; - -167 -ušt64_t - - mnb_tx_l3_icmp_pkt -; - -169 -ušt64_t - - mnb_l3_drÝ_pkt -; - -170 -ušt64_t - - mtÙ®_nb_rx_l3_pkt -; - -172 -ušt64_t - - mtÙ®_nb_tx_l3_pkt -; - -174 } - tl3_¡©s_t -; - -176  - s_´ÙocÞ_ty³ - { - -177 -ušt8_t - - m´ÙocÞ_ty³ -; - -178 (* - mfunc -è( - m¹e_mbuf - **, - mušt16_t -, - mušt64_t -, - -179 - ml2_phy_š‹rçû_t - *); - -180 } - g__¹e_ÿche_®igÃd -; - -189  -Ím_š™ -(); - -198  -Ím4_bË_rou‹_add -( -routšg_šfo - * -šput_¬¿y -); - -209  -Ím4_bË_rou‹_d–‘e -( -ušt32_t - - -, -ušt8_t - -d•th -); - -222  -Ím4_bË_lookup -( -¹e_mbuf - ** -pkts_bur¡ -, -ušt16_t - -nb_pkts -, - -223 -ušt64_t - -v®id_pkts_mask -, - -224 -l2_phy_š‹rçû_t - * -pÜt -[ -RTE_PORT_IN_BURST_SIZE_MAX -], - -225 -ušt64_t - * -h™_mask -); - -236  -is_v®id_v4_pkt -( -v4_hdr - * -pkt -, -ušt32_t - -lšk_Ën -); - -251  -l3fwd_rx_v4_·ck‘s -( -¹e_mbuf - ** -m -, -ušt16_t - -nb_pkts -, - -252 -ušt64_t - -pkt_mask -, -l2_phy_š‹rçû_t - * -pÜt -); - -265  -g‘_de¡_mac_fÜ_ÃxthÝ -( -ušt32_t - -Ãxt_hÝ_ -, - -266 -ušt8_t - -out_phy_pÜt -,  -‘h”_addr - * -hw_addr -); - -276  -l2_adj_’Œy - * -»Œ›ve_l2_adj_’Œy -( -l2_adj_key_v4 - -l2_adj_key -); - -288  -l2_adj_’Œy - * -pÝuϋ_l2_adj -( -ušt32_t - -addr -, -ušt8_t - -pÜtid -); - -299  -fib_·th - * -pÝuϋ_fib_·th -( -ušt32_t - -nh_ -, -ušt8_t - -pÜtid -); - -310  -fib_·th - * -»Œ›ve_fib_·th_’Œy -( -fib_·th_key_v4 - -·th_key -); - -317  -»move_fib_l2_adj_’Œy -(*); - -324  -™”©e_cuckoo_hash_bË -(); - -331  -´št_l3_¡©s -(); - -341 -ušt8_t - -_hash_lßd_b®ªû -( -¹e_mbuf - * -mbuf -); - -353 -ušt32_t - -rÙr32 -(ušt32_ˆ -v®ue -,  -couÁ -); - -356 -»sÞve_l2_adj -( -ušt32_t - -ÃxthÝ_ -, -ušt8_t - -out_pÜt_id -, - -357 cÚ¡  -‘h”_addr - * -hw_addr -); - -360 -l3_´ÙocÞ_ty³_add -( -ušt8_t - -´ÙocÞ_ty³ -, - -361 (* -func -è( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -362 -l2_phy_š‹rçû_t - *)); - -365 - `_loÿl_·ck‘s_´oûss -( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -366 -l2_phy_š‹rçû_t - *); - -367  - `_loÿl_out_d–iv” -( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -368 -l2_phy_š‹rçû_t - *); - -371 - `_fÜw¬d_d–iv” -( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -372 -l2_phy_š‹rçû_t - *); - - @VIL/l2l3_stack/l3fwd_lpm6.c - -17  - ~"l3fwd_commÚ.h -" - -18  - ~"l3fwd_Ím4.h -" - -19  - ~"l3fwd_Ím6.h -" - -20  - ~"l3fwd_commÚ.h -" - -21  - ~"š‹rçû.h -" - -22  - ~"l2_´Ùo.h -" - -23  - ~"lib_¬p.h -" - -24  - ~"lib_icmpv6.h -" - -29 * - gÍm6_bË -; - -30  -¹e_hash - * - gl2_adj_v6_hash_hªdË -; - -31  -¹e_hash - * - gfib_·th_v6_hash_hªdË -; - -32 -ušt8_t - -nh_lšks -[ -MAX_SUPPORTED_FIB_PATHS -][ -HASH_BUCKET_SIZE -]; - -33 -l3_¡©s_t - -¡©s -; - -35  -v6_´ÙocÞ_ty³ - * - g´Ùo_ty³ -[2]; - -37  - $Ím6_š™ -() - -42  -¹e_bË_Ím_v6_·¿ms - -Ím6_·¿ms - = { - -43 . -Çme - = "LPMv6", - -44 . -n_ruËs - = -IPV6_L3FWD_LPM_MAX_RULES -, - -45 . -numb”_tbl8s - = -IPV6_L3FWD_LPM_NUMBER_TBL8S -, - -46 . -’Œy_unique_size - = ( -v6_fib_šfo -), - -47 . -off£t - = 128, - -51 -Ím6_bË - = - -52 -¹e_bË_Ím_v6_Ýs -. - `f_ü—‹ -(& -Ím6_·¿ms -, - `¹e_sock‘_id -(), - -53 ( -v6_fib_šfo -)); - -54 ià( -Ím6_bË - =ð -NULL -) { - -55 - `´štf -("Failedo create LPM IPV6able\n"); - -60  -¹e_hash_·¿m‘”s - -l2_adj_v6_·¿ms - = { - -61 . -Çme - = "l2_ADJ_IPV6_HASH", - -62 . -’Œ›s - = 64, - -63 . -key_Ën - = ( -l2_adj_key_v6 -), - -64 . -hash_func - = -¹e_jhash -, - -65 . -hash_func_š™_v® - = 0, - -68 -l2_adj_v6_hash_hªdË - = - `¹e_hash_ü—‹ -(& -l2_adj_v6_·¿ms -); - -69 ià( -l2_adj_v6_hash_hªdË - =ð -NULL -) { - -70 - `´štf -("ND for IPV6„te_hash_create failed.\n"); - -73 - `´štf -("ND IPV6_hash_handle %p\n\n", - -74 (*) -l2_adj_v6_hash_hªdË -); - -78  -¹e_hash_·¿m‘”s - -fib_·th_v6_·¿ms - = { - -79 . -Çme - = "FIB_PATH_IPV6_HASH", - -80 . -’Œ›s - = 64, - -81 . -key_Ën - = ( -fib_·th_key_v6 -), - -82 . -hash_func - = -¹e_jhash -, - -83 . -hash_func_š™_v® - = 0, - -84 . -exŒa_æag - = 1, - -88 -fib_·th_v6_hash_hªdË - = - `¹e_hash_ü—‹ -(& -fib_·th_v6_·¿ms -); - -90 ià( -fib_·th_v6_hash_hªdË - =ð -NULL -) { - -91 - `´štf -("FIB…ath„te_hash_create failed\n"); - -95 - } -} - -97  - $Ím6_bË_rou‹_add -( -v6_routšg_šfo - * -d©a -) - -100  -v6_routšg_šfo - * -fib - = -d©a -; - -102  -¹e_bË_Ím_v6_key - -Ím6_key -; - -103 -ušt8_t - -i -; - -104  -i - = 0; i < 16; i++) { - -105 -Ím6_key -. - -[ -i -] = -fib --> -d¡_v6 -[i]; - -107 -Ím6_key -. -d•th - = -fib -->depth; - -109  -TÙ®_rou‹_couÁ -; - -110  -v6_fib_šfo - -’Œy -; - -111  -i - = 0; i < 16; i++) { - -112 -’Œy -. -d¡_v6 -[ -i -] = -fib -->dst_ipv6[i]; - -114 -’Œy -. -d•th - = -fib -->depth; - -115 -’Œy -. -fib_nh_size - = -fib -->fib_nh_size; - -117 #ià -MULTIPATH_FEAT - - -118 ià( -’Œy -. -fib_nh_size - =ð0 ||ƒÁry.fib_nh_siz> -MAX_FIB_PATHS -) - -120 ià( -’Œy -. -fib_nh_size - != 1) - -123 -´štf - - -125 -’Œy -. -fib_nh_size -); - -130 #ià -MULTIPATH_FEAT - - -131  -i - = 0; i < -’Œy -. -fib_nh_size -; i++) - -133  -i - = 0; i < 1; i++) - -136  -v6_fib_·th - * -v6_fib_·th_addr - = -NULL -; - -137 -v6_fib_·th_addr - = - -138 - `pÝuϋ_v6_fib_·th -( -fib --> -nh_v6 -[ -i -], fib-> -out_pÜt -[i]); - -140 ià( -v6_fib_·th_addr -) { - -141 -’Œy -. -·th -[ -i -] = -v6_fib_·th_addr -; - -142 - `´štf -("Fib…ath for IPv6 destination = " - -145 -Ím6_key -. - -[0],†pm6_key.ip[1],†pm6_key.ip[2], - -146 -Ím6_key -. - -[3],†pm6_key.ip[4],†pm6_key.ip[5], - -147 -Ím6_key -. - -[6],†pm6_key.ip[7],†pm6_key.ip[8], - -148 -Ím6_key -. - -[9],†pm6_key.ip[10],†pm6_key.ip[11], - -149 -Ím6_key -. - -[12],†pm6_key.ip[13], - -150 -Ím6_key -. - -[14],†pm6_key.[15], -fib --> -d•th -, - -151 -v6_fib_·th_addr -, - -152 (*) -’Œy -. -·th -[ -i -]-> -l2_adj_v6_±r -); - -154 - `´štf -("Fib…ath for IPv6 destination = " - -157 -Ím6_key -. - -[0],†pm6_key.ip[1],†pm6_key.ip[2], - -158 -Ím6_key -. - -[3],†pm6_key.ip[4],†pm6_key.ip[5], - -159 -Ím6_key -. - -[6],†pm6_key.ip[7],†pm6_key.ip[8], - -160 -Ím6_key -. - -[9],†pm6_key.ip[10],†pm6_key.ip[11], - -161 -Ím6_key -. - -[12],†pm6_key.ip[13], - -162 -Ím6_key -. - -[14],†pm6_key.[15], -fib --> -d•th -); - -163 -’Œy -. -·th -[ -i -] = -NULL -; - -167  -key_found -, -»t -; - -168 * -’Œy_±r -; - -171 - `´štf -("%s, Lš%u \n", -__FUNCTION__ -, -__LINE__ -); - -173 -»t - = - -174 -¹e_bË_Ím_v6_Ýs -. - `f_add -( -Ím6_bË -, (*)& -Ím6_key -, & -’Œy -, - -175 & -key_found -, & -’Œy_±r -); - -176 - `´štf -("%s, Lš%u \n", -__FUNCTION__ -, -__LINE__ -); - -178 ià( -»t -) { - -179 - `´štf -("Failedo Add IP„oute in LPMv6\n"); - -182 - `´štf -("Added„outeo IPv6 LPMable (IPv6 destination = " - -185 -Ím6_key -. - -[0],†pm6_key.ip[1],†pm6_key.ip[2],†pm6_key.ip[3], - -186 -Ím6_key -. - -[4],†pm6_key.ip[5],†pm6_key.ip[6],†pm6_key.ip[7], - -187 -Ím6_key -. - -[8],†pm6_key.ip[9],†pm6_key.ip[10],†pm6_key.ip[11], - -188 -Ím6_key -. - -[12],†pm6_key.ip[13],†pm6_key.ip[14], - -189 -Ím6_key -. - -[15], -fib --> -d•th -); - -191 -TÙ®_rou‹_couÁ -++; - -192 - `´štf -("TÙ® Rou‹d Added : %u, Key_found: %d\n", -TÙ®_rou‹_couÁ -, - -193 -key_found -); - -195 ià( -TÙ®_rou‹_couÁ - == 2) - -196 - `v6_™”©e__hash_bË -(); - -199 - } -} - -202 - $Ím6_bË_rou‹_d–‘e -( -ušt8_t - -d¡_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -], ušt8_ˆ -d•th -) - -206  -¹e_bË_Ím_v6_key - -Ím6_key -; - -207 - `memýy -(& -Ím6_key -. - -, & -d¡_v6 -, ( -RTE_LPM_IPV6_ADDR_SIZE -)); - -208 -Ím6_key -. -d•th - = depth; - -209  -key_found -, -»t -; - -210 * -’Œy - = -NULL -; - -211 -’Œy - = - `¹e_zm®loc -( -NULL -, 512, -RTE_CACHE_LINE_SIZE -); - -213 -»t - = - -214 -¹e_bË_Ím_v6_Ýs -. - `f_d–‘e -( -Ím6_bË -, & -Ím6_key -, & -key_found -, - -215 -’Œy -); - -217 ià( -»t -) { - -218 - `´štf -("Failedo Delete IP„oute from LPMv6able\n"); - -222 - `´štf -("Deleted„oute from IPv6 LPMable (IPv6 destination = " - -225 -Ím6_key -. - -[0],†pm6_key.ip[1],†pm6_key.ip[2],†pm6_key.ip[3], - -226 -Ím6_key -. - -[4],†pm6_key.ip[5],†pm6_key.ip[6],†pm6_key.ip[7], - -227 -Ím6_key -. - -[8],†pm6_key.ip[9],†pm6_key.ip[10],†pm6_key.ip[11], - -228 -Ím6_key -. - -[12],†pm6_key.ip[13],†pm6_key.ip[14], - -229 -Ím6_key -. - -[15],†pm6_key. -d•th -, -key_found -); - -232 - `»move_v6_fib_l2_adj_’Œy -( -’Œy -); - -233 - `¹e_ä“ -( -’Œy -); - -235 - } -} - -238 - $Ím6_bË_lookup -( -¹e_mbuf - ** -pkts_bur¡ -, - -239 -ušt16_t - -nb_pkts -, - -240 -ušt64_t - -pkts_mask -, - -241 -l2_phy_š‹rçû_t - * -pÜt_±r -[ -RTE_PORT_IN_BURST_SIZE_MAX -], - -242 -ušt64_t - * -h™_mask -) - -244  -v6_routšg_bË_’Œy - - -245 * -v6_’Œ›s -[ -RTE_PORT_IN_BURST_SIZE_MAX -]; - -246 -ušt64_t - -lookup_h™_mask_v6 - = 0; - -247  -¡©us -; - -248 -ušt64_t - -lookup_miss_mask - = -pkts_mask -; - -250 -ušt32_t - -d¡_addr_off£t - = - -251 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST_IPV6 -; - -252 -ušt64_t - -pkts_key_mask - = -pkts_mask -; - -255 ; -pkts_key_mask -;) { - -257 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -pkts_key_mask -); - -258 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -259 -pkts_key_mask - &ð~ -pkt_mask -; - -261 -ušt8_t - * -Ím6_key -; - -262 -ušt8_t - -d¡_addr -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -263 - `memýy -( -d¡_addr -, - -264 ( -ušt8_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št8_t - *è - `RTE_MBUF_METADATA_UINT8_PTR -( -pkts_bur¡ -[ -pos -], - -270 - `memýy -( -Ím6_key -, -d¡_addr -, -RTE_LPM_IPV6_ADDR_SIZE -); - -273 - `´štf -(" IPV6 Lookup Mask Before = %p,‚b_pkts :%u\n", - -274 (*) -pkts_mask -, -nb_pkts -); - -275 -¡©us - = - -276 -¹e_bË_Ím_Ýs -. - `f_lookup -( -Ím6_bË -, -pkts_bur¡ -, -pkts_mask -, - -277 & -lookup_h™_mask_v6 -, - -278 (**) -v6_’Œ›s -); - -279 ià( -¡©us -) { - -280 - `´štf -("LPM Lookup failed for IP„oute\n"); - -283 - `´štf -(" IPV6 Looku°Mask Aᔠ= %p\n", (*) -lookup_h™_mask_v6 -); - -284 -lookup_miss_mask - =†ookup_miss_mask & (~ -lookup_h™_mask_v6 -); - -285 ià( -L3FWD_DEBUG -) { - -286 - `´štf -("AFTER†ookup_hit_mask = %p,†ookup_miss_mask =%p\n", - -287 (*) -lookup_h™_mask_v6 -, (*) -lookup_miss_mask -); - -290 ; -lookup_miss_mask -;) { - -292 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -lookup_miss_mask -); - -293 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -294 -lookup_miss_mask - &ð~ -pkt_mask -; - -295 - `¹e_pktmbuf_ä“ -( -pkts_bur¡ -[ -pos -]); - -296 -pkts_bur¡ -[ -pos -] = -NULL -; - -297 ià( -L3FWD_DEBUG -) - -298 - `´štf -("\n DROP PKT IPV4 Lookup_miss_Mask = %p\n", - -299 (*) -lookup_miss_mask -); - -302 * -h™_mask - = -lookup_h™_mask_v6 -; - -303 ; -lookup_h™_mask_v6 -;) { - -304 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -lookup_h™_mask_v6 -); - -305 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -306 -lookup_h™_mask_v6 - &ð~ -pkt_mask -; - -307  -¹e_mbuf - * -pkt - = -pkts_bur¡ -[ -pos -]; - -309  -v6_fib_šfo - * -’Œy - = - -310 ( -v6_fib_šfo - *) -v6_’Œ›s -[ -pos -]; - -312 #ià -MULTIPATH_FEAT - - -314 -ušt8_t - -ecmp_·th - = - `v6_hash_lßd_b®ªû -( -pkts_bur¡ -[ -pos -]); - -315 -ušt8_t - -£Ëùed_·th - = 0; - -316  -v6_fib_·th - * -fib_·th - = -NULL -; - -317 ià((( -’Œy --> -fib_nh_size - != 0) - -318 && ( -’Œy --> -fib_nh_size - - 1è< -MAX_SUPPORTED_FIB_PATHS -) - -319 && (( -ecmp_·th - !ð0è&& (ecmp_·th - 1è< -HASH_BUCKET_SIZE -)) - -320 -£Ëùed_·th - = - -321 -nh_lšks -[ -’Œy --> -fib_nh_size - - 1][ -ecmp_·th - - 1]; - -322 ià( -£Ëùed_·th - < -MAX_FIB_PATHS -) - -323 -fib_·th - = -’Œy --> -·th -[ -£Ëùed_·th -]; - -324 -´štf - - -326 -’Œy --> -fib_nh_size -, -ecmp_·th -, -£Ëùed_·th -); - -328  -v6_fib_·th - * -fib_·th - = -’Œy --> -·th -[0]; - -330 ià( -fib_·th - =ð -NULL -) { - -331 - `´štf -("Fib_path is NULL, ND has‚ot„esolved\n"); - -332 - `¹e_pktmbuf_ä“ -( -pkt -); - -333 -pkts_bur¡ -[ -pos -] = -NULL -; - -334 -¡©s -. -nb_l3_drÝ_pkt -++; - -335 * -h™_mask - &ð~ -pkt_mask -; - -336 -´štf - - -341 ià( -fib_·th --> -l2_adj_v6_±r --> -æags - =ð -L2_ADJ_UNRESOLVED -) { - -342 - `¹e_pktmbuf_ä“ -( -pkts_bur¡ -[ -pos -]); - -343 -pkts_bur¡ -[ -pos -] = -NULL -; - -344 * -h™_mask - &ð~ -pkt_mask -; - -345 ià( -L3FWD_DEBUG -) - -346 -´štf - - -351 -ušt8_t - * -‘h_de¡ - = - -352 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -MBUF_HDR_ROOM -); - -353 -ušt8_t - * -‘h_¤c - = - -354 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -MBUF_HDR_ROOM - + 6); - -355 ià( -L3FWD_DEBUG -) { - -356 -´štf - - -361 -‘h_de¡ -[0],ƒth_dest[1],ƒth_dest[2], - -362 -‘h_de¡ -[3], - -363 -‘h_de¡ -[4],ƒth_de¡[5], -‘h_¤c -[0], - -364 -‘h_¤c -[1], - -365 -‘h_¤c -[2],ƒth_src[3], - -366 -‘h_¤c -[4],ƒth_src[5]); - -370 - `memýy -( -‘h_de¡ -, -fib_·th --> -l2_adj_v6_±r --> -l2_¡ršg -, - -371 ( -‘h”_addr -) * 2 + 2); - -373 ià( -L3FWD_DEBUG -) { - -374 -´štf - - -377 "%02x:%02x\n", -‘h_de¡ -[0], - -378 -‘h_de¡ -[1],ƒth_dest[2],ƒth_dest[3], - -379 -‘h_de¡ -[4], - -380 -‘h_de¡ -[5], -‘h_¤c -[0],ƒth_src[1], - -381 -‘h_¤c -[2], - -382 -‘h_¤c -[3],ƒth_src[4],ƒth_src[5]); - -384 -pÜt_±r -[ -pos -] = -fib_·th --> -l2_adj_v6_±r --> -phy_pÜt -; - -387 ià( -L3FWD_DEBUG -) - -388 - `´štf -("Successfully sento…ort %u \n\r", - -389 -fib_·th --> -out_pÜt -); - -392 - } -} - -394  - $l3fwd_rx_v6_·ck‘s -( -¹e_mbuf - ** -m -, -ušt16_t - -nb_pkts -, - -395 -ušt64_t - -v®id_pkts_mask -, -l2_phy_š‹rçû_t - * -pÜt -) - -397 ià(! -pÜt -) - -399 ià( -L3FWD_DEBUG -) { - -400 -´štf - - -402 -PRIu64 - "\n", -nb_pkts -, -pÜt --> -pmdid -, -v®id_pkts_mask -); - -404 -ušt64_t - -pkts_fÜ_´oûss - = -v®id_pkts_mask -; - -406  -v6_hdr - *ipv6_hdr; - -408 -ušt64_t - -icmp_pkts_mask - = -v®id_pkts_mask -; - -409 -ušt64_t - -v6_fÜw¬d_pkts_mask - = -v®id_pkts_mask -; - -410 -ušt16_t - -nb_icmpv6_pkt - = 0; - -411 -ušt16_t - -nb_l3_pkt - = 0; - -413 -ušt8_t - -cÚfigu»d_pÜt_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -] = { 0 }; - -414 -št8_t - -sÞic™ed_node_muÉiÿ¡_addr -[ -RTE_LPM_IPV6_ADDR_SIZE -] = { - -417 -ušt8_t - -de¡_v6_addr -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -419 - `mem£t -( -de¡_v6_addr -, 0, -RTE_LPM_IPV6_ADDR_SIZE -); - -421 - `´štf -("\n% : LINE # %u\n", -__FUNCTION__ -, -__LINE__ -); - -422  -ii -; - -423 ià( -pÜt --> -v6_li¡ - !ð -NULL -) { - -424  -ii - = 0; ii < 16; ii += 1) { - -425 -cÚfigu»d_pÜt_v6 -[ -ii -] = - -426 (( -v6li¡_t - *è( -pÜt --> -v6_li¡ -))-> -addr -[ -ii -]; - -431  -ii - = 0; ii < 16; ii += 2) { - -432 ià( -pÜt - &&…Üt-> -v6_li¡ -) - -433 - `´štf -("%02X%02X ", - -434 (( -v6li¡_t - *è( -pÜt --> -v6_li¡ -))-> -addr -[ -ii -], - -435 (( -v6li¡_t - *è( -pÜt --> -v6_li¡ -))-> -addr -[ -ii - + - -439 - `´štf -("\n% : LINE # %u\n", -__FUNCTION__ -, -__LINE__ -); - -440  -ii - = 0; ii < 16; ii += 2) { - -441 - `´štf -("%02X%02X ", -cÚfigu»d_pÜt_v6 -[ -ii -], - -442 -cÚfigu»d_pÜt_v6 -[ -ii - + 1]); - -445 ; -pkts_fÜ_´oûss -;) { - -447 - `´štf -("\n% : LINE # %u\n", -__FUNCTION__ -, -__LINE__ -); - -448 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -pkts_fÜ_´oûss -); - -449 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -450 -pkts_fÜ_´oûss - &ð~ -pkt_mask -; - -453 - `´štf -("\n% : LINE #%u, POS%u\n", -__FUNCTION__ -, -__LINE__ -, - -454 -pos -); - -456 ià( -m -[ -pos -] =ð -NULL -) { - -457 - `´štf -("\n%s : M_POS IS NULLLLLLL, LINE: %u\n", - -458 -__FUNCTION__ -, -__LINE__ -); - -461 -v6_hdr - = - -462 - `¹e_pktmbuf_mtod_off£t -( -m -[ -pos -],  -v6_hdr - *, - -463 ( -‘h”_hdr -)); - -464 - `´štf -("\n% : LINE # %u\n", -__FUNCTION__ -, -__LINE__ -); - -465  -ii - = 0; ii < 13; ii += 1) { - -466 -de¡_v6_addr -[ -ii -] = -v6_hdr --> -d¡_addr -[ii]; - -469 - `´štf -("\n"); - -470 - `´štf -("\n% : LINE # %u\n", -__FUNCTION__ -, -__LINE__ -); - -471  -ii - = 0; ii < 16; ii += 2) { - -472 - `´štf -("%02X%02X ", -v6_hdr --> -d¡_addr -[ -ii -], - -473 -v6_hdr --> -d¡_addr -[ -ii - + 1]); - -475 - `´štf -("\n"); - -476 - `´štf -("\n% : LINE # %u\n", -__FUNCTION__ -, -__LINE__ -); - -477  -ii - = 0; ii < 16; ii += 2) { - -478 - `´štf -("%02X%02X ", -de¡_v6_addr -[ -ii -], - -479 -de¡_v6_addr -[ -ii - + 1]); - -482 - `´štf -("\n% : LINE # %u", -__FUNCTION__ -, -__LINE__ -); - -483 ià(( -v6_hdr --> -´Ùo - =ð -IPPROTO_ICMPV6 -) && - -484 (! -memcmp - - -485 (& -v6_hdr --> -d¡_addr -, & -cÚfigu»d_pÜt_v6 -[0], - -486 -RTE_LPM_IPV6_ADDR_SIZE -) - -487 || ! - `memcmp -(& -de¡_v6_addr -[0], - -488 & -sÞic™ed_node_muÉiÿ¡_addr -[0], - -489 -RTE_LPM_IPV6_ADDR_SIZE -))) { - -490 -v6_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 -´štf - - -504 -´Ùo_ty³ -[ -IP_LOCAL -]-> - `func -( -m -, -nb_icmpv6_pkt -, -icmp_pkts_mask -, - -505 -pÜt -); - -508 ià( -v6_fÜw¬d_pkts_mask -) { - -509 ià( -L3FWD_DEBUG -) - -510 -´štf - - -512 -´Ùo_ty³ -[ -IP_REMOTE -]-> - `func -( -m -, -nb_l3_pkt -, - -513 -v6_fÜw¬d_pkts_mask -, -pÜt -); - -515 - } -} - -517  -v6_fib_·th - * - $pÝuϋ_v6_fib_·th -( -ušt8_t - - -518 -nh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -], - -519 -ušt8_t - -pÜtid -) - -522  -fib_·th_key_v6 - -·th_key -; - -523 -ušt8_t - -i -; - -524  -i - = 0; i < 16; i++) { - -525 -·th_key -. -nh_v6 -[ -i -] =‚h_ipv6[i]; - -527 -·th_key -. -out_pÜt - = -pÜtid -; - -528 -·th_key -. -fžËr1 - = 0; - -529 -·th_key -. -fžËr2 - = 0; - -530 -·th_key -. -fžËr3 - = 0; - -532  -v6_fib_·th - * -fib_d©a - = -NULL -; - -534 -fib_d©a - = - `»Œ›ve_v6_fib_·th_’Œy -( -·th_key -); - -536 ià( -fib_d©a -) { - -538 - `´štf -(" Fib…athƒntryƒxists for IPv6 destination = " - -541 -nh_v6 -[0],‚h_ipv6[1],‚h_ipv6[2],‚h_ipv6[3], - -542 -nh_v6 -[4],‚h_ipv6[5],‚h_ipv6[6],‚h_ipv6[7], - -543 -nh_v6 -[8],‚h_ipv6[9],‚h_ipv6[10],‚h_ipv6[11], - -544 -nh_v6 -[12],‚h_ipv6[13],‚h_ipv6[14],‚h_ipv6[15], - -545 -pÜtid -); - -547 -fib_d©a --> -»fcouÁ -++; - -548  -fib_d©a -; - -550 - `´štf -("IPv6 fib_pathƒntry Doesn't Exists.......\n"); - -554 -fib_d©a - = -NULL -; - -555  -l2_adj_v6_’Œy - * -l2_adj_±r - = -NULL -; - -556 -l2_adj_±r - = - `pÝuϋ_v6_l2_adj -( -nh_v6 -, -pÜtid -); - -558 ià( -l2_adj_±r -) { - -560 -ušt32_t - -size - = - -561 - `RTE_CACHE_LINE_ROUNDUP -(( -v6_fib_·th -)); - -562 -fib_d©a - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -564  -i - = 0; i < 16; i++) { - -565 -fib_d©a --> -nh_v6 -[ -i -] =‚h_ipv6[i]; - -567 -fib_d©a --> -out_pÜt - = -pÜtid -; - -570 -fib_d©a --> -»fcouÁ -++; - -571 -fib_d©a --> -l2_adj_v6_±r - = -l2_adj_±r -; - -574 - `¹e_hash_add_key_d©a -( -fib_·th_v6_hash_hªdË -, & -·th_key -, - -575 -fib_d©a -); - -576 -´štf - - -578 -l2_adj_±r -, -fib_d©a -); - -579  -fib_d©a -; - -581 -´štf - - -584  -NULL -; - -586 - } -} - -588  -l2_adj_v6_’Œy - * - $pÝuϋ_v6_l2_adj -( -ušt8_t - - -589 -nh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -], - -590 -ušt8_t - -pÜtid -) - -593  -l2_adj_key_v6 - -l2_adj_key -; - -594 -ušt8_t - -i -; - -595  -i - = 0; i < 16; i++) { - -596 -l2_adj_key -. -nh_v6 -[ -i -] =‚h_ipv6[i]; - -598 -l2_adj_key -. -out_pÜt_id - = -pÜtid -; - -599 -l2_adj_key -. -fžËr1 - = 0; - -600 -l2_adj_key -. -fžËr2 - = 0; - -601 -l2_adj_key -. -fžËr3 - = 0; - -603  -l2_adj_v6_’Œy - * -adj_d©a - = -NULL -; - -604  -‘h”_addr - -‘h_d¡ -; - -606 -adj_d©a - = - `»Œ›ve_v6_l2_adj_’Œy -( -l2_adj_key -); - -608 ià( -adj_d©a -) { - -610 - `´štf -("ipv6_l2_adj_entryƒxists for Next Hop IPv6 = " - -613 -nh_v6 -[0],‚h_ipv6[1],‚h_ipv6[2],‚h_ipv6[3], - -614 -nh_v6 -[4],‚h_ipv6[5],‚h_ipv6[6],‚h_ipv6[7], - -615 -nh_v6 -[8],‚h_ipv6[9],‚h_ipv6[10],‚h_ipv6[11], - -616 -nh_v6 -[12],‚h_ipv6[13],‚h_ipv6[14],‚h_ipv6[15], - -617 -pÜtid -); - -619 - `‘h”_addr_cÝy -(& -adj_d©a --> -‘h_addr -, & -‘h_d¡ -); - -620 -adj_d©a --> -»fcouÁ -++; - -621  -adj_d©a -; - -624  -‘h”_addr - -‘h_¤c -; - -625 -ušt16_t - -‘h”_ty³ - = 0x086DD; - -626 -l2_phy_š‹rçû_t - * -pÜt -; - -627 -pÜt - = - `ifm_g‘_pÜt -( -pÜtid -); - -628 ià( -pÜt - =ð -NULL -) { - -629 - `´štf -("PORT %u IS DOWN.. UÇbˁشoûs !\n", -pÜtid -); - -630  -NULL -; - -633 - `memýy -(& -‘h_¤c -, & -pÜt --> -maÿddr -, ( -‘h”_addr -)); - -634 -ušt32_t - -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -l2_adj_’Œy -)); - -635 -adj_d©a - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -636 ià( -adj_d©a - =ð -NULL -) { - -637 - `´štf -("L2 Adjacency memory‡llocation failed !\n"); - -638  -NULL -; - -641 -adj_d©a --> -out_pÜt_id - = -pÜtid -; - -643  -i - = 0; i < 16; i++) { - -644 -adj_d©a --> -nh_v6 -[ -i -] =‚h_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_v6_hash_hªdË -, & -l2_adj_key -, -adj_d©a -); - -652 ià( - `g‘_de¡_mac_fÜ_ÃxthÝ_v6 -( -nh_v6 -, -pÜtid -, & -‘h_d¡ -)) { - -654 - `‘h”_addr_cÝy -(& -‘h_d¡ -, & -adj_d©a --> -‘h_addr -); - -657 - `memýy -(& -adj_d©a --> -l2_¡ršg -, & -‘h_d¡ -, - -658 ( -‘h”_addr -)); - -659 - `memýy -(& -adj_d©a --> -l2_¡ršg -[6], & -‘h_¤c -, - -660 ( -‘h”_addr -)); - -661 - `memýy -(& -adj_d©a --> -l2_¡ršg -[12], & -‘h”_ty³ -, 2); - -663 -adj_d©a --> -æags - = -L2_ADJ_RESOLVED -; - -664 -´štf - - -666 -adj_d©a -); - -668  -adj_d©a -; - -670 -adj_d©a --> -æags - = -L2_ADJ_UNRESOLVED -; - -671 -´štf - - -674  -NULL -; - -675 - } -} - -677  -l2_adj_v6_’Œy - * - $»Œ›ve_v6_l2_adj_’Œy -( -l2_adj_key_v6 - - -678 -l2_adj_key -) - -680  -l2_adj_v6_’Œy - * -»t_l2_adj_d©a - = -NULL -; - -682  -»t - = - -683 - `¹e_hash_lookup_d©a -( -l2_adj_v6_hash_hªdË -, & -l2_adj_key -, - -684 (**)& -»t_l2_adj_d©a -); - -685 ià( -»t - < 0) { - -686 -´štf - - -688 -»t -, -EINVAL -, -ENOENT -); - -690 - `´štf -("L2 Adj hash†ookup Successful..!!!\n"); - -691  -»t_l2_adj_d©a -; - -693  -NULL -; - -694 - } -} - -696  - $g‘_de¡_mac_fÜ_ÃxthÝ_v6 -( -ušt8_t - -nh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -], - -697 -ušt32_t - -out_phy_pÜt -, - -698  -‘h”_addr - * -hw_addr -) - -700  -nd_’Œy_d©a - * -nd_d©a - = -NULL -; - -701  -nd_key_v6 - -tmp_nd_key -; - -702 -ušt8_t - -i -; - -703  -i - = 0; i < 16; i++) { - -704 -tmp_nd_key -. -v6 -[ -i -] = -nh_v6 -[i]; - -706 -tmp_nd_key -. -pÜt_id - = -out_phy_pÜt -; - -708 -nd_d©a - = - `»Œ›ve_nd_’Œy -( -tmp_nd_key -); - -709 ià( -nd_d©a - =ð -NULL -) { - -710 - `´štf -("NDƒntry is‚ot found\n"); - -713 - `‘h”_addr_cÝy -(& -nd_d©a --> -‘h_addr -, -hw_addr -); - -716 - } -} - -718  -v6_fib_·th - * - $»Œ›ve_v6_fib_·th_’Œy -( -fib_·th_key_v6 - - -719 -·th_key -) - -722  -v6_fib_·th - * -»t_fib_·th_d©a - = -NULL -; - -723  -»t - = - -724 - `¹e_hash_lookup_d©a -( -fib_·th_v6_hash_hªdË -, & -·th_key -, - -725 (**)& -»t_fib_·th_d©a -); - -726 ià( -»t - < 0) { - -727 -´štf - - -729 -»t -, -EINVAL -, -ENOENT -); - -730  -NULL -; - -732  -»t_fib_·th_d©a -; - -734 - } -} - -736  - $»move_v6_fib_l2_adj_’Œy -(* -’Œy -) - -738  -v6_fib_šfo - -’Œy1 -; - -739 - `memýy -(& -’Œy1 -, -’Œy -, ( -v6_fib_šfo -)); - -741  -v6_fib_·th - * -fib_·th_addr - = -’Œy1 -. -·th -[0]; - -742 ià( -fib_·th_addr --> -»fcouÁ - > 1) { - -743 - `´štf -("BEFORE fib_pathƒntry is‚ot Removed!‚h_iPv6 = " - -746 -fib_·th_addr --> -nh_v6 -[0], fib_path_addr->nh_ipv6[1], - -747 -fib_·th_addr --> -nh_v6 -[2], fib_path_addr->nh_ipv6[3], - -748 -fib_·th_addr --> -nh_v6 -[4], fib_path_addr->nh_ipv6[5], - -749 -fib_·th_addr --> -nh_v6 -[6], fib_path_addr->nh_ipv6[7], - -750 -fib_·th_addr --> -nh_v6 -[8], fib_path_addr->nh_ipv6[9], - -751 -fib_·th_addr --> -nh_v6 -[10], fib_path_addr->nh_ipv6[11], - -752 -fib_·th_addr --> -nh_v6 -[12], fib_path_addr->nh_ipv6[13], - -753 -fib_·th_addr --> -nh_v6 -[14], fib_path_addr->nh_ipv6[15], - -754 -fib_·th_addr --> -out_pÜt -, fib_·th_addr-> -»fcouÁ -); - -755 -fib_·th_addr --> -»fcouÁ ---; - -756 - `´štf -("AFTER fib_pathƒntry is‚ot Removed!‚h_iPv6 = " - -759 -fib_·th_addr --> -nh_v6 -[0], fib_path_addr->nh_ipv6[1], - -760 -fib_·th_addr --> -nh_v6 -[2], fib_path_addr->nh_ipv6[3], - -761 -fib_·th_addr --> -nh_v6 -[4], fib_path_addr->nh_ipv6[5], - -762 -fib_·th_addr --> -nh_v6 -[6], fib_path_addr->nh_ipv6[7], - -763 -fib_·th_addr --> -nh_v6 -[8], fib_path_addr->nh_ipv6[9], - -764 -fib_·th_addr --> -nh_v6 -[10], fib_path_addr->nh_ipv6[11], - -765 -fib_·th_addr --> -nh_v6 -[12], fib_path_addr->nh_ipv6[13], - -766 -fib_·th_addr --> -nh_v6 -[14], fib_path_addr->nh_ipv6[15], - -767 -fib_·th_addr --> -out_pÜt -, fib_·th_addr-> -»fcouÁ -); - -770  -l2_adj_v6_’Œy - * -adj_addr - = -NULL -; - -771 -adj_addr - = -fib_·th_addr --> -l2_adj_v6_±r -; - -773 ià( -adj_addr - !ð -NULL -) { - -774 - `´štf -("%s: CHECK %d\n\r", -__FUNCTION__ -, -__LINE__ -); - -775  -l2_adj_key_v6 - -l2_adj_key -; - -776 - `memýy -(& -l2_adj_key -. -nh_v6 -, -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–_key -( -l2_adj_v6_hash_hªdË -, - -781 & -l2_adj_key -); - -782 - `¹e_ä“ -( -adj_addr -); - -783 -adj_addr - = -NULL -; - -786  -fib_·th_key_v6 - -·th_key -; - -787 - `memýy -(& -·th_key -. -nh_v6 -, -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–_key -( -fib_·th_v6_hash_hªdË -, & -·th_key -); - -791 - `¹e_ä“ -( -fib_·th_addr -); - -792 -fib_·th_addr - = -NULL -; - -794 - } -} - -796  - $is_v®id_v6_pkt -( -v6_hdr - * -pkt -, -ušt32_t - -lšk_Ën -) - -798 ià( -lšk_Ën - < ( -v4_hdr -)) - -800 ià( - `¹e_ýu_to_be_16 -( -pkt --> -·ylßd_Ën -è< ( -v6_hdr -)) - -804 - } -} - -807 - $v6_l3_´ÙocÞ_ty³_add -( -ušt8_t - -´ÙocÞ_ty³ -, - -808 (* -func -è( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -809 -l2_phy_š‹rçû_t - *)) - -811  -´ÙocÞ_ty³ -) { - -812  -IPPROTO_ICMPV6 -: - -813 -´Ùo_ty³ -[ -IP_LOCAL -] = - -814 - `¹e_m®loc -( -NULL -, ( -_´ÙocÞ_ty³ -), - -815 -RTE_CACHE_LINE_SIZE -); - -816 -´Ùo_ty³ -[ -IP_LOCAL -]-> -´ÙocÞ_ty³ - =…rotocol_type; - -817 -´Ùo_ty³ -[ -IP_LOCAL -]-> -func - = func; - -820  -IPPROTO_TCP -: - -821  -IPPROTO_UDP -: - -822 -´Ùo_ty³ -[ -IP_REMOTE -] = - -823 - `¹e_m®loc -( -NULL -, ( -_´ÙocÞ_ty³ -), - -824 -RTE_CACHE_LINE_SIZE -); - -825 -´Ùo_ty³ -[ -IP_REMOTE -]-> -´ÙocÞ_ty³ - =…rotocol_type; - -826 -´Ùo_ty³ -[ -IP_REMOTE -]-> -func - = func; - -829 - } -} - -832 - $v6_loÿl_d–iv” -( -¹e_mbuf - ** -pkt_bur¡ -, -__¹e_unu£d - -ušt16_t - -nb_rx -, - -833 -ušt64_t - -icmp_pkt_mask -, -l2_phy_š‹rçû_t - * -pÜt -) - -835 ; -icmp_pkt_mask -;) { - -837 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -icmp_pkt_mask -); - -838 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -839 -icmp_pkt_mask - &ð~ -pkt_mask -; - -841 - `´oûss_icmpv6_pkt -( -pkt_bur¡ -[ -pos -], -pÜt -); - -843 - } -} - -846 - $v6_fÜw¬d_d–iv” -( -¹e_mbuf - ** -pkt_bur¡ -, -ušt16_t - -nb_pkts -, - -847 -ušt64_t - -v6_fÜw¬d_pkts_mask -, -l2_phy_š‹rçû_t - * -pÜt -) - -849 ià( -L3FWD_DEBUG -) { - -850 -´štf - - -852 -nb_pkts -, -pÜt --> -pmdid -); - -854 -ušt64_t - -pkts_fÜ_´oûss - = -v6_fÜw¬d_pkts_mask -; - -856  -v6_hdr - *ipv6_hdr; - -857 -l2_phy_š‹rçû_t - * -pÜt_±r -[ -RTE_PORT_IN_BURST_SIZE_MAX -]; - -858 -ušt64_t - -h™_mask - = 0; - -860 ; -pkts_fÜ_´oûss -;) { - -862 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -pkts_fÜ_´oûss -); - -863 -ušt64_t - -pkt_mask - = 1LLU << -pos -; - -864 -pkts_fÜ_´oûss - &ð~ -pkt_mask -; - -865 -v6_hdr - = - -866 - `¹e_pktmbuf_mtod_off£t -( -pkt_bur¡ -[ -pos -],  -v6_hdr - *, - -867 ( -‘h”_hdr -)); - -870 ià( - `is_v®id_v6_pkt -( -v6_hdr -, -pkt_bur¡ -[ -pos -]-> -pkt_Ën -) < 0) { - -871 - `¹e_pktmbuf_ä“ -( -pkt_bur¡ -[ -pos -]); - -872 -pkt_bur¡ -[ -pos -] = -NULL -; - -873 -v6_fÜw¬d_pkts_mask - &ð~(1LLU << -pos -); - -874 -nb_pkts ---; - -875 -¡©s -. -nb_l3_drÝ_pkt -++; - -879 ià( -L3FWD_DEBUG -) { - -880 -´štf - - -882 -nb_pkts -, -v6_fÜw¬d_pkts_mask -); - -886 - `Ím6_bË_lookup -( -pkt_bur¡ -, -nb_pkts -, -v6_fÜw¬d_pkts_mask -, -pÜt_±r -, - -887 & -h™_mask -); - -888 - } -} - -890 -ušt8_t - - $v6_hash_lßd_b®ªû -( -¹e_mbuf - * -mbuf -) - -892 -ušt32_t - -¤c_addr_off£t - = - -893 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_SRC_ADR_OFST_IPV6 -; - -894 -ušt32_t - -d¡_addr_off£t - = - -895 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST_IPV6 -; - -896 -ušt8_t - -¤c_addr -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -897 -ušt8_t - -d¡_addr -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -899 - `memýy -(& -¤c_addr -, - -900 ( -ušt8_t - *è - `RTE_MBUF_METADATA_UINT32_PTR -( -mbuf -, -¤c_addr_off£t -), - -901 -RTE_LPM_IPV6_ADDR_SIZE -); - -902 - `memýy -(& -d¡_addr -, - -903 ( -ušt8_t - *è - `RTE_MBUF_METADATA_UINT32_PTR -( -mbuf -, -d¡_addr_off£t -), - -904 -RTE_LPM_IPV6_ADDR_SIZE -); - -905 -ušt32_t - -hash_key1 - = 0; - -906 -ušt32_t - -hash_key2 - = 0; - -907 -ušt8_t - -i -; - -908  -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 - `´štf -("Hash ResuÉ_key: %d, \n", -hash_key1 -); - -925  -hash_key1 -; - -926 - } -} - -929 - $»sÞve_v6_l2_adj -( -ušt8_t - -nh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -], ušt8_ˆ -pÜtid -, - -930  -‘h”_addr - * -hw_addr -) - -932  -l2_adj_v6_’Œy - * -adj_d©a - = -NULL -; - -933  -‘h”_addr - -‘h_d¡ -; - -934 -ušt16_t - -‘h”_ty³ - = 0x086DD; - -936  -l2_adj_key_v6 - -l2_adj_key -; - -937 - `memýy -(& -l2_adj_key -. -nh_v6 -, &nh_v6, -RTE_LPM_IPV6_ADDR_SIZE -); - -938 -l2_adj_key -. -out_pÜt_id - = -pÜtid -; - -940 -adj_d©a - = - `»Œ›ve_v6_l2_adj_’Œy -( -l2_adj_key -); - -941 ià( -adj_d©a -) { - -942 ià( -adj_d©a --> -æags - =ð -L2_ADJ_UNRESOLVED - - -943 || - `memcmp -(& -adj_d©a --> -‘h_addr -, -hw_addr -, 6)) { - -944 - `‘h”_addr_cÝy -( -hw_addr -, & -adj_d©a --> -‘h_addr -); - -947 - `memýy -(& -adj_d©a --> -l2_¡ršg -, -hw_addr -, - -948 ( -‘h”_addr -)); - -949 - `memýy -(& -adj_d©a --> -l2_¡ršg -[6], - -950 & -adj_d©a --> -phy_pÜt --> -maÿddr -, - -951 ( -‘h”_addr -)); - -952 - `memýy -(& -adj_d©a --> -l2_¡ršg -[12], & -‘h”_ty³ -, 2); - -954 -adj_d©a --> -æags - = -L2_ADJ_RESOLVED -; - -960 -l2_phy_š‹rçû_t - * -pÜt -; - -961 -pÜt - = - `ifm_g‘_pÜt -( -pÜtid -); - -962 ià( -pÜt - =ð -NULL -) { - -963 - `´štf -("PORT %u IS DOWN..! UÇbˁØProûss\n", -pÜtid -); - -966 -ušt32_t - -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -l2_adj_’Œy -)); - -967 -adj_d©a - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -968 ià( -adj_d©a - =ð -NULL -) { - -969 - `´štf -("L2 Adjacency memory‡llocation failed !\n"); - -973 -adj_d©a --> -out_pÜt_id - = -pÜtid -; - -974 - `memýy -( -adj_d©a --> -nh_v6 -, &nh_v6, -RTE_LPM_IPV6_ADDR_SIZE -); - -976 -adj_d©a --> -phy_pÜt - = -pÜt -; - -978 - `‘h”_addr_cÝy -(& -‘h_d¡ -, & -adj_d©a --> -‘h_addr -); - -981 - `memýy -(& -adj_d©a --> -l2_¡ršg -, -hw_addr -, ( -‘h”_addr -)); - -982 - `memýy -(& -adj_d©a --> -l2_¡ršg -[6], & -pÜt --> -maÿddr -, - -983 ( -‘h”_addr -)); - -984 - `memýy -(& -adj_d©a --> -l2_¡ršg -[12], & -‘h”_ty³ -, 2); - -986 -adj_d©a --> -æags - = -L2_ADJ_RESOLVED -; - -989 - `¹e_hash_add_key_d©a -( -l2_adj_v6_hash_hªdË -, & -l2_adj_key -, -adj_d©a -); - -991 - `´štf -(" ND„esolution successful‡nd stored in ipv6_l2_adj_entry %p\n", - -992 -adj_d©a -); - -993 - } -} - -995  - $v6_™”©e__hash_bË -() - -997 cÚ¡ * -Ãxt_key -; - -998 * -Ãxt_d©a -; - -999 -ušt32_t - -™” - = 0; - -1000 -ušt8_t - -ii -; - -1001 - `´štf -("\n\t\t\t IPv6 FIB_path Cacheable...."); - -1002 -´štf - - -1004 -´štf - - -1006 -´štf - - -1009  -¹e_hash_™”©e - - -1010 ( -fib_·th_v6_hash_hªdË -, & -Ãxt_key -, & -Ãxt_d©a -, & -™” -) >= 0) { - -1011  -v6_fib_·th - * -tmp_d©a - = - -1012 ( -v6_fib_·th - *) -Ãxt_d©a -; - -1013  -fib_·th_key_v6 - -tmp_key -; - -1014 - `memýy -(& -tmp_key -, -Ãxt_key -, (tmp_key)); - -1015  -ii - = 0; ii < 16; ii += 2) { - -1016 - `´štf -("%02X%02X ", -tmp_d©a --> -nh_v6 -[ -ii -], - -1017 -tmp_d©a --> -nh_v6 -[ -ii - + 1]); - -1019 - `´štf -(" \ˆ%u \ˆ%u \ˆ%p\n", -tmp_d©a --> -out_pÜt -, - -1020 -tmp_d©a --> -»fcouÁ -,mp_d©a-> -l2_adj_v6_±r -); - -1024 -™” - = 0; - -1026 - `´štf -("\n\t\t\t L2 ADJ Cacheable....."); - -1027 -´štf - - -1029 -´štf - - -1031 -´štf - - -1033  -¹e_hash_™”©e - - -1034 ( -l2_adj_v6_hash_hªdË -, & -Ãxt_key -, & -Ãxt_d©a -, & -™” -) >= 0) { - -1035  -l2_adj_v6_’Œy - * -l2_d©a - = - -1036 ( -l2_adj_v6_’Œy - *) -Ãxt_d©a -; - -1037  -l2_adj_key_v6 - -l2_key -; - -1038 - `memýy -(& -l2_key -, -Ãxt_key -, (l2_key)); - -1039  -ii - = 0; ii < 16; ii += 2) { - -1040 - `´štf -("%02X%02X ", -l2_d©a --> -nh_v6 -[ -ii -], - -1041 -l2_d©a --> -nh_v6 -[ -ii - + 1]); - -1043 - `´štf -(" \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šg -[0], - -1046 -l2_d©a --> -l2_¡ršg -[1], - -1047 -l2_d©a --> -l2_¡ršg -[2], - -1048 -l2_d©a --> -l2_¡ršg -[3], - -1049 -l2_d©a --> -l2_¡ršg -[4], - -1050 -l2_d©a --> -l2_¡ršg -[5], - -1051 -l2_d©a --> -l2_¡ršg -[6], - -1052 -l2_d©a --> -l2_¡ršg -[7], - -1053 -l2_d©a --> -l2_¡ršg -[8], - -1054 -l2_d©a --> -l2_¡ršg -[9], - -1055 -l2_d©a --> -l2_¡ršg -[10], - -1056 -l2_d©a --> -l2_¡ršg -[11],†2_d©a-> -phy_pÜt -); - -1058 - } -} - - @VIL/l2l3_stack/l3fwd_lpm6.h - -22 #iâdeà -L3FWD_LPM6_H - - -23  - #L3FWD_LPM6_H - - - ) - -25  - ~<¡dio.h -> - -26  - ~<¡dlib.h -> - -27  - ~<¡dšt.h -> - -28  - ~<š‰y³s.h -> - -29  - ~ - -30  - ~<¡ršg.h -> - -31  - ~ - -32  - ~<¡d¬g.h -> - -33  - ~<”ºo.h -> - -34  - ~ - -35  - ~<¡dboÞ.h -> - -37  - ~<¹e_debug.h -> - -38  - ~<¹e_‘h”.h -> - -39  - ~<¹e_‘hdev.h -> - -40  - ~<¹e_ršg.h -> - -41  - ~<¹e_mempoÞ.h -> - -42  - ~<¹e_cyþes.h -> - -43  - ~<¹e_mbuf.h -> - -44  - ~<¹e_.h -> - -45  - ~<¹e_tý.h -> - -46  - ~<¹e_udp.h -> - -47  - ~<¹e_Ím.h -> - -48  - ~<¹e_Ím6.h -> - -49  - ~<¹e_bË_Ím_v6.h -> - -50  - ~"l3fwd_commÚ.h -" - -51  - ~"l3fwd_Ím4.h -" - -52  - ~"š‹rçû.h -" - -58  - #MBUF_HDR_ROOM - 256 - - ) - -60  - #IP_HDR_SIZE_IPV6 - 40 - - ) - -61  - #IP_HDR_SRC_ADR_OFST_IPV6 - 8 - - ) - -62  - #IP_HDR_DST_ADR_OFST_IPV6 - 24 - - ) - -65  - #IPV6_L3FWD_LPM_MAX_RULES - 1024 - - ) - -66  - #IPV6_L3FWD_LPM_NUMBER_TBL8S - (1 << 16è - - ) - -68  - #MAX_FIB_PATHS - 8 - - ) - -74  - sv6_routšg_šfo - { - -75 -ušt8_t - - md¡_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -76 -ušt8_t - - md•th -; - -77 -ušt32_t - - mm‘ric -; - -78 -ušt32_t - - mfib_nh_size -; - -79 -ušt8_t - - mnh_v6 -[ -MAX_FIB_PATHS -][ -RTE_LPM_IPV6_ADDR_SIZE -]; - -80 -ušt8_t - - mout_pÜt -[ -MAX_FIB_PATHS -]; - -81 } - g__¹e_ÿche_®igÃd -; - -87  - sv6_fib_·th - { - -88 -ušt8_t - - mnh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -89 -ušt32_t - - m»fcouÁ -; - -90 -ušt8_t - - mout_pÜt -; - -91  -l2_adj_v6_’Œy - * - ml2_adj_v6_±r -; - -92 } - g__¹e_ÿche_®igÃd -; - -98  - sv6_fib_šfo - { - -99 -ušt8_t - - md¡_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -100 -ušt8_t - - md•th -; - -101 -ušt32_t - - mm‘ric -; - -102 -ušt32_t - - mfib_nh_size -; - -103  -v6_fib_·th - * - m·th -[ -MAX_FIB_PATHS -]; - -104 } - g__¹e_ÿche_®igÃd -; - -109  - sl2_adj_v6_’Œy - { - -110  -‘h”_addr - - m‘h_addr -; - -111 -ušt8_t - - mout_pÜt_id -; - -112 -ušt8_t - - mnh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -113 -ušt32_t - - m»fcouÁ -; - -114 -ušt8_t - - ml2_¡ršg -[256]; - -115 -l2_phy_š‹rçû_t - * - mphy_pÜt -; - -116 -ušt8_t - - mæags -; - -117 } - g__¹e_ÿche_®igÃd -; - -122  - sl2_adj_key_v6 - { - -125 -ušt8_t - - mnh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -126 -ušt8_t - - mout_pÜt_id -; - -127 -ušt8_t - - mfžËr1 -; - -128 -ušt8_t - - mfžËr2 -; - -129 -ušt8_t - - mfžËr3 -; - -135  - sfib_·th_key_v6 - { - -138 -ušt8_t - - mnh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -]; - -139 -ušt8_t - - mout_pÜt -; - -140 -ušt8_t - - mfžËr1 -; - -141 -ušt8_t - - mfžËr2 -; - -142 -ušt8_t - - mfžËr3 -; - -145  - sv6_´ÙocÞ_ty³ - { - -146 -ušt8_t - - m´ÙocÞ_ty³ -; - -147 (* - mfunc -è( - m¹e_mbuf - **, - mušt16_t -, - mušt64_t -, - -148 - ml2_phy_š‹rçû_t - *); - -149 } - g__¹e_ÿche_®igÃd -; - -157  -Ím6_š™ -(); - -166  -Ím6_bË_rou‹_add -( -v6_routšg_šfo - * -d©a -); - -177  -Ím6_bË_rou‹_d–‘e -( -ušt8_t - -d¡_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -], - -178 -ušt8_t - -d•th -); - -191  -Ím6_bË_lookup -( -¹e_mbuf - ** -pkts_bur¡ -, -ušt16_t - -nb_pkts -, - -192 -ušt64_t - -pkts_mask -, - -193 -l2_phy_š‹rçû_t - * -pÜt_±r -[ -RTE_PORT_IN_BURST_SIZE_MAX -], - -194 -ušt64_t - * -h™_mask -); - -209  -l3fwd_rx_v6_·ck‘s -( -¹e_mbuf - ** -m -, -ušt16_t - -nb_pkts -, - -210 -ušt64_t - -v®id_pkts_mask -, - -211 -l2_phy_š‹rçû_t - * -š_pÜt -); - -222  -v6_fib_·th - * -pÝuϋ_v6_fib_·th -( -ušt8_t - - -223 -nh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -], - -224 -ušt8_t - -out_pÜt -); - -234  -v6_fib_·th - * -»Œ›ve_v6_fib_·th_’Œy -( -fib_·th_key_v6 - - -235 -·th_key -); - -245  -l2_adj_v6_’Œy - * -»Œ›ve_v6_l2_adj_’Œy -( -l2_adj_key_v6 - - -246 -l2_adj_key -); - -257  -l2_adj_v6_’Œy - * -pÝuϋ_v6_l2_adj -( -ušt8_t - - -258 -nh_ -[ -RTE_LPM_IPV6_ADDR_SIZE -], - -259 -ušt8_t - -pÜtid -); - -272  -g‘_de¡_mac_fÜ_ÃxthÝ_v6 -( -ušt8_t - -nh_v6 -[ -RTE_LPM_IPV6_ADDR_SIZE -], - -273 -ušt32_t - -out_phy_pÜt -, - -274  -‘h”_addr - * -hw_addr -); - -281  -»move_v6_fib_l2_adj_’Œy -(* -’Œy -); - -284 -v6_l3_´ÙocÞ_ty³_add -( -ušt8_t - -´ÙocÞ_ty³ -, - -285 (* -func -è( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -286 -l2_phy_š‹rçû_t - *)); - -289 - `v6_loÿl_d–iv” -( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -290 -l2_phy_š‹rçû_t - *); - -293 - `v6_fÜw¬d_d–iv” -( -¹e_mbuf - **, -ušt16_t -, -ušt64_t -, - -294 -l2_phy_š‹rçû_t - *); - -296  - `is_v®id_v6_pkt -( -v6_hdr - * -pkt -, -ušt32_t - -lšk_Ën -); - -297 -ušt8_t - - `v6_hash_lßd_b®ªû -( -¹e_mbuf - * -mbuf -); - -311  - `»sÞve_v6_l2_adj -( -ušt8_t - -nh_ -[ -RTE_LPM_IPV6_ADDR_SIZE -], ušt8_ˆ -pÜtid -, - -312  -‘h”_addr - * -hw_addr -); - -314  - `v6_™”©e__hash_bË -(); - - @VIL/l2l3_stack/l3fwd_main.c - -24  - ~"l3fwd_commÚ.h -" - -25  - ~"l2_´Ùo.h -" - -26  - ~"l3fwd_Ím4.h -" - -27  - ~"l3fwd_Ím6.h -" - -28  - ~"š‹rçû.h -" - -29  - ~"lib_¬p.h -" - -30  - ~"lib_icmpv6.h -" - -32  -routšg_šfo - - gšput_¬¿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  -v6_routšg_šfo - - gv6_šput_¬¿y -[] = { - -81  - $l3fwd_š™ -() - -83 - `´štf -(" *********** L3 Initialization START ************\n"); - -84 ià( - `Ím_š™ -() == 0) { - -85 - `¹e_ex™ -( -EXIT_FAILURE -, "L3 Initialization IPv4 Failed\n"); - -87 ià( - `Ím6_š™ -() == 0) { - -88 - `¹e_ex™ -( -EXIT_FAILURE -, "L3 Initialization for IPV6 Failed\n"); - -91 - `li¡_add_ty³ -( -ETHER_TYPE_IPv4 -, -l3fwd_rx_v4_·ck‘s -); - -92 - `li¡_add_ty³ -( -ETHER_TYPE_IPv6 -, -l3fwd_rx_v6_·ck‘s -); - -94 - `l3_´ÙocÞ_ty³_add -( -IPPROTO_ICMP -, -_loÿl_·ck‘s_´oûss -); - -95 - `l3_´ÙocÞ_ty³_add -( -IPPROTO_TCP -, -_fÜw¬d_d–iv” -); - -96 - `l3_´ÙocÞ_ty³_add -( -IPPROTO_UDP -, -_fÜw¬d_d–iv” -); - -98 - `v6_l3_´ÙocÞ_ty³_add -( -IPPROTO_ICMPV6 -, -v6_loÿl_d–iv” -); - -99 - `v6_l3_´ÙocÞ_ty³_add -( -IPPROTO_TCP -, -v6_fÜw¬d_d–iv” -); - -100 - `v6_l3_´ÙocÞ_ty³_add -( -IPPROTO_UDP -, -v6_fÜw¬d_d–iv” -); - -102 - } -} - -104  - $pÝuϋ_Ím_rou‹s -() - -106 - `pÝuϋ_Ím4_bË_rou‹s -(); - -108 - } -} - -110  - $pÝuϋ_Ím4_bË_rou‹s -() - -112 -ušt8_t - -i -; - -113 -´štf - - -115  -i - = 0; i < -MAX_ROUTES -; i++) { - -116 ià( - `Ím4_bË_rou‹_add -(& -šput_¬¿y -[ -i -])) { - -118 - `´štf -("TÙ®„ou‹ Added# %d\n", -i - + 1); - -120 - `¹e_ex™ -( -EXIT_FAILURE -, - -122 -i -); - -125 -´štf - - -127 - } -} - -129  - $pÝuϋ_Ím6_bË_rou‹s -() - -131 -ušt8_t - -i -; - -132 -´štf - - -134  -i - = 0; i < 2; i++) { - -135 ià( - `Ím6_bË_rou‹_add -(& -v6_šput_¬¿y -[ -i -])) { - -137 - `´štf -("Added„ou‹ # %d\n", -i -); - -139 - `¹e_ex™ -( -EXIT_FAILURE -, - -141 -i -); - -144 - `´štf -(" *********** L3 IPV6 Route Initialization END ************\n"); - -145 - } -} - - @VIL/l2l3_stack/lib_arp.c - -17  - ~ - -18  - ~<¡dio.h -> - -19  - ~<¡dlib.h -> - -20  - ~<¡dšt.h -> - -21  - ~<¡ršg.h -> - -22  - ~ - -23  - ~<¹e_commÚ.h -> - -24  - ~<¹e_m®loc.h -> - -25  - ~<¹e_.h -> - -26  - ~<¹e_by‹Üd”.h -> - -27  - ~<¹e_log.h -> - -28  - ~<¹e_bË_Ím.h -> - -29  - ~<¹e_bË_hash.h -> - -30  - ~<¹e_p–še.h -> - -31  - ~<¹e_¬p.h -> - -32  - ~<¹e_icmp.h -> - -33  - ~<¹e_hash.h -> - -34  - ~<¹e_jhash.h -> - -35  - ~<¹e_cyþes.h -> - -36  - ~<¹e_tim”.h -> - -37  - ~"š‹rçû.h -" - -38  - ~"l2_´Ùo.h -" - -39  - ~"lib_¬p.h -" - -40  - ~"l3fwd_Ím4.h -" - -41  - ~"vnf_commÚ.h -" - -43 #ià( -RTE_BYTE_ORDER - =ð -RTE_LITTLE_ENDIAN -) - -44  - #CHECK_ENDIAN_16 -( -x -è - `¹e_be_to_ýu_16 -(x) - - ) - -45  - #CHECK_ENDIAN_32 -( -x -è - `¹e_be_to_ýu_32 -(x) - - ) - -47  - #CHECK_ENDIAN_16 -( -x -è(x) - - ) - -48  - #CHECK_ENDIAN_32 -( -x -è(x) - - ) - -51  - #NB_ARPICMP_MBUF - 64 - - ) - -52  - #NB_NDICMP_MBUF - 64 - - ) - -53  - #IP_VERSION_4 - 0x40 - - ) - -54  - #IP_HDRLEN - 0x05 - - ) - -55  - #IP_VHL_DEF - ( -IP_VERSION_4 - | -IP_HDRLEN -) - - ) - -57  - #is_muÉiÿ¡_v4_addr -( -v4_addr -) \ - -58 ((( - `¹e_be_to_ýu_32 -(( -v4_addr -)è>> 24è& 0x000000FFè=ð0xE0) - - ) - -60 -ušt8_t - -´v_š_pÜt_a -[ -PIPELINE_MAX_PORT_IN -]; - -61 -ušt32_t - -tim”_lcÜe -; - -62 -ušt32_t - - g¬p_timeout - = -ARP_TIMER_EXPIRY -; - -65  - #INADDRSZ - 4 - - ) - -66  - #IN6ADDRSZ - 16 - - ) - -67  -my_š‘_±Ú_v6 -( -af -, cÚ¡ * -¤c -, * -d¡ -); - -68  -š‘_±Ú_v6 -(cÚ¡ * -¤c -, * -d¡ -); - -69  -š‘_±Ú_v4 -(cÚ¡ * -¤c -, * -d¡ -); - -70  -cÚv”t_´efixËn_to_Ãtmask_v6 -( -ušt32_t - -d•th -, - -71 -ušt8_t - -Ãtmask_v6 -[]); - -73 -ušt8_t - - gvnf_commÚ_¬p_lib_š™ -; - -74 -ušt8_t - - gvnf_commÚ_nd_lib_š™ -; - -75 -ušt8_t - - glßdb_p–še_couÁ -; - -77 -ušt32_t - - gARPICMP_DEBUG -; - -78 -ušt32_t - - gNDIPV6_DEBUG -; - -80 -ušt32_t - - g¬p_rou‹_tbl_šdex -; - -81 -ušt32_t - - gnd_rou‹_tbl_šdex -; - -82 -ušt32_t - - glšk_hw_addr_¬¿y_idx -; - -84 -ušt32_t - - glib_¬p_g‘_mac_»q -; - -85 -ušt32_t - - glib_¬p_nh_found -; - -86 -ušt32_t - - glib_¬p_no_nh_found -; - -87 -ušt32_t - - glib_¬p_¬p_’Œy_found -; - -88 -ušt32_t - - glib_¬p_no_¬p_’Œy_found -; - -89 -ušt32_t - - glib_¬p_pÝuϋ_ÿÎed -; - -90 -ušt32_t - - glib_¬p_d–‘e_ÿÎed -; - -91 -ušt32_t - - glib_¬p_du¶iÿ‹_found -; - -93 -ušt32_t - - glib_nd_g‘_mac_»q -; - -94 -ušt32_t - - glib_nd_nh_found -; - -95 -ušt32_t - - glib_nd_no_nh_found -; - -96 -ušt32_t - - glib_nd_nd_’Œy_found -; - -97 -ušt32_t - - glib_nd_no_¬p_’Œy_found -; - -98 -ušt32_t - - glib_nd_pÝuϋ_ÿÎed -; - -99 -ušt32_t - - glib_nd_d–‘e_ÿÎed -; - -100 -ušt32_t - - glib_nd_du¶iÿ‹_found -; - -101  -¹e_mempoÞ - * - glib_¬p_pktmbuf_tx_poÞ -; - -102  -¹e_mempoÞ - * - glib_nd_pktmbuf_tx_poÞ -; - -104  -¹e_mbuf - * - glib_¬p_pkt -; - -105  -¹e_mbuf - * - glib_nd_pkt -; - -107 -ušt8_t - - gdeçuÉ_‘h”_addr -[6] = { 0, 0, 0, 0, 1, 1 }; - -108 -ušt8_t - - gdeçuÉ_ -[4] = { 0, 0, 1, 1 }; - -110  -¹e_hash_·¿m‘”s - - g¬p_hash_·¿ms - = { - -111 . -Çme - = "ARP", - -112 . - g’Œ›s - = 64, - -113 . - g»£rved - = 0, - -114 . - gkey_Ën - = ( -¬p_key_v4 -), - -115 . - ghash_func - = -¹e_jhash -, - -116 . - ghash_func_š™_v® - = 0, - -119  -¹e_hash_·¿m‘”s - - gnd_hash_·¿ms - = { - -120 . -Çme - = "ND", - -121 . - g’Œ›s - = 64, - -122 . - g»£rved - = 0, - -123 . - gkey_Ën - = ( -nd_key_v6 -), - -124 . - ghash_func - = -¹e_jhash -, - -125 . - ghash_func_š™_v® - = 0, - -128  -¹e_hash - * - g¬p_hash_hªdË -; - -129  -¹e_hash - * - gnd_hash_hªdË -; - -131  -´št_pkt1 -( -¹e_mbuf - * -pkt -); - -133  -­p_·¿ms - * - gmyAµ -; - -134  -¹e_p–še - * - gmyP -; - -135 -ušt8_t - - gnum_vnf_th»ads -; - -140  - s¬p_pÜt_add»ss - { - -141 -ušt32_t - - m -; - -142 -ušt8_t - - mmac_addr -[6]; - -145  -¬p_pÜt_add»ss - - g¬p_pÜt_add»s£s -[ -RTE_MAX_ETHPORTS -]; - -146  -¹e_mempoÞ - * - gtim”_mempoÞ_¬p -; - -148  - gtim”_objs_mempoÞ_couÁ - = 70000; - -150  - #MAX_NUM_ARP_ENTRIES - 64 - - ) - -151  - #MAX_NUM_ND_ENTRIES - 64 - - ) - -153 -ušt32_t - -g‘_nh -(uint32_t, uint32_t *); - -154  -g‘_nh_v6 -( -ušt8_t - -v6 -[], -ušt32_t - * -pÜt -, ušt8_ˆ -nhv6 -[]); - -156  - #MAX_ARP_DATA_ENTRY_TABLE - 7 - - ) - -158  -bË_¬p_’Œy_d©a - - g¬p_’Œy_d©a_bË -[ -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  - #MAX_ND_DATA_ENTRY_TABLE - 7 - - ) - -169  -bË_nd_’Œy_d©a - - gnd_’Œy_d©a_bË -[ -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  -lib_nd_rou‹_bË_’Œy - - glib_nd_rou‹_bË -[ -MAX_ND_RT_ENTRY -] = { - -222  -lib_¬p_rou‹_bË_’Œy - - glib_¬p_rou‹_bË -[ -MAX_ARP_RT_ENTRY -] = { - -241  -´št_Œaû -(); - -244  - $´št_Œaû -() - -246 * -¬¿y -[10]; - -247 -size_t - -size -; - -248 ** -¡ršgs -; - -249 -size_t - -i -; - -251 -size - = - `backŒaû -( -¬¿y -, 10); - -252 -¡ršgs - = - `backŒaû_symbÞs -( -¬¿y -, -size -); - -254 - `RTE_LOG -( -INFO -, -LIBARP -, "Obšed %zd sck f¿mes.\n", -size -); - -256  -i - = 0; i < -size -; i++) - -257 - `RTE_LOG -( -INFO -, -LIBARP -, "%s\n", -¡ršgs -[ -i -]); - -259 - `ä“ -( -¡ršgs -); - -260 - } -} - -262 -ušt32_t - - $g‘_nh -( -ušt32_t - - -, ušt32_ˆ* -pÜt -) - -264  -i - = 0; - -265  -i - = 0; i < -MAX_ARP_RT_ENTRY -; i++) { - -266 ià((( -lib_¬p_rou‹_bË -[ -i -]. - -267 - - & -lib_¬p_rou‹_bË -[ -i -]. -mask -) == - -268 ( - - & -lib_¬p_rou‹_bË -[ -i -]. -mask -))) { - -270 * -pÜt - = -lib_¬p_rou‹_bË -[ -i -].port; - -271 -lib_¬p_nh_found -++; - -272  -lib_¬p_rou‹_bË -[ -i -]. -nh -; - -274 ià( -ARPICMP_DEBUG -) - -275 - `´štf -("No‚h match ip 0x%x,…ort %u,_ip " - -277 - -, * -pÜt -, -lib_¬p_rou‹_bË -[ -i -].ip, - -278 -lib_¬p_rou‹_bË -[ -i -]. -pÜt -, - -279 -lib_¬p_rou‹_bË -[ -i -]. -mask -, - -280 ( -lib_¬p_rou‹_bË -[ -i -]. - - & - -281 -lib_¬p_rou‹_bË -[ -i -]. -mask -), - -282 ( - - & -lib_¬p_rou‹_bË -[ -i -]. -mask -)); - -284 ià( -ARPICMP_DEBUG -) - -285 - `´štf -("NØNH - i°0x%x,…܈%u\n", - -, * -pÜt -); - -286 -lib_¬p_no_nh_found -++; - -288 - } -} - -291  - $g‘_nh_v6 -( -ušt8_t - -v6 -[], -ušt32_t - * -pÜt -, ušt8_ˆ -nhv6 -[]) - -293  -i - = 0; - -294 -ušt8_t - -Ãtmask_v6 -[16], -Ãt_nd -[16], -Ãt_š -[16]; - -295 -ušt8_t - -k - = 0, -l - = 0, -d•thæags - = 0, -d•thæags1 - = 0; - -296 - `mem£t -( -Ãtmask_v6 -, 0, (netmask_ipv6)); - -297 - `mem£t -( -Ãt_nd -, 0, (netip_nd)); - -298 - `mem£t -( -Ãt_š -, 0, (netip_in)); - -299 ià(! -v6 -) - -301  -i - = 0; i < -MAX_ARP_RT_ENTRY -; i++) { - -303 - `cÚv”t_´efixËn_to_Ãtmask_v6 -( -lib_nd_rou‹_bË -[ -i -]. -d•th -, - -304 -Ãtmask_v6 -); - -306  -k - = 0; k < 16; k++) { - -307 ià( -lib_nd_rou‹_bË -[ -i -]. -v6 -[ -k -] & -Ãtmask_v6 -[k]) { - -308 -d•thæags -++; - -309 -Ãt_nd -[ -k -] = -lib_nd_rou‹_bË -[ -i -]. -v6 -[k]; - -313  -l - = 0;† < 16;†++) { - -314 ià( -v6 -[ -l -] & -Ãtmask_v6 -[l]) { - -315 -d•thæags1 -++; - -316 -Ãt_š -[ -l -] = -v6 -[l]; - -319  -j - = 0; - -320 ià(( -d•thæags - =ð -d•thæags1 -) - -321 && ( - `memcmp -( -Ãt_nd -, -Ãt_š -, (netip_nd)) == 0)) { - -323 * -pÜt - = -lib_nd_rou‹_bË -[ -i -].port; - -324 -lib_nd_nh_found -++; - -326  -j - = 0; j < 16; j++) - -327 -nhv6 -[ -j -] = -lib_nd_rou‹_bË -[ -i -].nhipv6[j]; - -332 ià( -NDIPV6_DEBUG -) - -333 - `´štf -("No‚h match\n"); - -334 -d•thæags - = 0; - -335 -d•thæags1 - = 0; - -337 ià( -NDIPV6_DEBUG -) - -338 - `´štf -("NØNH - i°0x%x,…܈%u\n", -v6 -[0], * -pÜt -); - -339 -lib_nd_no_nh_found -++; - -340 - } -} - -343  - $g‘_de¡_mac_addr_pÜt -(cÚ¡ -ušt32_t - -addr -, - -344 -ušt32_t - * -phy_pÜt -,  -‘h”_addr - * -hw_addr -) - -346 -lib_¬p_g‘_mac_»q -++; - -347 -ušt32_t - -nh - = 0; - -349 -nh - = - `g‘_nh -( -addr -, -phy_pÜt -); - -350 ià( -nh - == 0) { - -351 ià( -ARPICMP_DEBUG -) - -352 - `´štf -("ARPICMP‚o‚h found for ip %x,…ort %d\n", - -353 -addr -, * -phy_pÜt -); - -355  -NH_NOT_FOUND -; - -358  -¬p_’Œy_d©a - * -»t_¬p_d©a - = -NULL -; - -359  -¬p_key_v4 - -tmp_¬p_key -; - -360 -tmp_¬p_key -. -pÜt_id - = * -phy_pÜt -; - -361 -tmp_¬p_key -. - - = -nh -; - -363 ià( -ARPICMP_DEBUG -) - -364 - `´štf -("%s:‚h: %x,…hypÜt: %d\n", -__FUNCTION__ -, -nh -, - -365 * -phy_pÜt -); - -367 -»t_¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -tmp_¬p_key -); - -368 ià( -»t_¬p_d©a - =ð -NULL -) { - -369 ià( -ARPICMP_DEBUG -) { - -370 -´štf - - -372 -addr -, * -phy_pÜt -); - -373 - `´št_¬p_bË -(); - -375 ià( -nh - != 0) { - -376 ià( -ARPICMP_DEBUG -) - -377 - `´štf -("CG-NAPT„equesting ARP for ip %x, " - -378 "p܈%d\n", -nh -, * -phy_pÜt -); - -379 - `»que¡_¬p -(* -phy_pÜt -, -nh -); - -382 -lib_¬p_no_¬p_’Œy_found -++; - -383  -ARP_NOT_FOUND -; - -385 - `‘h”_addr_cÝy -(& -»t_¬p_d©a --> -‘h_addr -, -hw_addr -); - -386 -lib_¬p_¬p_’Œy_found -++; - -387 ià( -ARPICMP_DEBUG -) - -388 - `´štf -("%s: ARPICMP hwadd¸found\n", -__FUNCTION__ -); - -389  -ARP_FOUND -; - -390 - } -} - -392  - $g‘_de¡_mac_add»ss -(cÚ¡ -ušt32_t - -addr -, ušt32_ˆ* -phy_pÜt -, - -393  -‘h”_addr - * -hw_addr -, -ušt32_t - * -nh -) - -395 -lib_¬p_g‘_mac_»q -++; - -397 * -nh - = - `g‘_nh -( -addr -, -phy_pÜt -); - -398 ià(* -nh - == 0) { - -399 ià( -ARPICMP_DEBUG - && -addr -) - -400 - `RTE_LOG -( -INFO -, -LIBARP -, - -402 -addr -, * -phy_pÜt -); - -406  -¬p_’Œy_d©a - * -»t_¬p_d©a - = -NULL -; - -407  -¬p_key_v4 - -tmp_¬p_key -; - -408 -tmp_¬p_key -. -pÜt_id - = * -phy_pÜt -; - -409 -tmp_¬p_key -. - - = * -nh -; - -411 -»t_¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -tmp_¬p_key -); - -412 ià( -»t_¬p_d©a - =ð -NULL -) { - -413 ià( -ARPICMP_DEBUG - && -addr -) { - -414 - `RTE_LOG -( -INFO -, -LIBARP -, - -416 -addr -, * -phy_pÜt -); - -417 - `´št_¬p_bË -(); - -419 -lib_¬p_no_¬p_’Œy_found -++; - -422 - `‘h”_addr_cÝy -(& -»t_¬p_d©a --> -‘h_addr -, -hw_addr -); - -423 -lib_¬p_¬p_’Œy_found -++; - -426 - } -} - -428  - $g‘_de¡_mac_addr -(cÚ¡ -ušt32_t - -addr -, - -429 -ušt32_t - * -phy_pÜt -,  -‘h”_addr - * -hw_addr -) - -431 -lib_¬p_g‘_mac_»q -++; - -432 -ušt32_t - -nh - = 0; - -434 -nh - = - `g‘_nh -( -addr -, -phy_pÜt -); - -435 ià( -nh - == 0) { - -436 ià( -ARPICMP_DEBUG - && -addr -) - -437 - `RTE_LOG -( -INFO -, -LIBARP -, - -439 -addr -, * -phy_pÜt -); - -443  -¬p_’Œy_d©a - * -»t_¬p_d©a - = -NULL -; - -444  -¬p_key_v4 - -tmp_¬p_key -; - -445 -tmp_¬p_key -. -pÜt_id - = * -phy_pÜt -; - -446 -tmp_¬p_key -. - - = -nh -; - -448 -»t_¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -tmp_¬p_key -); - -449 ià( -»t_¬p_d©a - =ð -NULL -) { - -450 ià( -ARPICMP_DEBUG - && -addr -) { - -451 -´štf - - -453 -addr -, * -phy_pÜt -); - -454 - `´št_¬p_bË -(); - -457 ià( -nh - != 0) { - -458 ià( -ARPICMP_DEBUG - > 4) - -459 -´štf - - -461 -nh -, * -phy_pÜt -); - -462 ià( - `ifm_chk_pÜt_v4_’abËd -(* -phy_pÜt -)) { - -463 - `»que¡_¬p -(* -phy_pÜt -, -nh -); - -465 ià( -ARPICMP_DEBUG -) - -466 - `RTE_LOG -( -INFO -, -LIBARP -, - -468 -__FUNCTION__ -, * -phy_pÜt -); - -472 -lib_¬p_no_¬p_’Œy_found -++; - -475 - `‘h”_addr_cÝy -(& -»t_¬p_d©a --> -‘h_addr -, -hw_addr -); - -476 -lib_¬p_¬p_’Œy_found -++; - -478 - } -} - -480  - $g‘_de¡_mac_add»ss_v6_pÜt -( -ušt8_t - -v6addr -[], -ušt32_t - * -phy_pÜt -, - -481  -‘h”_addr - * -hw_addr -, -ušt8_t - -nhv6 -[]) - -483  -i - = 0, -j - = 0, -æag - = 0; - -484 -lib_nd_g‘_mac_»q -++; - -486 - `g‘_nh_v6 -( -v6addr -, -phy_pÜt -, -nhv6 -); - -487  -j - = 0; j < 16; j++) { - -488 ià( -nhv6 -[ -j -]) - -489 -æag -++; - -491 ià( -æag - == 0) { - -492 ià( -NDIPV6_DEBUG -) - -493 - `´štf -("NDIPV6‚o‚h found for ipv6 " - -496 -v6addr -[0], ipv6addr[1], ipv6addr[2], - -497 -v6addr -[3], ipv6addr[4], ipv6addr[5], - -498 -v6addr -[6], ipv6addr[7], ipv6addr[8], - -499 -v6addr -[9], ipv6addr[10], ipv6addr[11], - -500 -v6addr -[12], ipv6addr[13], ipv6addr[14], - -501 -v6addr -[15], * -phy_pÜt -); - -505  -nd_’Œy_d©a - * -»t_nd_d©a - = -NULL -; - -506  -nd_key_v6 - -tmp_nd_key -; - -507 -tmp_nd_key -. -pÜt_id - = * -phy_pÜt -; - -509  -i - = 0; i < 16; i++) - -510 -tmp_nd_key -. -v6 -[ -i -] = -nhv6 -[i]; - -512 -»t_nd_d©a - = - `»Œ›ve_nd_’Œy -( -tmp_nd_key -); - -513 ià( -»t_nd_d©a - =ð -NULL -) { - -514 ià( -NDIPV6_DEBUG -) { - -515 - `´štf -("NDIPV6‚o‚dƒntry found for ip %x,…ort %d\n", - -516 -v6addr -[0], * -phy_pÜt -); - -518 -lib_nd_no_¬p_’Œy_found -++; - -521 - `‘h”_addr_cÝy -(& -»t_nd_d©a --> -‘h_addr -, -hw_addr -); - -522 -lib_nd_nd_’Œy_found -++; - -524 - } -} - -526  - $g‘_de¡_mac_add»ss_v6 -( -ušt8_t - -v6addr -[], -ušt32_t - * -phy_pÜt -, - -527  -‘h”_addr - * -hw_addr -, -ušt8_t - -nhv6 -[]) - -529  -i - = 0, -j - = 0, -æag - = 0; - -530 -lib_nd_g‘_mac_»q -++; - -532 - `g‘_nh_v6 -( -v6addr -, -phy_pÜt -, -nhv6 -); - -533  -j - = 0; j < 16; j++) { - -534 ià( -nhv6 -[ -j -]) { - -535 -æag -++; - -538 ià( -æag - == 0) { - -539 ià( -NDIPV6_DEBUG - && -v6addr -) - -540 - `RTE_LOG -( -INFO -, -LIBARP -, - -542 -v6addr -[0], * -phy_pÜt -); - -546  -nd_’Œy_d©a - * -»t_nd_d©a - = -NULL -; - -547  -nd_key_v6 - -tmp_nd_key -; - -548 -tmp_nd_key -. -pÜt_id - = * -phy_pÜt -; - -550  -i - = 0; i < 16; i++) { - -551 -tmp_nd_key -. -v6 -[ -i -] = -nhv6 -[i]; - -554 -»t_nd_d©a - = - `»Œ›ve_nd_’Œy -( -tmp_nd_key -); - -555 ià( -»t_nd_d©a - =ð -NULL -) { - -556 ià( -NDIPV6_DEBUG - && -v6addr -) { - -557 - `RTE_LOG -( -INFO -, -LIBARP -, - -559 -v6addr -[0], * -phy_pÜt -); - -561 ià( -æag - != 0) { - -562 ià( -ARPICMP_DEBUG - > 4) - -563 -´štf - - -565 * -phy_pÜt -); - -566 - `»que¡_nd -(& -nhv6 -[0], - `ifm_g‘_pÜt -(* -phy_pÜt -)); - -570 -lib_nd_no_¬p_’Œy_found -++; - -573 - `‘h”_addr_cÝy -(& -»t_nd_d©a --> -‘h_addr -, -hw_addr -); - -574 -lib_nd_nd_’Œy_found -++; - -576 - } -} - -582  - slib_¬p_¬p_bË_’Œy - { - -583  -¹e_p–še_bË_’Œy - - mh—d -; - -584 -ušt64_t - - mmaÿddr -; - -587 cÚ¡ * - $¬p_Ý_Çme -( -ušt16_t - -¬p_Ý -) - -589  - `CHECK_ENDIAN_16 -( -¬p_Ý -)) { - -590 ( -ARP_OP_REQUEST -): - -592 ( -ARP_OP_REPLY -): - -594 ( -ARP_OP_REVREQUEST -): - -596 ( -ARP_OP_REVREPLY -): - -598 ( -ARP_OP_INVREQUEST -): - -600 ( -ARP_OP_INVREPLY -): - -606 - } -} - -608  - $´št_icmp_·ck‘ -( -icmp_hdr - * -icmp_h -) - -610 - `RTE_LOG -( -INFO -, -LIBARP -, " ICMP:ype=%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’t -), - -616 - `CHECK_ENDIAN_16 -( -icmp_h --> -icmp_£q_nb -)); - -617 - } -} - -619  - $´št_v4_h -( -v4_hdr - * -_h -) - -621  -icmp_hdr - * -icmp_h - = - -622 ( -icmp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -623 - `RTE_LOG -( -INFO -, -LIBARP -, " IPv4: Version=%d HLEN=%d Type=%d Length=%d\n", - -624 ( -_h --> -v”siÚ_ihl - & 0xf0) >> 4, (ip_h->version_ihl & 0x0f), - -625 -_h --> -ty³_of_£rviû -, - `¹e_ýu_to_be_16 -(_h-> -tÙ®_Ëngth -)); - -626 ià( -_h --> -Ãxt_´Ùo_id - =ð -IPPROTO_ICMP -) { - -627 - `´št_icmp_·ck‘ -( -icmp_h -); - -629 - } -} - -631  - $´št_¬p_·ck‘ -( -¬p_hdr - * -¬p_h -) - -633 - `RTE_LOG -( -INFO -, -LIBARP -, " ARP: hrd=%d…roto=0x%04x hln=%d " - -635 - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_hrd -), - -636 - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_´o -),‡½_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 } ià( - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_´o -è!ð -ETHER_TYPE_IPv4 -) { - -645 - `RTE_LOG -( -INFO -, -LIBARP -, - -647 ( -¬p_h --> -¬p_´o -)); - -648 } ià( -¬p_h --> -¬p_hÊ - != 6) { - -649 - `RTE_LOG -( -INFO -, -LIBARP -, - -651 -¬p_h --> -¬p_hÊ -); - -652 } ià( -¬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‹s -[0], - -660 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[1], - -661 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[2], - -662 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[3], - -663 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[4], - -664 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[5]); - -665 - `RTE_LOG -( -INFO -, -LIBARP -, " sip=%d.%d.%d.%d\n", - -666 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -) >> 24) & 0xFF, - -667 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -) >> 16) & 0xFF, - -668 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -) >> 8) & 0xFF, - -669 - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -) & 0xFF); - -670 - `RTE_LOG -( -INFO -, -LIBARP -, - -672 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[0], - -673 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[1], - -674 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[2], - -675 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[3], - -676 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[4], - -677 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[5]); - -678 - `RTE_LOG -( -INFO -, -LIBARP -, "ip=%d.%d.%d.%d\n", - -679 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_t -) >> 24) & 0xFF, - -680 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_t -) >> 16) & 0xFF, - -681 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_t -) >> 8) & 0xFF, - -682 - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_t -) & 0xFF); - -684 - } -} - -686  - $´št_‘h -( -‘h”_hdr - * -‘h_h -) - -688 - `RTE_LOG -( -INFO -, -LIBARP -, " ETH: src=%02X:%02X:%02X:%02X:%02X:%02X", - -689 -‘h_h --> -s_addr -. -addr_by‹s -[0], - -690 -‘h_h --> -s_addr -. -addr_by‹s -[1], - -691 -‘h_h --> -s_addr -. -addr_by‹s -[2], - -692 -‘h_h --> -s_addr -. -addr_by‹s -[3], - -693 -‘h_h --> -s_addr -. -addr_by‹s -[4],ƒth_h->s_addr.addr_bytes[5]); - -694 - `RTE_LOG -( -INFO -, -LIBARP -, " dst=%02X:%02X:%02X:%02X:%02X:%02X\n", - -695 -‘h_h --> -d_addr -. -addr_by‹s -[0], - -696 -‘h_h --> -d_addr -. -addr_by‹s -[1], - -697 -‘h_h --> -d_addr -. -addr_by‹s -[2], - -698 -‘h_h --> -d_addr -. -addr_by‹s -[3], - -699 -‘h_h --> -d_addr -. -addr_by‹s -[4],ƒth_h->d_addr.addr_bytes[5]); - -701 - } -} - -704 - $´št_mbuf -(cÚ¡ * -rx_tx -, -ušt8_t - -pÜtid -,  -¹e_mbuf - * -mbuf -, - -705  -lše -) - -707  -‘h”_hdr - * -‘h_h - = - `¹e_pktmbuf_mtod -( -mbuf -, ether_hdr *); - -708  -¬p_hdr - * -¬p_h - = - -709 ( -¬p_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -710  -v4_hdr - * -v4_h - = - -711 ( -v4_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -713 - `RTE_LOG -( -INFO -, -LIBARP -, "%s(%d): on…ort %d…kt-len=%u‚b-segs=%u\n", - -714 -rx_tx -, -lše -, -pÜtid -, -mbuf --> -pkt_Ën -, mbuf-> -nb_£gs -); - -715 - `´št_‘h -( -‘h_h -); - -716  - `¹e_ýu_to_be_16 -( -‘h_h --> -‘h”_ty³ -)) { - -717  -ETHER_TYPE_IPv4 -: - -718 - `´št_v4_h -( -v4_h -); - -720  -ETHER_TYPE_ARP -: - -721 - `´št_¬p_·ck‘ -( -¬p_h -); - -724 - `RTE_LOG -( -INFO -, -LIBARP -, " unknown…acketype\n"); - -727 - `fæush -( -¡dout -); - -728 - } -} - -730  -¬p_’Œy_d©a - * - $»Œ›ve_¬p_’Œy -( -¬p_key_v4 - -¬p_key -) - -732  -¬p_’Œy_d©a - * -»t_¬p_d©a - = -NULL -; - -733 -¬p_key -. -fžËr1 - = 0; - -734 -¬p_key -. -fžËr2 - = 0; - -735 -¬p_key -. -fžËr3 - = 0; - -737  -»t - = - `¹e_hash_lookup_d©a -( -¬p_hash_hªdË -, & -¬p_key -, - -738 (**)& -»t_¬p_d©a -); - -739 ià( -»t - < 0) { - -743 ià( -»t_¬p_d©a --> -mode - =ð -DYNAMIC_ARP -) { - -744  -¬p_tim”_key - -ÿÎback_key -; - -745 -ÿÎback_key -. -pÜt_id - = -»t_¬p_d©a --> -pÜt -; - -746 -ÿÎback_key -. - - = -»t_¬p_d©a -->ip; - -748 ià( - `¹e_tim”_»£t -( -»t_¬p_d©a --> -tim” -, - -749 ( -¬p_timeout - * - `¹e_g‘_tsc_hz -()), - -750 -SINGLE -, -tim”_lcÜe -, - -751 -¬p_tim”_ÿÎback -, - -752 & -ÿÎback_key -) < 0) - -753 ià( -ARPICMP_DEBUG -) - -754 - `RTE_LOG -( -INFO -, -LIBARP -, - -758  -»t_¬p_d©a -; - -761  -NULL -; - -762 - } -} - -764  -nd_’Œy_d©a - * - $»Œ›ve_nd_’Œy -( -nd_key_v6 - -nd_key -) - -766  -nd_’Œy_d©a - * -»t_nd_d©a - = -NULL -; - -767 -nd_key -. -fžËr1 - = 0; - -768 -nd_key -. -fžËr2 - = 0; - -769 -nd_key -. -fžËr3 - = 0; - -770  -i - = 0; - -773  -»t - = - `¹e_hash_lookup_d©a -( -nd_hash_hªdË -, & -nd_key -, - -774 (**)& -»t_nd_d©a -); - -775 ià( -»t - < 0) { - -779 ià( -»t_nd_d©a --> -mode - =ð -DYNAMIC_ND -) { - -780  -nd_tim”_key - -ÿÎback_key -; - -781 -ÿÎback_key -. -pÜt_id - = -»t_nd_d©a --> -pÜt -; - -783  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) { - -784 -ÿÎback_key -. -v6 -[ -i -] = -»t_nd_d©a -->ipv6[i]; - -788 ià( -¹e_tim”_»£t - - -789 ( -»t_nd_d©a --> -tim” -, - -790 ( -¬p_timeout - * - `¹e_g‘_tsc_hz -()), -SINGLE -, - -791 -tim”_lcÜe -, -nd_tim”_ÿÎback -, & -ÿÎback_key -) < 0) - -792 ià( -ARPICMP_DEBUG -) - -793 - `RTE_LOG -( -INFO -, -LIBARP -, - -796  -»t_nd_d©a -; - -799  -NULL -; - -800 - } -} - -802  - $´št_¬p_bË -() - -804 cÚ¡ * -Ãxt_key -; - -805 * -Ãxt_d©a -; - -806 -ušt32_t - -™” - = 0; - -808 -´štf - - -810 -´štf - - -812 - `´štf -("\tport hw‡ddr status ip‡ddr\n"); - -813 -´štf - - -816  - `¹e_hash_™”©e -( -¬p_hash_hªdË -, & -Ãxt_key -, & -Ãxt_d©a -, & -™” -) - -819  -¬p_’Œy_d©a - * -tmp_¬p_d©a - = - -820 ( -¬p_’Œy_d©a - *) -Ãxt_d©a -; - -821  -¬p_key_v4 - -tmp_¬p_key -; - -822 - `memýy -(& -tmp_¬p_key -, -Ãxt_key -, ( -¬p_key_v4 -)); - -823 -´štf - - -825 -tmp_¬p_d©a --> -pÜt -,mp_¬p_d©a-> -‘h_addr -. -addr_by‹s -[0], - -826 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[1], - -827 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[2], - -828 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[3], - -829 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[4], - -830 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[5], - -831 -tmp_¬p_d©a --> -¡©us - == - -832 -COMPLETE - ? "COMPLETE" : "INCOMPLETE", - -833 ( -tmp_¬p_d©a --> - - >> 24), - -834 (( -tmp_¬p_d©a --> - - & 0x00ff0000) >> 16), - -835 (( -tmp_¬p_d©a --> - - & 0x0000ff00) >> 8), - -836 (( -tmp_¬p_d©a --> - - & 0x000000ff))); - -839 -ušt32_t - -i - = 0; - -840 - `´štf -("\nARP„outšgabË ha %dƒÁr›s\n", -¬p_rou‹_tbl_šdex -); - -841 - `´štf -("\nIP_Address Mask Port NH_IP_Address\n"); - -842  -i - = 0; i < -¬p_rou‹_tbl_šdex -; i++) { - -843 - `´štf -("0x%x 0x%x %d 0x%x\n", - -844 -lib_¬p_rou‹_bË -[ -i -]. - -, - -845 -lib_¬p_rou‹_bË -[ -i -]. -mask -, - -846 -lib_¬p_rou‹_bË -[ -i -]. -pÜt -,†ib_¬p_rou‹_bË[i]. -nh -); - -849 -´štf - - -851 -lib_¬p_g‘_mac_»q -, -lib_¬p_nh_found -, -lib_¬p_no_nh_found -, - -852 -lib_¬p_¬p_’Œy_found -, -lib_¬p_no_¬p_’Œy_found -, - -853 -lib_¬p_pÝuϋ_ÿÎed -, -lib_¬p_d–‘e_ÿÎed -, - -854 -lib_¬p_du¶iÿ‹_found -); - -856 - `´štf -("ARPabË key†’ i %lu\n", ( -¬p_key_v4 -)); - -857 - } -} - -860  - $´št_nd_bË -() - -862 cÚ¡ * -Ãxt_key -; - -863 * -Ãxt_d©a -; - -864 -ušt32_t - -™” - = 0; - -865 -ušt8_t - -ii - = 0, -j - = 0, -k - = 0; - -866 -´štf - - -868 - `´štf -("\tport hw‡ddr status ip‡ddr\n"); - -870 -´štf - - -872  - `¹e_hash_™”©e -( -nd_hash_hªdË -, & -Ãxt_key -, & -Ãxt_d©a -, & -™” -) >= - -875  -nd_’Œy_d©a - * -tmp_nd_d©a - = - -876 ( -nd_’Œy_d©a - *) -Ãxt_d©a -; - -877  -nd_key_v6 - -tmp_nd_key -; - -878 - `memýy -(& -tmp_nd_key -, -Ãxt_key -, ( -nd_key_v6 -)); - -879 - `´štf -("\t%4d %02X:%02X:%02X:%02X:%02X:%02X %10s\n", - -880 -tmp_nd_d©a --> -pÜt -, - -881 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[0], - -882 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[1], - -883 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[2], - -884 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[3], - -885 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[4], - -886 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[5], - -887 -tmp_nd_d©a --> -¡©us - == - -888 -COMPLETE - ? "COMPLETE" : "INCOMPLETE"); - -889 - `´štf -("\t\t\t\t\t\t"); - -890  -ii - = 0; i˜< -ND_IPV6_ADDR_SIZE -; ii += 2) { - -891 - `´štf -("%02X%02X ", -tmp_nd_d©a --> -v6 -[ -ii -], - -892 -tmp_nd_d©a --> -v6 -[ -ii - + 1]); - -894 - `´štf -("\n"); - -897 -ušt32_t - -i - = 0; - -898 - `´štf -("\n\nND IPV6„outingable has %dƒntries\n", - -899 -nd_rou‹_tbl_šdex -); - -900 -´štf - - -902  -i - = 0; i < -nd_rou‹_tbl_šdex -; i++) { - -903 - `´štf -("\n"); - -905  -j - = 0; j < -ND_IPV6_ADDR_SIZE -; j += 2) { - -906 - `RTE_LOG -( -INFO -, -LIBARP -, "%02X%02X ", - -907 -lib_nd_rou‹_bË -[ -i -]. -v6 -[ -j -], - -908 -lib_nd_rou‹_bË -[ -i -]. -v6 -[ -j - + 1]); - -911 -´štf - - -913 -lib_nd_rou‹_bË -[ -i -]. -d•th -,†ib_nd_rou‹_bË[i]. -pÜt -); - -914 - `´štf -("\t\t\t\t\t\t\t\t\t"); - -915  -k - = 0; k < -ND_IPV6_ADDR_SIZE -; k += 2) { - -916 - `´štf -("%02X%02X ", -lib_nd_rou‹_bË -[ -i -]. -nhv6 -[ -k -], - -917 -lib_nd_rou‹_bË -[ -i -]. -v6 -[ -k - + 1]); - -920 -´štf - - -922 -lib_nd_g‘_mac_»q -, -lib_nd_nh_found -, -lib_nd_no_nh_found -, - -923 -lib_nd_nd_’Œy_found -, -lib_nd_no_¬p_’Œy_found -, - -924 -lib_nd_pÝuϋ_ÿÎed -, -lib_nd_d–‘e_ÿÎed -, - -925 -lib_nd_du¶iÿ‹_found -); - -926 - `´štf -("NDabË key†’ i %lu\n\n", ( -nd_key_v6 -)); - -927 - } -} - -929  - $»move_¬p_’Œy -( -ušt32_t - -addr -, -ušt8_t - -pÜtid -, * -¬g -) - -932  -¬p_key_v4 - -¬p_key -; - -933 -¬p_key -. -pÜt_id - = -pÜtid -; - -934 -¬p_key -. - - = -addr -; - -935 -¬p_key -. -fžËr1 - = 0; - -936 -¬p_key -. -fžËr2 - = 0; - -937 -¬p_key -. -fžËr3 - = 0; - -939 -lib_¬p_d–‘e_ÿÎed -++; - -941  -¬p_’Œy_d©a - * -»t_¬p_d©a - = -NULL -; - -943  -»t - = - `¹e_hash_lookup_d©a -( -¬p_hash_hªdË -, & -¬p_key -, - -944 (**)& -»t_¬p_d©a -); - -945 ià( -»t - < 0) { - -949 ià( -»t_¬p_d©a --> -mode - =ð -DYNAMIC_ARP -) { - -950 ià( -»t_¬p_d©a --> -»Œy_couÁ - == 3) { - -951 - `¹e_tim”_¡Ý -( -»t_¬p_d©a --> -tim” -); - -952 - `¹e_ä“ -( -»t_¬p_d©a --> -tim”_key -); - -953 ià( -ARPICMP_DEBUG -) { - -954 - `RTE_LOG -( -INFO -, -LIBARP -, - -956 ( -¬p_key -. - - >> 24), - -957 (( -¬p_key -. - - & 0x00ff0000) >> - -959 (( -¬p_key -. - - & 0x0000ff00) >> - -961 (( -¬p_key -. - - & 0x000000ff)), - -962 -¬p_key -. -pÜt_id -); - -964 - `¹e_hash_d–_key -( -¬p_hash_hªdË -, & -¬p_key -); - -967 -»t_¬p_d©a --> -»Œy_couÁ -++; - -968 ià( -ARPICMP_DEBUG -) - -969 - `RTE_LOG -( -INFO -, -LIBARP -, - -971 -»t_¬p_d©a --> -»Œy_couÁ -); - -973 ià( -ARPICMP_DEBUG -) - -974 - `RTE_LOG -( -INFO -, -LIBARP -, - -976 -ARP_TIMER_EXPIRY -); - -977 ià( -ifm_chk_pÜt_v4_’abËd - - -978 ( -»t_¬p_d©a --> -pÜt -)) { - -979 - `»que¡_¬p -( -»t_¬p_d©a --> -pÜt -, - -980 -»t_¬p_d©a --> - -); - -982 ià( -ARPICMP_DEBUG -) - -983 - `RTE_LOG -( -INFO -, -LIBARP -, - -985 -__FUNCTION__ -, - -986 -»t_¬p_d©a --> -pÜt -); - -988 ià( - `¹e_tim”_»£t -( -»t_¬p_d©a --> -tim” -, - -989 ( -¬p_timeout - * - -990 - `¹e_g‘_tsc_hz -()), -SINGLE -, - -991 -tim”_lcÜe -, - -992 -¬p_tim”_ÿÎback -, - -993 -¬g -) < 0) - -994 ià( -ARPICMP_DEBUG -) - -995 - `RTE_LOG -( -INFO -, -LIBARP -, - -1000 - `¹e_hash_d–_key -( -¬p_hash_hªdË -, & -¬p_key -); - -1003 - } -} - -1006  - $»move_nd_’Œy_v6 -( -ušt8_t - -v6addr -[], ušt8_ˆ -pÜtid -) - -1008  -i - = 0; - -1009  -nd_’Œy_d©a - * -»t_nd_d©a - = -NULL -; - -1010  -nd_key_v6 - -nd_key -; - -1011 -nd_key -. -pÜt_id - = -pÜtid -; - -1013  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) { - -1014 -nd_key -. -v6 -[ -i -] = -v6addr -[i]; - -1017 -nd_key -. -fžËr1 - = 0; - -1018 -nd_key -. -fžËr2 - = 0; - -1019 -nd_key -. -fžËr3 - = 0; - -1021 -lib_nd_d–‘e_ÿÎed -++; - -1023 ià( -NDIPV6_DEBUG -) { - -1024 - `RTE_LOG -( -INFO -, -LIBARP -, - -1026 -nd_key -. -pÜt_id -); - -1027  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -1028 - `RTE_LOG -( -INFO -, -LIBARP -, "%02X%02X ", -nd_key -. -v6 -[ -i -], - -1029 -nd_key -. -v6 -[ -i - + 1]); - -1032  -nd_tim”_key - -ÿÎback_key -; - -1033 -ÿÎback_key -. -pÜt_id - = -pÜtid -; - -1035  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) { - -1036 -ÿÎback_key -. -v6 -[ -i -] = -v6addr -[i]; - -1039  -»t - = - `¹e_hash_lookup_d©a -( -¬p_hash_hªdË -, & -ÿÎback_key -, - -1040 (**)& -»t_nd_d©a -); - -1041 ià( -»t - < 0) { - -1044 ià( -»t_nd_d©a --> -mode - =ð -DYNAMIC_ND -) { - -1045 - `¹e_tim”_¡Ý -( -»t_nd_d©a --> -tim” -); - -1046 - `¹e_ä“ -( -»t_nd_d©a --> -tim” -); - -1049 - `¹e_hash_d–_key -( -nd_hash_hªdË -, & -nd_key -); - -1050 - } -} - -1053 - $pÝuϋ_¬p_’Œy -(cÚ¡  -‘h”_addr - * -hw_addr -, -ušt32_t - -addr -, - -1054 -ušt8_t - -pÜtid -, ušt8_ˆ -mode -) - -1056  -¬p_key_v4 - -¬p_key -; - -1057 -¬p_key -. -pÜt_id - = -pÜtid -; - -1058 -¬p_key -. - - = -addr -; - -1059 -¬p_key -. -fžËr1 - = 0; - -1060 -¬p_key -. -fžËr2 - = 0; - -1061 -¬p_key -. -fžËr3 - = 0; - -1063 -lib_¬p_pÝuϋ_ÿÎed -++; - -1065 ià( -ARPICMP_DEBUG -) - -1066 - `RTE_LOG -( -INFO -, -LIBARP -, "populate_arp_entry ip %x,…ort %d\n", - -1067 -¬p_key -. - -,‡½_key. -pÜt_id -); - -1069  -¬p_’Œy_d©a - * -Ãw_¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -¬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ƒntry‡lreadyƒxists(%d %d)\n", - -1075 -Ãw_¬p_d©a --> -mode -, mode); - -1080 ià( -mode - =ð -DYNAMIC_ARP -) { - -1081 ià( -Ãw_¬p_d©a - - -1082 && - `is_§me_‘h”_addr -(& -Ãw_¬p_d©a --> -‘h_addr -, -hw_addr -)) { - -1083 ià( -ARPICMP_DEBUG -) { - -1084 - `RTE_LOG -( -INFO -, -LIBARP -, - -1086 ( -¬p_key -. - - >> 24), - -1087 (( -¬p_key -. - - & 0x00ff0000) >> 16), - -1088 (( -¬p_key -. - - & 0x0000ff00) >> 8), - -1089 (( -¬p_key -. - - & 0x000000ff)), - -1090 -¬p_key -. -pÜt_id -); - -1092 -lib_¬p_du¶iÿ‹_found -++; - -1093 -Ãw_¬p_d©a --> -»Œy_couÁ - = 0; - -1094 ià( - `¹e_tim”_»£t -( -Ãw_¬p_d©a --> -tim” -, - -1095 ( -¬p_timeout - * - `¹e_g‘_tsc_hz -()), - -1096 -SINGLE -, -tim”_lcÜe -, - -1097 -¬p_tim”_ÿÎback -, - -1098 -Ãw_¬p_d©a --> -tim”_key -) < 0) - -1099 ià( -ARPICMP_DEBUG -) - -1100 - `RTE_LOG -( -INFO -, -LIBARP -, - -1105 -ušt32_t - -size - = - -1106 - `RTE_CACHE_LINE_ROUNDUP -(( -¬p_’Œy_d©a -)); - -1107 -Ãw_¬p_d©a - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -1108 -Ãw_¬p_d©a --> -‘h_addr - = * -hw_addr -; - -1109 -Ãw_¬p_d©a --> -¡©us - = -COMPLETE -; - -1110 -Ãw_¬p_d©a --> -pÜt - = -pÜtid -; - -1111 -Ãw_¬p_d©a --> - - = -addr -; - -1112 -Ãw_¬p_d©a --> -mode - = mode; - -1113 ià( -¹e_mempoÞ_g‘ - - -1114 ( -tim”_mempoÞ_¬p -, (**)&( -Ãw_¬p_d©a --> -tim” -)) < 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 -. - - >> 24), - -1125 (( -¬p_key -. - - & 0x00ff0000) >> 16), - -1126 (( -¬p_key -. - - & 0x0000ff00) >> 8), - -1127 (( -¬p_key -. - - & 0x000000ff)),‡½_key. -pÜt_id -); - -1130 - `»sÞve_l2_adj -( -addr -, -pÜtid -, -hw_addr -); - -1132 - `¹e_tim”_š™ -( -Ãw_¬p_d©a --> -tim” -); - -1133  -¬p_tim”_key - * -ÿÎback_key - = - -1134 ( -¬p_tim”_key - *) - `¹e_m®loc -( -NULL -, - -1136 -¬p_tim”_key - *), - -1137 -RTE_CACHE_LINE_SIZE -); - -1138 -ÿÎback_key --> -pÜt_id - = -pÜtid -; - -1139 -ÿÎback_key --> - - = -addr -; - -1141 ià( -ARPICMP_DEBUG -) - -1142 - `RTE_LOG -( -INFO -, -LIBARP -, "TIMER STARTED FOR %u seconds\n", - -1143 -ARP_TIMER_EXPIRY -); - -1144 ià( -¹e_tim”_»£t - - -1145 ( -Ãw_¬p_d©a --> -tim” -, ( -¬p_timeout - * - `¹e_g‘_tsc_hz -()), - -1146 -SINGLE -, -tim”_lcÜe -, -¬p_tim”_ÿÎback -, -ÿÎback_key -) < 0) - -1147 ià( -ARPICMP_DEBUG -) - -1148 - `RTE_LOG -( -INFO -, -LIBARP -, - -1151 -Ãw_¬p_d©a --> -tim”_key - = -ÿÎback_key -; - -1153 ià( -Ãw_¬p_d©a - - -1154 && - `is_§me_‘h”_addr -(& -Ãw_¬p_d©a --> -‘h_addr -, -hw_addr -)) { - -1155 ià( -ARPICMP_DEBUG -) { - -1156 - `RTE_LOG -( -INFO -, -LIBARP -, - -1158 ( -¬p_key -. - - >> 24), - -1159 (( -¬p_key -. - - & 0x00ff0000) >> 16), - -1160 (( -¬p_key -. - - & 0x0000ff00) >> 8), - -1161 (( -¬p_key -. - - & 0x000000ff)), - -1162 -¬p_key -. -pÜt_id -); - -1164 -lib_¬p_du¶iÿ‹_found -++; - -1166 -ušt32_t - -size - = - -1167 - `RTE_CACHE_LINE_ROUNDUP -( - -1168 ( -¬p_’Œy_d©a -)); - -1169 -Ãw_¬p_d©a - = - -1170 - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -1171 -Ãw_¬p_d©a --> -‘h_addr - = * -hw_addr -; - -1172 -Ãw_¬p_d©a --> -¡©us - = -COMPLETE -; - -1173 -Ãw_¬p_d©a --> -pÜt - = -pÜtid -; - -1174 -Ãw_¬p_d©a --> - - = -addr -; - -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 -. - - >> 24), - -1183 (( -¬p_key -. - - & 0x00ff0000) >> 16), - -1184 (( -¬p_key -. - - & 0x0000ff00) >> 8), - -1185 (( -¬p_key -. - - & 0x000000ff)), - -1186 -¬p_key -. -pÜt_id -); - -1189 - `»sÞve_l2_adj -( -addr -, -pÜtid -, -hw_addr -); - -1192 ià( -ARPICMP_DEBUG -) { - -1194 - `RTE_LOG -( -INFO -, -LIBARP -, - -1196 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[0], - -1197 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[1], - -1198 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[2], - -1199 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[3], - -1200 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[4], - -1201 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[5], - -1202 ( -¬p_key -. - - >> 24), ((arp_key.ip & 0x00ff0000) >> 16), - -1203 (( -¬p_key -. - - & 0x0000ff00) >> 8), - -1204 (( -¬p_key -. - - & 0x000000ff)), -pÜtid -); - -1205 - `puts -(""); - -1207 - } -} - -1216  - $pÝuϋ_nd_’Œy -(cÚ¡  -‘h”_addr - * -hw_addr -, -ušt8_t - -v6 -[], - -1217 -ušt8_t - -pÜtid -, ušt8_ˆ -mode -) - -1222 -ušt8_t - -i -; - -1223  -nd_key_v6 - -nd_key -; - -1224 -nd_key -. -pÜt_id - = -pÜtid -; - -1226  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -1227 -nd_key -. -v6 -[ -i -] = ipv6[i]; - -1230 -nd_key -. -fžËr1 - = 0; - -1231 -nd_key -. -fžËr2 - = 0; - -1232 -nd_key -. -fžËr3 - = 0; - -1234 -lib_nd_pÝuϋ_ÿÎed -++; - -1237  -nd_’Œy_d©a - * -Ãw_nd_d©a - = - `»Œ›ve_nd_’Œy -( -nd_key -); - -1239 ià( -mode - =ð -DYNAMIC_ND -) { - -1240 ià( -Ãw_nd_d©a - - -1241 && - `is_§me_‘h”_addr -(& -Ãw_nd_d©a --> -‘h_addr -, -hw_addr -)) { - -1243 ià( -NDIPV6_DEBUG -) { - -1244 - `RTE_LOG -( -INFO -, -LIBARP -, - -1246 -nd_key -. -pÜt_id -); - -1247  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -1249 - `RTE_LOG -( -INFO -, -LIBARP -, "%02X%02X ", - -1250 -nd_key -. -v6 -[ -i -], - -1251 -nd_key -. -v6 -[ -i - + 1]); - -1255 -lib_nd_du¶iÿ‹_found -++; - -1256 - `RTE_LOG -( -INFO -, -LIBARP -, "nd_entryƒxists\n"); - -1259 -ušt32_t - -size - = - -1260 - `RTE_CACHE_LINE_ROUNDUP -(( -nd_’Œy_d©a -)); - -1261 -Ãw_nd_d©a - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -1264 -Ãw_nd_d©a --> -‘h_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‘ - - -1269 ( -tim”_mempoÞ_¬p -, (**)&( -Ãw_nd_d©a --> -tim” -)) < 0) { - -1270 - `RTE_LOG -( -INFO -, -LIBARP -, - -1275 ià( -NDIPV6_DEBUG -) - -1276 - `RTE_LOG -( -INFO -, -LIBARP -, "populate_nd_entry ipv6="); - -1278  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) { - -1279 -Ãw_nd_d©a --> -v6 -[ -i -] = ipv6[i]; - -1282 ià( -NDIPV6_DEBUG -) { - -1283  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -1285 - `RTE_LOG -( -INFO -, -LIBARP -, "%02X%02X ", - -1286 -Ãw_nd_d©a --> -v6 -[ -i -], - -1287 -Ãw_nd_d©a --> -v6 -[ -i - + 1]); - -1292 - `¹e_hash_add_key_d©a -( -nd_hash_hªdË -, & -nd_key -, -Ãw_nd_d©a -); - -1296 - `¹e_tim”_š™ -( -Ãw_nd_d©a --> -tim” -); - -1297  -nd_tim”_key - * -ÿÎback_key - = - -1298 ( -nd_tim”_key - *) - `¹e_m®loc -( -NULL -, - -1299 ( -nd_tim”_key - - -1301 -RTE_CACHE_LINE_SIZE -); - -1302 -ÿÎback_key --> -pÜt_id - = -pÜtid -; - -1304  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) { - -1305 -ÿÎback_key --> -v6 -[ -i -] = ipv6[i]; - -1307 ià( -¹e_tim”_»£t - - -1308 ( -Ãw_nd_d©a --> -tim” -, ( -¬p_timeout - * - `¹e_g‘_tsc_hz -()), - -1309 -SINGLE -, -tim”_lcÜe -, -nd_tim”_ÿÎback -, -ÿÎback_key -) < 0) - -1310 - `RTE_LOG -( -INFO -, -LIBARP -, "Err : Timer‡lready„unning\n"); - -1312 ià( -Ãw_nd_d©a - - -1313 && - `is_§me_‘h”_addr -(& -Ãw_nd_d©a --> -‘h_addr -, -hw_addr -)) { - -1314 ià( -NDIPV6_DEBUG -) { - -1315 - `RTE_LOG -( -INFO -, -LIBARP -, - -1317 -nd_key -. -pÜt_id -); - -1318  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -1320 - `RTE_LOG -( -INFO -, -LIBARP -, "%02X%02X ", - -1321 -nd_key -. -v6 -[ -i -], - -1322 -nd_key -. -v6 -[ -i - + 1]); - -1326 -lib_nd_du¶iÿ‹_found -++; - -1328 -ušt32_t - -size - = - -1329 - `RTE_CACHE_LINE_ROUNDUP -( - -1330 ( -nd_’Œy_d©a -)); - -1331 -Ãw_nd_d©a - = - -1332 - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -1335 -Ãw_nd_d©a --> -‘h_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  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) { - -1340 -Ãw_nd_d©a --> -v6 -[ -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 -´štf - - -1355 -´štf - - -1357 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[0], - -1358 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[1], - -1359 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[2], - -1360 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[3], - -1361 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[4], - -1362 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[5], -pÜtid -); - -1363 - `RTE_LOG -( -INFO -, -LIBARP -, "\tipv6="); - -1364  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -1365 -Ãw_nd_d©a --> -v6 -[ -i -] = ipv6[i]; - -1366 - `RTE_LOG -( -INFO -, -LIBARP -, "%02X%02X ", -Ãw_nd_d©a --> -v6 -[ -i -], - -1367 -Ãw_nd_d©a --> -v6 -[ -i - + 1]); - -1370 - `RTE_LOG -( -INFO -, -LIBARP -, "\n"); - -1372 - `puts -(""); - -1374 - } -} - -1376  - $´št_pkt1 -( -¹e_mbuf - * -pkt -) - -1378 -ušt8_t - * -rd - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, 0); - -1379  -i - = 0, -j - = 0; - -1380 - `RTE_LOG -( -INFO -, -LIBARP -, "\nPacket Contents...\n"); - -1381  -i - = 0; i < 20; i++) { - -1382  -j - = 0; j < 20; j++) - -1383 - `RTE_LOG -( -INFO -, -LIBARP -, "%02x ", -rd -[(20 * -i -è+ -j -]); - -1384 - `RTE_LOG -( -INFO -, -LIBARP -, "\n"); - -1386 - } -} - -1388  -‘h”_addr - - gbrßdÿ¡_‘h”_addr - = { - -1389 . -addr_by‹s -[0] = 0xFF, - -1390 . - gaddr_by‹s -[1] = 0xFF, - -1391 . - gaddr_by‹s -[2] = 0xFF, - -1392 . - gaddr_by‹s -[3] = 0xFF, - -1393 . - gaddr_by‹s -[4] = 0xFF, - -1394 . - gaddr_by‹s -[5] = 0xFF, - -1397 cÚ¡  -‘h”_addr - - gnuÎ_‘h”_addr - = { - -1398 . -addr_by‹s -[0] = 0x00, - -1399 . - gaddr_by‹s -[1] = 0x00, - -1400 . - gaddr_by‹s -[2] = 0x00, - -1401 . - gaddr_by‹s -[3] = 0x00, - -1402 . - gaddr_by‹s -[4] = 0x00, - -1403 . - gaddr_by‹s -[5] = 0x00, - -1406  - #MAX_NUM_MAC_ADDRESS - 16 - - ) - -1407  -‘h”_addr - - glšk_hw_addr -[ -MAX_NUM_MAC_ADDRESS -] = { - -1408 {. -addr_by‹s - = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc8} }, - -1409 {. - gaddr_by‹s - = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc9} }, - -1410 {. - gaddr_by‹s - = {0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11} }, - -1411 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1412 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1413 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1414 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1415 {. - gaddr_by‹s - = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc9} }, - -1416 {. - gaddr_by‹s - = {0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11} }, - -1417 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1418 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1419 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1420 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1421 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1422 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1423 {. - gaddr_by‹s - = {0x18, 0x19, 0x1a, 0x1b, 0xcd, 0xef} } - -1426  -‘h”_addr - * - $g‘_lšk_hw_addr -( -ušt8_t - -out_pÜt -) - -1428  & -lšk_hw_addr -[ -out_pÜt -]; - -1429 - } -} - -1431  - $»que¡_¬p -( -ušt8_t - -pÜt_id -, -ušt32_t - - -) - -1434  -‘h”_hdr - * -‘h_h -; - -1435  -¬p_hdr - * -¬p_h -; - -1437 -l2_phy_š‹rçû_t - * -lšk -; - -1438 -lšk - = - `ifm_g‘_pÜt -( -pÜt_id -); - -1439  -¹e_mbuf - * -¬p_pkt - = -lib_¬p_pkt -; - -1441 ià( -¬p_pkt - =ð -NULL -) { - -1442 ià( -ARPICMP_DEBUG -) - -1443 - `RTE_LOG -( -INFO -, -LIBARP -, - -1448 -‘h_h - = - `¹e_pktmbuf_mtod -( -¬p_pkt -,  -‘h”_hdr - *); - -1450 - `‘h”_addr_cÝy -(& -brßdÿ¡_‘h”_addr -, & -‘h_h --> -d_addr -); - -1451 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -1452 & -lšk --> -maÿddr -[0], & -‘h_h --> -s_addr -); - -1453 -‘h_h --> -‘h”_ty³ - = - `CHECK_ENDIAN_16 -( -ETHER_TYPE_ARP -); - -1455 -¬p_h - = ( -¬p_hdr - *)((*) -‘h_h - + ( -‘h”_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 - = ( -ušt32_t -); - -1460 -¬p_h --> -¬p_Ý - = - `CHECK_ENDIAN_16 -( -ARP_OP_REQUEST -); - -1462 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -1463 & -lšk --> -maÿddr -[0], & -¬p_h --> -¬p_d©a -. -¬p_sha -); - -1464 ià( -lšk - &&†šk-> -v4_li¡ -) { - -1465 -¬p_h --> -¬p_d©a -. -¬p_s - = - -1466 ((( -v4li¡_t - *è( -lšk --> -v4_li¡ -))-> -addr -); - -1468 - `‘h”_addr_cÝy -(& -nuÎ_‘h”_addr -, & -¬p_h --> -¬p_d©a -. -¬p_tha -); - -1469 -¬p_h --> -¬p_d©a -. -¬p_t - = - `¹e_ýu_to_be_32 -( - -); - -1470 ià( -ARPICMP_DEBUG -) - -1471 - `RTE_LOG -( -INFO -, -LIBARP -, "arpip:%x‡rp sip :%x\n", - -1472 -¬p_h --> -¬p_d©a -. -¬p_t -,‡½_h->¬p_d©a. -¬p_s -); - -1474 -¬p_pkt --> -pkt_Ën - = 42; - -1475 -¬p_pkt --> -d©a_Ën - = 42; - -1477 ià( -ARPICMP_DEBUG -) { - -1478 - `RTE_LOG -( -INFO -, -LIBARP -, "Sending‡rp„equest\n"); - -1479 - `´št_mbuf -("TX", -pÜt_id -, -¬p_pkt -, -__LINE__ -); - -1481 ià( -lšk -) - -1482 -lšk --> - `Œªsm™_sšgË_pkt -֚k, -¬p_pkt -); - -1483 - } -} - -1485  -¹e_mbuf - * - $»que¡_echo -( -ušt32_t - -pÜt_id -, ušt32_ˆ - -) - -1487  -‘h”_hdr - * -‘h_h -; - -1488  -v4_hdr - * -_h -; - -1489  -icmp_hdr - * -icmp_h -; - -1490 -l2_phy_š‹rçû_t - * -pÜt - = - `ifm_g‘_pÜt -( -pÜt_id -); - -1492  -¹e_mbuf - * -icmp_pkt - = -lib_¬p_pkt -; - -1493 ià( -icmp_pkt - =ð -NULL -) { - -1494 ià( -ARPICMP_DEBUG -) - -1495 - `RTE_LOG -( -INFO -, -LIBARP -, - -1497  -NULL -; - -1500 -‘h_h - = - `¹e_pktmbuf_mtod -( -icmp_pkt -,  -‘h”_hdr - *); - -1502 -_h - = ( -v4_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -1503 -icmp_h - = ( -icmp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -1505 -_h --> -v”siÚ_ihl - = -IP_VHL_DEF -; - -1506 -_h --> -ty³_of_£rviû - = 0; - -1507 -_h --> -tÙ®_Ëngth - = - -1508 - `¹e_ýu_to_be_16 -(( -v4_hdr -è+ ( -icmp_hdr -)); - -1509 -_h --> -·ck‘_id - = 0xaabb; - -1510 -_h --> -äagm’t_off£t - = 0x0000; - -1511 -_h --> -time_to_live - = 64; - -1512 -_h --> -Ãxt_´Ùo_id - = -IPPROTO_ICMP -; - -1513 ià( -pÜt - &&…Üt-> -v4_li¡ -) - -1514 -_h --> -¤c_addr - = - -1515 - `¹e_ýu_to_be_32 -((( -v4li¡_t - *è -pÜt --> -v4_li¡ -)-> -addr -); - -1516 -_h --> -d¡_addr - = - `¹e_ýu_to_be_32 -( - -); - -1518 -_h --> -hdr_checksum - = 0; - -1519 -_h --> -hdr_checksum - = - `¹e_v4_cksum -(ip_h); - -1521 -icmp_h --> -icmp_ty³ - = -IP_ICMP_ECHO_REQUEST -; - -1522 -icmp_h --> -icmp_code - = 0; - -1523 -icmp_h --> -icmp_id’t - = 0xdead; - -1524 -icmp_h --> -icmp_£q_nb - = 0xbeef; - -1526 -icmp_h --> -icmp_cksum - = ~ - `¹e_¿w_cksum -(icmp_h, ( -icmp_hdr -)); - -1528 -icmp_pkt --> -pkt_Ën - = - -1529 ( -‘h”_hdr -è+ ( -v4_hdr -) + - -1530 ( -icmp_hdr -); - -1531 -icmp_pkt --> -d©a_Ën - = icmp_pkt-> -pkt_Ën -; - -1533 - `´št_mbuf -("TX", 0, -icmp_pkt -, -__LINE__ -); - -1535  -icmp_pkt -; - -1536 - } -} - -1543  -¹e_mbuf - * - $£nd_icmp_de¡_uėchabË_msg -( -ušt32_t - -¤c_ -, - -1544 -ušt32_t - -de¡_ -) - -1546  -‘h”_hdr - * -‘h_h -; - -1547  -v4_hdr - * -_h -; - -1548  -icmp_hdr - * -icmp_h -; - -1549  -¹e_mbuf - * -icmp_pkt - = -lib_¬p_pkt -; - -1551 ià( -icmp_pkt - =ð -NULL -) { - -1552 ià( -ARPICMP_DEBUG -) - -1553 - `RTE_LOG -( -INFO -, -LIBARP -, - -1555  -NULL -; - -1558 -‘h_h - = - `¹e_pktmbuf_mtod -( -icmp_pkt -,  -‘h”_hdr - *); - -1559 -_h - = ( -v4_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -1560 -icmp_h - = ( -icmp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -1562 -_h --> -v”siÚ_ihl - = -IP_VHL_DEF -; - -1563 -_h --> -ty³_of_£rviû - = 0; - -1564 -_h --> -tÙ®_Ëngth - = - -1565 - `¹e_ýu_to_be_16 -(( -v4_hdr -è+ ( -icmp_hdr -)); - -1566 -_h --> -·ck‘_id - = 0xaabb; - -1567 -_h --> -äagm’t_off£t - = 0x0000; - -1568 -_h --> -time_to_live - = 64; - -1569 -_h --> -Ãxt_´Ùo_id - = 1; - -1571 -_h --> -d¡_addr - = - `¹e_bsw­32 -( -de¡_ -); - -1572 -_h --> -¤c_addr - = - `¹e_bsw­32 -( -¤c_ -); - -1574 -_h --> -hdr_checksum - = 0; - -1575 -_h --> -hdr_checksum - = - `¹e_v4_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, ( -icmp_hdr -)); - -1582 -icmp_pkt --> -pkt_Ën - = ( -‘h”_hdr -è+ ( -v4_hdr -) + - -1583 ( -icmp_hdr -); - -1584 -icmp_pkt --> -d©a_Ën - = icmp_pkt-> -pkt_Ën -; - -1586  -icmp_pkt -; - -1587 - } -} - -1590 - $´oûss_¬picmp_pkt_·r£ -( -¹e_mbuf - ** -pkt -, -ušt16_t - -pkt_num -, - -1591 -ušt64_t - -pkt_mask -, -l2_phy_š‹rçû_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št64_t - -pkts_fÜ_´oûss - = -pkt_mask -; - -1604 ; -pkts_fÜ_´oûss -;) { - -1606 -ušt8_t - -pos - = (ušt8_tè - `__bužtš_ùzÎ -( -pkts_fÜ_´oûss -); - -1607 -ušt64_t - -pkts_mask - = 1LLU << -pos -; - -1608 -pkts_fÜ_´oûss - &ð~ -pkts_mask -; - -1609 - `´oûss_¬picmp_pkt -( -pkt -[ -pos -], -pÜt -); - -1612 - } -} - -1614  - $´oûss_¬picmp_pkt -( -¹e_mbuf - * -pkt -, -l2_phy_š‹rçû_t - * -pÜt -) - -1616 -ušt8_t - -š_pÜt_id - = -pkt --> -pÜt -; - -1617  -‘h”_hdr - * -‘h_h -; - -1618  -¬p_hdr - * -¬p_h -; - -1619  -v4_hdr - * -_h -; - -1620  -icmp_hdr - * -icmp_h -; - -1622 -ušt32_t - -cksum -; - -1623 -ušt32_t - -_addr -; - -1625 -ušt32_t - -»q_t -; - -1627 -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -,  -‘h”_hdr - *); - -1629 ià( -‘h_h --> -‘h”_ty³ - =ð - `¹e_ýu_to_be_16 -( -ETHER_TYPE_ARP -)) { - -1630 ià( -ARPICMP_DEBUG -) - -1631 - `RTE_LOG -( -INFO -, -LIBARP -, "%s,…ortid %u. Line %d\n\r", - -1632 -__FUNCTION__ -, -pÜt --> -pmdid -, -__LINE__ -); - -1633 -¬p_h - = - -1634 ( -¬p_hdr - *)((*) -‘h_h - + - -1635 ( -‘h”_hdr -)); - -1636 ià( - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_hrd -è!ð -ARP_HRD_ETHER -) - -1637 - `RTE_LOG -( -INFO -, -LIBARP -, - -1639 ià( - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_´o -è!ð -ETHER_TYPE_IPv4 -) - -1640 - `RTE_LOG -( -INFO -, -LIBARP -, - -1642 ià( -¬p_h --> -¬p_hÊ - != 6) - -1643 - `RTE_LOG -( -INFO -, -LIBARP -, - -1645 ià( -¬p_h --> -¬p_¶n - != 4) - -1646 - `RTE_LOG -( -INFO -, -LIBARP -, - -1649 ià( -pÜt --> -v4_li¡ - =ð -NULL -) { - -1650 - `RTE_LOG -( -INFO -, -LIBARP -, - -1655 ià( -¬p_h --> -¬p_d©a -. -¬p_t - != - -1656 (( -v4li¡_t - *è( -pÜt --> -v4_li¡ -))-> -addr -) { - -1657 ià( -¬p_h --> -¬p_d©a -. -¬p_t - =ð¬p_h->¬p_d©a. -¬p_s -) { - -1658 - `pÝuϋ_¬p_’Œy -( - -1659 ( -‘h”_addr - *)& -¬p_h --> -¬p_d©a -. -¬p_sha -, - -1660 - `¹e_ýu_to_be_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -), - -1661 -š_pÜt_id -, - -1662 -DYNAMIC_ARP -); - -1665 - `RTE_LOG -( -INFO -, -LIBARP -,"ARP„equested IP‡ddress mismatches interface IP - discarding\n"); - -1670 ià( -¬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 - `´št_mbuf -("RX", -š_pÜt_id -, -pkt -, - -1684 -__LINE__ -); - -1687 - `pÝuϋ_¬p_’Œy -(( -‘h”_addr - *) - -1688 & -¬p_h --> -¬p_d©a -. -¬p_sha -, - -1689 -¹e_ýu_to_be_32 - - -1690 ( -¬p_h --> -¬p_d©a -. -¬p_s -), - -1691 -š_pÜt_id -, -DYNAMIC_ARP -); - -1694 -»q_t - = -¬p_h --> -¬p_d©a -. -¬p_t -; - -1695 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, &‘h_h-> -d_addr -); - -1696 - `‘h”_addr_cÝy -(( -‘h”_addr - *)& -pÜt --> -maÿddr -[0], & -‘h_h --> -s_addr -); - -1697 -¬p_h --> -¬p_Ý - = - `¹e_ýu_to_be_16 -( -ARP_OP_REPLY -); - -1698 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, - -1699 & -¬p_h --> -¬p_d©a -. -¬p_sha -); - -1700 -¬p_h --> -¬p_d©a -. -¬p_t - = - -1701 -¬p_h --> -¬p_d©a -. -¬p_s -; - -1702 -¬p_h --> -¬p_d©a -. -¬p_s - = -»q_t -; - -1703 - `‘h”_addr_cÝy -(& -‘h_h --> -d_addr -, - -1704 & -¬p_h --> -¬p_d©a -. -¬p_tha -); - -1706 ià( -ARPICMP_DEBUG -) - -1707 - `´št_mbuf -("TX ARP REPLY PKT", - -1708 -pÜt --> -pmdid -, -pkt -, -__LINE__ -); - -1709 -pÜt --> - `Œªsm™_bulk_pkts -ÕÜt, & -pkt -, 1); - -1710 ià( -ARPICMP_DEBUG -) - -1711 - `´št_mbuf -("TX", -pÜt --> -pmdid -, -pkt -, - -1712 -__LINE__ -); - -1715 } ià( -¬p_h --> -¬p_Ý - == - -1716 - `¹e_ýu_to_be_16 -( -ARP_OP_REPLY -)) { - -1717 ià( -ARPICMP_DEBUG -) { - -1718 - `RTE_LOG -( -INFO -, -LIBARP -, - -1720 - `´št_mbuf -("RX", -pÜt --> -pmdid -, -pkt -, - -1721 -__LINE__ -); - -1723 - `pÝuϋ_¬p_’Œy -(( -‘h”_addr - *) - -1724 & -¬p_h --> -¬p_d©a -. -¬p_sha -, - -1725 - `¹e_bsw­32 -( -¬p_h --> - -1726 -¬p_d©a -. -¬p_s -), - -1727 -š_pÜt_id -, -DYNAMIC_ARP -); - -1731 ià( -ARPICMP_DEBUG -) - -1732 - `RTE_LOG -( -INFO -, -LIBARP -, - -1734 -¬p_h --> -¬p_Ý -); - -1738 - `¹e_pktmbuf_ä“ -( -pkt -); - -1740 -_h - = - -1741 ( -v4_hdr - *)((*) -‘h_h - + - -1742 ( -‘h”_hdr -)); - -1743 -icmp_h - = - -1744 ( -icmp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -1746 ià( -‘h_h --> -‘h”_ty³ - =ð - `¹e_ýu_to_be_16 -( -ETHER_TYPE_IPv4 -)) { - -1748 ià( -_h --> -Ãxt_´Ùo_id - !ð -IPPROTO_ICMP -) { - -1749 ià( -ARPICMP_DEBUG -) { - -1750 - `RTE_LOG -( -INFO -, -LIBARP -, - -1753 } ià(( -_h --> -v”siÚ_ihl - & 0xf0è!ð -IP_VERSION_4 -) { - -1754 ià( -ARPICMP_DEBUG -) { - -1755 - `RTE_LOG -( -INFO -, -LIBARP -, - -1758 } ià(( -_h --> -v”siÚ_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 - `´št_mbuf -("RX", -š_pÜt_id -, - -1768 -pkt -, -__LINE__ -); - -1770 -_addr - = -_h --> -¤c_addr -; - -1771 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, - -1772 & -‘h_h --> -d_addr -); - -1773 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -1774 & -pÜt --> -maÿddr -[0], - -1775 & -‘h_h --> -s_addr -); - -1776 ià( -ARPICMP_DEBUG -) - -1777 - `RTE_LOG -( -INFO -, -LIBARP -, - -1779 -__FUNCTION__ -, - -1780 -pÜt --> -pmdid -, -__LINE__ -); - -1782 ià( -is_muÉiÿ¡_v4_addr - - -1783 ( -_h --> -d¡_addr -)) { - -1784 -ušt32_t - -_¤c -; - -1786 -_¤c - = - -1787 - `¹e_be_to_ýu_32 -( -_addr -); - -1788 ià(( -_¤c - & 0x00000003) == 1) - -1789 -_¤c - = - -1790 ( -_¤c - & - -1794 -_¤c - = - -1795 ( -_¤c - & - -1798 -_h --> -¤c_addr - = - -1799 - `¹e_ýu_to_be_32 -( -_¤c -); - -1800 -_h --> -d¡_addr - = -_addr -; - -1802 -_h --> -hdr_checksum - = 0; - -1803 -_h --> -hdr_checksum - = - -1804 ~ - `¹e_¿w_cksum -( -_h -, - -1806 -v4_hdr -)); - -1808 ià( -ARPICMP_DEBUG -) - -1809 - `RTE_LOG -( -INFO -, -LIBARP -, - -1811 -__FUNCTION__ -, - -1812 -pÜt --> -pmdid -, - -1813 -__LINE__ -); - -1814 -_h --> -¤c_addr - = ip_h-> -d¡_addr -; - -1815 -_h --> -d¡_addr - = -_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 -´št_mbuf - - -1833 -š_pÜt_id -, -pkt -, -__LINE__ -); - -1834 -pÜt --> - `Œªsm™_bulk_pkts -ÕÜt, & -pkt -, 1); - -1835 ià( -ARPICMP_DEBUG -) - -1836 - `´št_mbuf -("TX", -pÜt --> -pmdid -, - -1837 -pkt -, -__LINE__ -); - -1840 } ià( -icmp_h --> -icmp_ty³ - == - -1841 -IP_ICMP_ECHO_REPLY - - -1842 && -icmp_h --> -icmp_code - == 0) { - -1843 ià( -ARPICMP_DEBUG -) - -1844 - `´št_mbuf -("RX", -š_pÜt_id -, - -1845 -pkt -, -__LINE__ -); - -1847  -¬p_key_v4 - -¬p_key -; - -1848 -¬p_key -. -pÜt_id - = -š_pÜt_id -; - -1849 -¬p_key -. - - = - -1850 - `¹e_bsw­32 -( -_h --> -¤c_addr -); - -1851 -¬p_key -. -fžËr1 - = 0; - -1852 -¬p_key -. -fžËr2 - = 0; - -1853 -¬p_key -. -fžËr3 - = 0; - -1855  -¬p_’Œy_d©a - * -¬p_’Œy - = - -1856 - `»Œ›ve_¬p_’Œy -( -¬p_key -); - -1857 ià( -¬p_’Œy - =ð -NULL -) { - -1858 ià( -ARPICMP_DEBUG -) - -1859 - `RTE_LOG -( -INFO -, -LIBARP -, - -1861 -¬p_key -. - -, - -1862 -¬p_key -. -pÜt_id -); - -1865 -¬p_’Œy --> -¡©us - = -COMPLETE -; - -1870 - `¹e_pktmbuf_ä“ -( -pkt -); - -1872 - } -} - -1885  - $my_š‘_±Ú_v6 -( -af -, cÚ¡ * -¤c -, * -d¡ -) - -1887  -af -) { - -1888  -AF_INET -: - -1889  - `š‘_±Ú_v4 -( -¤c -, -d¡ -); - -1890  -AF_INET6 -: - -1891  - `š‘_±Ú_v6 -( -¤c -, -d¡ -); - -1893 -”ºo - = -EAFNOSUPPORT -; - -1897 - } -} - -1909  - $š‘_±Ú_v4 -(cÚ¡ * -¤c -, * -d¡ -) - -1911 cÚ¡  -dig™s -[] = "0123456789"; - -1912  -§w_dig™ -, -où‘s -, -ch -; - -1913  -tmp -[ -INADDRSZ -], * - -; - -1915 -§w_dig™ - = 0; - -1916 -où‘s - = 0; - -1917 *( - - = -tmp -) = 0; - -1918 ( -ch - = * -¤c -++) != '\0') { - -1919 cÚ¡ * -pch -; - -1921 -pch - = - `¡rchr -( -dig™s -, -ch -); - -1922 ià( -pch - !ð -NULL -) { - -1923  -Ãw - = * - - * 10 + ( -pch - - -dig™s -); - -1925 ià( -Ãw - > 255) - -1927 ià(! -§w_dig™ -) { - -1928 ià(++ -où‘s - > 4) - -1930 -§w_dig™ - = 1; - -1932 * - - = () -Ãw -; - -1933 } ià( -ch - =ð'.' && -§w_dig™ -) { - -1934 ià( -où‘s - == 4) - -1936 *++ - - = 0; - -1937 -§w_dig™ - = 0; - -1941 ià( -où‘s - < 4) - -1944 - `memýy -( -d¡ -, -tmp -, -INADDRSZ -); - -1946 - } -} - -1961  - $š‘_±Ú_v6 -(cÚ¡ * -¤c -, * -d¡ -) - -1963 cÚ¡  -xdig™s_l -[] = "0123456789abcdef", - -1964 -xdig™s_u -[] = "0123456789ABCDEF"; - -1965  -tmp -[ -IN6ADDRSZ -], * - - = 0, * -’dp - = 0, * -cÞÚp - = 0; - -1966 cÚ¡ * -xdig™s - = 0, * -cu¹ok - = 0; - -1967  -ch - = 0, -§w_xdig™ - = 0, -couÁ_xdig™ - = 0; - -1968  -v® - = 0; - -1969  -dbloù_couÁ - = 0; - -1971 - `mem£t -(( - - = -tmp -), '\0', -IN6ADDRSZ -); - -1972 -’dp - = - - + -IN6ADDRSZ -; - -1973 -cÞÚp - = -NULL -; - -1975 ià(* -¤c - == ':') - -1976 ià(*++ -¤c - != ':') - -1978 -cu¹ok - = -¤c -; - -1979 -§w_xdig™ - = -couÁ_xdig™ - = 0; - -1980 -v® - = 0; - -1982 ( -ch - = * -¤c -++) != '\0') { - -1983 cÚ¡ * -pch -; - -1985 -pch - = - `¡rchr -(( -xdig™s - = -xdig™s_l -), -ch -); - -1986 ià( -pch - =ð -NULL -) - -1987 -pch - = - `¡rchr -(( -xdig™s - = -xdig™s_u -), -ch -); - -1988 ià( -pch - !ð -NULL -) { - -1989 ià( -couÁ_xdig™ - >= 4) - -1991 -v® - <<= 4; - -1992 -v® - |ð( -pch - - -xdig™s -); - -1993 ià( -v® - > 0xffff) - -1995 -§w_xdig™ - = 1; - -1996 -couÁ_xdig™ -++; - -1999 ià( -ch - == ':') { - -2000 -cu¹ok - = -¤c -; - -2001 ià(! -§w_xdig™ -) { - -2002 ià( -cÞÚp -) - -2004 -cÞÚp - = - -; - -2006 } ià(* -¤c - == '\0') { - -2009 ià( - - + ( -št16_t -è> -’dp -) - -2011 * - -++ = ()(( -v® - >> 8) & 0xff); - -2012 * - -++ = ()( -v® - & 0xff); - -2013 -§w_xdig™ - = 0; - -2014 -couÁ_xdig™ - = 0; - -2015 -v® - = 0; - -2016 -dbloù_couÁ -++; - -2019 ià( -ch - =ð'.' && (( - - + -INADDRSZ -è<ð -’dp -) && - -2020 - `š‘_±Ú_v4 -( -cu¹ok -, - -) > 0) { - -2021 - - +ð -INADDRSZ -; - -2022 -§w_xdig™ - = 0; - -2023 -dbloù_couÁ - += 2; - -2028 ià( -§w_xdig™ -) { - -2029 ià( - - + ( -št16_t -è> -’dp -) - -2031 * - -++ = ()(( -v® - >> 8) & 0xff); - -2032 * - -++ = ()( -v® - & 0xff); - -2033 -dbloù_couÁ -++; - -2035 ià( -cÞÚp - !ð -NULL -) { - -2037 ià( -dbloù_couÁ - == 8) - -2044 cÚ¡  -n - = - - - -cÞÚp -; - -2045  -i -; - -2047  -i - = 1; i <ð -n -; i++) { - -2048 -’dp -[- -i -] = -cÞÚp -[ -n - - i]; - -2049 -cÞÚp -[ -n - - -i -] = 0; - -2051 - - = -’dp -; - -2053 ià( - - !ð -’dp -) - -2055 - `memýy -( -d¡ -, -tmp -, -IN6ADDRSZ -); - -2057 - } -} - -2059  - $¬p_·r£_¬gs -( -p–še_·¿ms - * -·¿ms -) - -2061 -ušt32_t - -¬p_rou‹_tbl_´e£Á - = 0; - -2062 -ušt32_t - -nd_rou‹_tbl_´e£Á - = 0; - -2063 -ušt32_t - -pÜts_mac_li¡_´e£Á - = 0; - -2064 -ušt32_t - -numArg -; - -2065 -ušt32_t - -n_vnf_th»ads_´e£Á - = 0; - -2067 -ušt32_t - -pktq_š_´v_´e£Á - = 0; - -2068 -ušt32_t - -´v_to_pub_m­_´e£Á - = 0; - -2070 -ušt8_t - -n_´v_š_pÜt - = 0; - -2071  -i -; - -2072  -i - = 0; i < -PIPELINE_MAX_PORT_IN -; i++) { - -2073 -š_pÜt_dœ_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‹_tbl_´e£Á -); - -2080 - `RTE_SET_USED -( -¬p_rou‹_tbl_´e£Á -); - -2081  -numArg - = 0;‚umArg < -·¿ms --> -n_¬gs -;‚umArg++) { - -2082 * -¬g_Çme - = -·¿ms --> -¬gs_Çme -[ -numArg -]; - -2083 * -¬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_š_´v_´e£Á -) { - -2093 -´štf - - -2097 -pktq_š_´v_´e£Á - = 1; - -2099  -rxpÜt - = 0, -j - = 0; - -2100  -phy_pÜt_num -[5]; - -2101 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "RXQ"); - -2102  -tok’ -) { - -2103 -j - = 0; - -2104 ( -j - < 4è&& ( -tok’ -[j] != '.')) { - -2105 -phy_pÜt_num -[ -j -] = -tok’ -[j]; - -2106 -j -++; - -2108 -phy_pÜt_num -[ -j -] = '\0'; - -2109 -rxpÜt - = - `©oi -( -phy_pÜt_num -); - -2110 -´v_š_pÜt_a -[ -n_´v_š_pÜt -++] = -rxpÜt -; - -2111 ià( -rxpÜt - < 0) - -2112 -rxpÜt - = 0; - -2113 -´štf - - -2115 -tok’ -, -phy_pÜt_num -, -rxpÜt -); - -2116 -´v_š_pÜt_a -[ -n_´v_š_pÜt -++] = -rxpÜt -; - -2117 if( -rxpÜt - < -PIPELINE_MAX_PORT_IN -) - -2118 -š_pÜt_dœ_a -[ -rxpÜt -] = 1; - -2119 -tok’ - = - `¡¹ok -( -NULL -, "RXQ"); - -2122 ià( -n_´v_š_pÜt - == 0) { - -2123 -´štf - - -2131 ià( - `¡rcmp -( -¬g_Çme -, "prv_to_pub_map") == 0) { - -2132 ià( -´v_to_pub_m­_´e£Á -) { - -2133 -´štf - - -2137 -´v_to_pub_m­_´e£Á - = 1; - -2139  -rxpÜt - = 0, -txpÜt - = 0, -j - = 0, -k - = 0; - -2140  -rx_phy_pÜt_num -[5]; - -2141  -tx_phy_pÜt_num -[5]; - -2142 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "("); - -2143  -tok’ -) { - -2144 -j - = 0; - -2145 ( -j - < 4è&& ( -tok’ -[j] != ',')) { - -2146 -rx_phy_pÜt_num -[ -j -] = -tok’ -[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 ( -k - < 4è&& ( -tok’ -[ -j - + k] != ')')) { - -2157 -tx_phy_pÜt_num -[ -k -] = -tok’ -[ -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’ -, -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 ( -š_pÜt_dœ_a -[ -rxpÜt -] != 1)) { - -2174 -´štf - - -2176 -rxpÜt -, -txpÜt -, - -2177 -š_pÜt_dœ_a -[ -rxpÜt -]); - -2181 -´v_to_pub_m­ -[ -rxpÜt -] = -txpÜt -; - -2182 -pub_to_´v_m­ -[ -txpÜt -] = -rxpÜt -; - -2183 -tok’ - = - `¡¹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 - `Œim -( -¬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št32_t - -i - = 0, -j - = 0, -k - = 0, -MAC_NUM_BYTES - = 6; - -2217  -by‹SŒ -[ -MAC_NUM_BYTES -][3]; - -2218 -ušt32_t - -by‹ -[ -MAC_NUM_BYTES -]; - -2220 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, " "); - -2221  -tok’ -) { - -2222 -k - = 0; - -2223  -i - = 0; i < -MAC_NUM_BYTES -; i++) { - -2224  -j - = 0; j < 2; j++) { - -2225 -by‹SŒ -[ -i -][ -j -] = -tok’ -[ -k -++]; - -2227 -by‹SŒ -[ -i -][ -j -] = '\0'; - -2228 -k -++; - -2231  -i - = 0; i < -MAC_NUM_BYTES -; i++) { - -2232 -by‹ -[ -i -] = - `¡¹oul -( -by‹SŒ -[i], -NULL -, 16); - -2235 ià( -ARPICMP_DEBUG -) { - -2236 - `RTE_LOG -( -INFO -, -LIBARP -, "token: %s", - -2237 -tok’ -); - -2238  -i - = 0; i < -MAC_NUM_BYTES -; i++) - -2239 - `RTE_LOG -( -INFO -, -LIBARP -, - -2240 ", by‹[%u] %u", -i -, - -2241 -by‹ -[ -i -]); - -2242 - `RTE_LOG -( -INFO -, -LIBARP -, "\n"); - -2245  -i - = 0; i < -MAC_NUM_BYTES -; i++) - -2246 -lšk_hw_addr - - -2247 [ -lšk_hw_addr_¬¿y_idx -]. -addr_by‹s - - -2248 [ -i -] = -by‹ -[i]; - -2250 -lšk_hw_addr_¬¿y_idx -++; - -2251 -tok’ - = - `¡¹ok -( -NULL -, " "); - -2258 ià( - `¡rcmp -( -¬g_Çme -, "arp_route_tbl") == 0) { - -2259 -¬p_rou‹_tbl_´e£Á - = 1; - -2261 -ušt32_t - -de¡_ - = 0, -mask - = 0, -tx_pÜt - = 0, -nh_ - = - -2262 0, -i - = 0, -j - = 0, -k - = 0, -l - = 0; - -2263 -ušt32_t - -¬p_rou‹_tbl_¡r_max_Ën - = 10; - -2264  -de¡__¡r -[ -¬p_rou‹_tbl_¡r_max_Ën -]; - -2265  -mask_¡r -[ -¬p_rou‹_tbl_¡r_max_Ën -]; - -2266  -tx_pÜt_¡r -[ -¬p_rou‹_tbl_¡r_max_Ën -]; - -2267  -nh__¡r -[ -¬p_rou‹_tbl_¡r_max_Ën -]; - -2268 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "("); - -2269  -tok’ -) { - -2270 -i - = 0; - -2271 ( -i - < ( -¬p_rou‹_tbl_¡r_max_Ën - - 1)) - -2272 && ( -tok’ -[ -i -] != ',')) { - -2273 -de¡__¡r -[ -i -] = -tok’ -[i]; - -2274 -i -++; - -2276 -de¡__¡r -[ -i -] = '\0'; - -2277 -de¡_ - = - `¡¹oul -( -de¡__¡r -, -NULL -, 16); - -2279 -i -++; - -2280 -j - = 0; - -2281 ( -j - < ( -¬p_rou‹_tbl_¡r_max_Ën - - 1)) - -2282 && ( -tok’ -[ -i - + -j -] != ',')) { - -2283 -mask_¡r -[ -j -] = -tok’ -[ -i - + j]; - -2284 -j -++; - -2286 -mask_¡r -[ -j -] = '\0'; - -2287 -mask - = - `¡¹oul -( -mask_¡r -, -NULL -, 16); - -2289 -j -++; - -2290 -k - = 0; - -2291 ( -k - < ( -¬p_rou‹_tbl_¡r_max_Ën - - 1)) - -2292 && ( -tok’ -[ -i - + -j - + -k -] != ',')) { - -2293 -tx_pÜt_¡r -[ -k -] = -tok’ -[ -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 ( -l - < ( -¬p_rou‹_tbl_¡r_max_Ën - - 1)) - -2302 && ( -tok’ -[ -i - + -j - + -k - + -l -] != ')')) { - -2303 -nh__¡r -[ -l -] = -tok’ -[ -i - + -j - + -k - +†]; - -2304 -l -++; - -2306 -nh__¡r -[ -l -] = '\0'; - -2307 -nh_ - = - `¡¹oul -( -nh__¡r -, -NULL -, 16); - -2310 - `RTE_LOG -( -INFO -, -LIBARP -, "token: %s, " - -2315 -tok’ -, -de¡__¡r -, -de¡_ -, - -2316 -mask_¡r -, -mask -, -tx_pÜt_¡r -, - -2317 -tx_pÜt -, -nh__¡r -, -nh_ -); - -2328 -lib_¬p_rou‹_bË -[ -¬p_rou‹_tbl_šdex -]. - - = - -2329 -de¡_ -; - -2330 -lib_¬p_rou‹_bË -[ -¬p_rou‹_tbl_šdex -]. -mask - = - -2331 -mask -; - -2332 -lib_¬p_rou‹_bË -[ -¬p_rou‹_tbl_šdex -]. -pÜt - = - -2333 -tx_pÜt -; - -2334 -lib_¬p_rou‹_bË -[ -¬p_rou‹_tbl_šdex -]. -nh - = - -2335 -nh_ -; - -2336 -¬p_rou‹_tbl_šdex -++; - -2337 -tok’ - = - `¡¹ok -( -NULL -, "("); - -2344 ià( - `¡rcmp -( -¬g_Çme -, "nd_route_tbl") == 0) { - -2345 -nd_rou‹_tbl_´e£Á - = 1; - -2347 -ušt8_t - -de¡_v6 -[16], -d•th - = 0, -tx_pÜt - = - -2348 0, -nh_v6 -[16], -i - = 0, -j - = 0, -k - = 0, -l - = 0; - -2349 -ušt8_t - -nd_rou‹_tbl_¡r_max_Ën - = 128; - -2350  -de¡_v6_¡r -[ -nd_rou‹_tbl_¡r_max_Ën -]; - -2351  -d•th_¡r -[ -nd_rou‹_tbl_¡r_max_Ën -]; - -2352  -tx_pÜt_¡r -[ -nd_rou‹_tbl_¡r_max_Ën -]; - -2353  -nh_v6_¡r -[ -nd_rou‹_tbl_¡r_max_Ën -]; - -2354 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "("); - -2355  -tok’ -) { - -2356 -i - = 0; - -2357 ( -i - < ( -nd_rou‹_tbl_¡r_max_Ën - - 1)) - -2358 && ( -tok’ -[ -i -] != ',')) { - -2359 -de¡_v6_¡r -[ -i -] = -tok’ -[i]; - -2360 -i -++; - -2362 -de¡_v6_¡r -[ -i -] = '\0'; - -2363 - `my_š‘_±Ú_v6 -( -AF_INET6 -, -de¡_v6_¡r -, - -2364 & -de¡_v6 -); - -2366 -i -++; - -2367 -j - = 0; - -2368 ( -j - < ( -nd_rou‹_tbl_¡r_max_Ën - - 1)) - -2369 && ( -tok’ -[ -i - + -j -] != ',')) { - -2370 -d•th_¡r -[ -j -] = -tok’ -[ -i - + j]; - -2371 -j -++; - -2373 -d•th_¡r -[ -j -] = '\0'; - -2375  -s -; - -2376  -s - = 0; -d•th_¡r -[s] != '\0'; ++s) - -2377 -d•th - = d•th * 10 + -d•th_¡r -[ -s -] - '0'; - -2379 -j -++; - -2380 -k - = 0; - -2381 ( -k - < ( -nd_rou‹_tbl_¡r_max_Ën - - 1)) - -2382 && ( -tok’ -[ -i - + -j - + -k -] != ',')) { - -2383 -tx_pÜt_¡r -[ -k -] = -tok’ -[ -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 ( -l - < ( -nd_rou‹_tbl_¡r_max_Ën - - 1)) - -2392 && ( -tok’ -[ -i - + -j - + -k - + -l -] != ')')) { - -2393 -nh_v6_¡r -[ -l -] = -tok’ -[ -i - + -j - + -k - +†]; - -2394 -l -++; - -2396 -nh_v6_¡r -[ -l -] = '\0'; - -2397 - `my_š‘_±Ú_v6 -( -AF_INET6 -, -nh_v6_¡r -, - -2398 & -nh_v6 -); - -2401  -i - = 0; i < 16; i++) { - -2402 -lib_nd_rou‹_bË - - -2403 [ -nd_rou‹_tbl_šdex -]. -v6 -[ -i -] = - -2404 -de¡_v6 -[ -i -]; - -2405 -lib_nd_rou‹_bË - - -2406 [ -nd_rou‹_tbl_šdex -]. -nhv6 -[ -i -] = - -2407 -nh_v6 -[ -i -]; - -2409 -lib_nd_rou‹_bË -[ -nd_rou‹_tbl_šdex -]. -d•th - = - -2410 -d•th -; - -2411 -lib_nd_rou‹_bË -[ -nd_rou‹_tbl_šdex -]. -pÜt - = - -2412 -tx_pÜt -; - -2414 -nd_rou‹_tbl_šdex -++; - -2415 -tok’ - = - `¡¹ok -( -NULL -, "("); - -2434 - } -} - -2436  - $lib_¬p_š™ -( -p–še_·¿ms - * -·¿ms -, - -2437 -__¹e_unu£d -  -­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Þ_ü—‹ -("lib_¬p_mbuf_tx_poÞ", -NB_ARPICMP_MBUF -, 32, - -2451 0, -RTE_MBUF_DEFAULT_BUF_SIZE -, - -2452 - `¹e_sock‘_id -()); - -2454 ià( -lib_¬p_pktmbuf_tx_poÞ - =ð -NULL -) { - -2455 - `RTE_LOG -( -INFO -, -LIBARP -, "ARP mbuf…ool 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†ib_arp_pkt‡lloc failed.\n"); - -2465 -¬p_hash_·¿ms -. -sock‘_id - = - `¹e_sock‘_id -(); - -2466 -¬p_hash_·¿ms -. -’Œ›s - = -MAX_NUM_ARP_ENTRIES -; - -2467 -¬p_hash_·¿ms -. -key_Ën - = ( -¬p_key_v4 -); - -2468 -¬p_hash_hªdË - = - `¹e_hash_ü—‹ -(& -¬p_hash_·¿ms -); - -2470 ià( -¬p_hash_hªdË - =ð -NULL -) { - -2471 - `RTE_LOG -( -INFO -, -LIBARP -, - -2473 -¬p_hash_·¿ms -. -sock‘_id -); - -2475 - `RTE_LOG -( -INFO -, -LIBARP -, "arp_hash_handle %p\n\n", - -2476 (*) -¬p_hash_hªdË -); - -2481 -tim”_mempoÞ_¬p - = - `¹e_mempoÞ_ü—‹ -("timer_mempool_arp", - -2482 -tim”_objs_mempoÞ_couÁ -, - -2483 ( -¹e_tim” -), - -2485 -NULL -, NULL, - -2486 -NULL -, NULL, - `¹e_sock‘_id -(), 0); - -2487 ià( -tim”_mempoÞ_¬p - =ð -NULL -) { - -2488 - `¹e_·nic -("timer_mempool createƒrror\n"); - -2490 - `¹e_tim”_subsy¡em_š™ -(); - -2491 - `li¡_add_ty³ -( -ETHER_TYPE_ARP -, -´oûss_¬picmp_pkt_·r£ -); - -2494 -nd_hash_·¿ms -. -sock‘_id - = - `¹e_sock‘_id -(); - -2495 -nd_hash_·¿ms -. -’Œ›s - = -MAX_NUM_ND_ENTRIES -; - -2496 -nd_hash_·¿ms -. -key_Ën - = ( -nd_key_v6 -); - -2497 -nd_hash_hªdË - = - `¹e_hash_ü—‹ -(& -nd_hash_·¿ms -); - -2498 ià( -nd_hash_hªdË - =ð -NULL -) { - -2499 - `RTE_LOG -( -INFO -, -LIBARP -, - -2501 -nd_hash_·¿ms -. -sock‘_id -); - -2503 - `RTE_LOG -( -INFO -, -LIBARP -, "nd_hash_handle %p\n\n", - -2504 (*) -nd_hash_hªdË -); - -2508 - } -} - -2510  - $¬p_tim”_ÿÎback -( -¹e_tim” - * -tim” -, * -¬g -) - -2512  -¬p_tim”_key - * -»move_key - = (¬p_tim”_key *) -¬g -; - -2513 ià( -ARPICMP_DEBUG -) - -2514 - `RTE_LOG -( -INFO -, -LIBARP -, "ARP TIMER callback :ƒxpire :%d\n", - -2515 () -tim” --> -expœe -); - -2516 ià( -ARPICMP_DEBUG -) - -2517 - `RTE_LOG -( -INFO -, -LIBARP -, - -2519 ( -»move_key --> - - >> 24), - -2520 (( -»move_key --> - - & 0x00ff0000) >> 16), - -2521 (( -»move_key --> - - & 0x0000ff00) >> 8), - -2522 (( -»move_key --> - - & 0x000000ff)),„emove_key-> -pÜt_id -); - -2523 - `»move_¬p_’Œy -(( -ušt32_t -è -»move_key --> - -, - -2524 ( -ušt8_t -è -»move_key --> -pÜt_id -, -¬g -); - -2526 - } -} - -2528  - $nd_tim”_ÿÎback -( -¹e_tim” - * -tim” -, * -¬g -) - -2530  -nd_tim”_key - * -»move_key - = (nd_tim”_key *) -¬g -; - -2531 ià( -ARPICMP_DEBUG -) - -2532 - `RTE_LOG -( -INFO -, -LIBARP -, "ndime callback :ƒxpire :%d\n", - -2533 () -tim” --> -expœe -); - -2534 - `»move_nd_’Œy_v6 -( -»move_key --> -v6 -,„emove_key-> -pÜt_id -); - -2536 - } -} - -2538  - $ü—‹_¬p_bË -() - -2541  -i -; - -2542  -i - = 0; i < -MAX_ARP_DATA_ENTRY_TABLE -; i++) { - -2543 - `pÝuϋ_¬p_’Œy -((cÚ¡  -‘h”_addr - *) - -2544 & -¬p_’Œy_d©a_bË -[ -i -]. -‘h_addr -, - -2545 -¬p_’Œy_d©a_bË -[ -i -]. - -, - -2546 ( -ušt8_t -è -¬p_’Œy_d©a_bË -[ -i -]. -pÜt -, - -2547 -STATIC_ARP -); - -2549 - `´št_¬p_bË -(); - -2551 - } -} - -2553  - $ü—‹_nd_bË -() - -2556  -i -; - -2557  -i - = 0; i < -MAX_ND_DATA_ENTRY_TABLE -; i++) { - -2558 - `pÝuϋ_nd_’Œy -((cÚ¡  -‘h”_addr - *) - -2559 -nd_’Œy_d©a_bË -[ -i -]. -‘h_addr -, - -2560 -nd_’Œy_d©a_bË -[ -i -]. -v6 -, - -2561 ( -ušt8_t -è -nd_’Œy_d©a_bË -[ -i -]. -pÜt -, - -2562 -STATIC_ND -); - -2564 - `´št_nd_bË -(); - -2566 - } -} - -2568  - $£nd_g¿tu™ous_¬p -( -l2_phy_š‹rçû_t - * -pÜt -) - -2570  -‘h”_hdr - * -‘h_h -; - -2571  -¬p_hdr - * -¬p_h -; - -2573  -¹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 -‘h_h - = - `¹e_pktmbuf_mtod -( -¬p_pkt -,  -‘h”_hdr - *); - -2590 - `‘h”_addr_cÝy -(& -brßdÿ¡_‘h”_addr -, & -‘h_h --> -d_addr -); - -2591 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -2592 & -pÜt --> -maÿddr -[0], & -‘h_h --> -s_addr -); - -2593 -‘h_h --> -‘h”_ty³ - = - `CHECK_ENDIAN_16 -( -ETHER_TYPE_ARP -); - -2595 -¬p_h - = ( -¬p_hdr - *)((*) -‘h_h - + ( -‘h”_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 - = ( -ušt32_t -); - -2600 -¬p_h --> -¬p_Ý - = - `CHECK_ENDIAN_16 -( -ARP_OP_REQUEST -); - -2602 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -2603 & -pÜt --> -maÿddr -[0], & -¬p_h --> -¬p_d©a -. -¬p_sha -); - -2604 ià( -pÜt --> -v4_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 - = ((( -v4li¡_t - *è( -pÜt --> -v4_li¡ -))-> -addr -); - -2611 - `‘h”_addr_cÝy -(& -nuÎ_‘h”_addr -, & -¬p_h --> -¬p_d©a -. -¬p_tha -); - -2613 -¬p_h --> -¬p_d©a -. -¬p_t - = 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 - `´št_mbuf -("TX", -pÜt --> -pmdid -, -¬p_pkt -, -__LINE__ -); - -2624 -pÜt --> - `Œªsm™_sšgË_pkt -ÕÜt, -¬p_pkt -); - -2625 - } -} - -2627  - $£t_¬pdebug -( -æag -) - -2629 ià( -æag -) { - -2630 - `RTE_LOG -( -INFO -, -LIBARP -, "Debugsurned on\n\r"); - -2631 -ARPICMP_DEBUG - = 1; - -2632 -NDIPV6_DEBUG - = 1; - -2635 - `RTE_LOG -( -INFO -, -LIBARP -, "Debugsurned off\n\r"); - -2636 -ARPICMP_DEBUG - = 0; - -2637 -NDIPV6_DEBUG - = 0; - -2639 - } -} - -2641  - $£t_¬±imeout -( -ušt32_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:‡rp_timeout %u\n\r", - -2654 -¬p_timeout -); - -2655 - } -} - - @VIL/l2l3_stack/lib_arp.h - -17 #iâdeà -__INCLUDE_LIB_ARP_H__ - - -18  - #__INCLUDE_LIB_ARP_H__ - - - ) - -20  - ~<¹e_p–še.h -> - -21  - ~"¹e_‘h”.h -" - -22  - ~"l2_´Ùo.h -" - -23  - ~"­p.h -" - -25  - #ND_IPV6_ADDR_SIZE - 16 - - ) - -26  - #ND_IPV6_TIMER_EXPIRY - 300 - - ) - -27  - #ARP_TIMER_EXPIRY - 1800 - - ) - -28  - #TIMER_MILLISECOND - 1 - - ) - -29  - #RTE_LOGTYPE_LIBARP - -RTE_LOGTYPE_USER1 - - - ) - -30  - #MAX_ND_RT_ENTRY - 16 - - ) - -31  - #MAX_ARP_RT_ENTRY - 16 - - ) - -37  - slib_¬p_rou‹_bË_’Œy - { - -38 -ušt32_t - - m -; - -39 -ušt32_t - - mmask -; - -40 -ušt32_t - - mpÜt -; - -41 -ušt32_t - - mnh -; - -48  - slib_nd_rou‹_bË_’Œy - { - -49 -ušt8_t - - mv6 -[16]; - -50 -ušt8_t - - md•th -; - -51 -ušt32_t - - mpÜt -; - -52 -ušt8_t - - mnhv6 -[16]; - -55  -lib_nd_rou‹_bË_’Œy - -lib_nd_rou‹_bË -[ -MAX_ND_RT_ENTRY -]; - -56  -lib_¬p_rou‹_bË_’Œy - -lib_¬p_rou‹_bË -[ -MAX_ARP_RT_ENTRY -]; - -59 - mARP_FOUND -, - -60 - mARP_NOT_FOUND -, - -61 - mNH_NOT_FOUND -, - -64 - e¬p_key_ty³ - { - -65 - mARP_IPV4 -, - -66 - mND_IPV6 -, - -69  - s¬p_key_v4 - { - -70 -ušt32_t - - m -; - -71 -ušt8_t - - mpÜt_id -; - -72 -ušt8_t - - mfžËr1 -; - -73 -ušt8_t - - mfžËr2 -; - -74 -ušt8_t - - mfžËr3 -; - -80  - snd_key_v6 - { - -81 -ušt8_t - - mv6 -[ -ND_IPV6_ADDR_SIZE -]; - -82 -ušt8_t - - mpÜt_id -; - -83 -ušt8_t - - mfžËr1 -; - -84 -ušt8_t - - mfžËr2 -; - -85 -ušt8_t - - mfžËr3 -; - -91  - s¬p_key - { - -92 -¬p_key_ty³ - - mty³ -; - -94  -¬p_key_v4 - - mv4 -; - -95 } - mkey -; - -103  - snd_tim”_key - { - -104 -ušt8_t - - mv6 -[ -ND_IPV6_ADDR_SIZE -]; - -105 -ušt8_t - - mpÜt_id -; - -106 } - g__¹e_ÿche_®igÃd -; - -112  - s¬p_tim”_key - { - -113 -ušt32_t - - m -; - -114 -ušt8_t - - mpÜt_id -; - -115 } - g__¹e_ÿche_®igÃd -; - -117 -ušt32_t - -ARPICMP_DEBUG -; - -119  - #COMPLETE - 1 - - ) - -120  - #INCOMPLETE - 0 - - ) - -122 -ušt32_t - -NDIPV6_DEBUG -; - -124  - #ICMPv6_COMPLETE - 1 - - ) - -125  - #ICMPv6_INCOMPLETE - 0 - - ) - -126  - #STATIC_ARP - 1 - - ) - -127  - #DYNAMIC_ARP - 0 - - ) - -128  - #STATIC_ND - 1 - - ) - -129  - #DYNAMIC_ND - 0 - - ) - -136  - s¬p_’Œy_d©a - { - -137  -‘h”_addr - - m‘h_addr -; - -138 -ušt32_t - - m -; - -139 -ušt8_t - - mpÜt -; - -140 -ušt8_t - - m¡©us -; - -141 -ušt8_t - - mmode -; - -142 -ušt8_t - - m»Œy_couÁ -; - -143  -¹e_tim” - * - mtim” -; - -144  -¬p_tim”_key - * - mtim”_key -; - -145 } -__©Œibu‹__ - (( -·cked -)); - -152  - sbË_¬p_’Œy_d©a - { - -153 -ušt8_t - - m‘h_addr -[6]; - -154 -ušt8_t - - mpÜt -; - -155 -ušt8_t - - m¡©us -; - -156 -ušt32_t - - m -; - -157 } -__©Œibu‹__ - (( -·cked -)); - -164  - snd_’Œy_d©a - { - -165  -‘h”_addr - - m‘h_addr -; - -166 -ušt8_t - - mpÜt -; - -167 -ušt8_t - - m¡©us -; - -168 -ušt8_t - - mmode -; - -169 -ušt8_t - - mv6 -[ -ND_IPV6_ADDR_SIZE -]; - -170  -¹e_tim” - * - mtim” -; - -171 } -__©Œibu‹__ - (( -·cked -)); - -179  - sbË_nd_’Œy_d©a - { - -180 -ušt8_t - - m‘h_addr -[6]; - -181 -ušt8_t - - mpÜt -; - -182 -ušt8_t - - m¡©us -; - -183 -ušt8_t - - mv6 -[ -ND_IPV6_ADDR_SIZE -]; - -184  -¹e_tim” - * - mtim” -; - -185 } -__©Œibu‹__ - (( -·cked -)); - -201  -g‘_de¡_mac_add»ss -(cÚ¡ -ušt32_t - -addr -, ušt32_ˆ* -phy_pÜt -, - -202  -‘h”_addr - * -hw_addr -, -ušt32_t - * -nh -); - -216  -g‘_de¡_mac_addr_pÜt -(cÚ¡ -ušt32_t - -addr -, - -217 -ušt32_t - * -phy_pÜt -,  -‘h”_addr - * -hw_addr -); - -230  -g‘_de¡_mac_addr -(cÚ¡ -ušt32_t - -addr -, ušt32_ˆ* -phy_pÜt -, - -231  -‘h”_addr - * -hw_addr -); - -246  -g‘_de¡_mac_add»ss_v6 -( -ušt8_t - -v6addr -[], -ušt32_t - * -phy_pÜt -, - -247  -‘h”_addr - * -hw_addr -, -ušt8_t - -nhv6 -[]); - -262  -g‘_de¡_mac_add»ss_v6_pÜt -( -ušt8_t - -v6addr -[], -ušt32_t - * -phy_pÜt -, - -263  -‘h”_addr - * -hw_addr -, - -264 -ušt8_t - -nhv6 -[]); - -272  -‘h”_addr - * -g‘_lšk_hw_addr -( -ušt8_t - -out_pÜt -); - -279  -´št_¬p_bË -(); - -286  -´št_nd_bË -(); - -295  -»move_¬p_’Œy -( -ušt32_t - -addr -, -ušt8_t - -pÜtid -, * -¬g -); - -305  -»move_nd_’Œy_v6 -( -ušt8_t - -v6addr -[], ušt8_ˆ -pÜtid -); - -318  -pÝuϋ_¬p_’Œy -(cÚ¡  -‘h”_addr - * -hw_addr -, -ušt32_t - -addr -, - -319 -ušt8_t - -pÜtid -, ušt8_ˆ -mode -); - -333  -pÝuϋ_nd_’Œy -(cÚ¡  -‘h”_addr - * -hw_addr -, -ušt8_t - - -[], - -334 -ušt8_t - -pÜtid -, ušt8_ˆ -mode -); - -344  -»que¡_¬p -( -ušt8_t - -pÜt_id -, -ušt32_t - - -); - -353  -¹e_mbuf - * -»que¡_echo -( -ušt32_t - -pÜt_id -, ušt32_ˆ - -); - -362  -¹e_mbuf - * -»que¡_icmpv6_echo -( -ušt8_t - -v6 -[], -l2_phy_š‹rçû_t - * -pÜt -); - -371  -¹e_mbuf - * -»que¡_nd -( -ušt8_t - -v6 -[], -l2_phy_š‹rçû_t - * -pÜt -); - -382  -´oûss_¬picmp_pkt -( -¹e_mbuf - * -pkt -, -l2_phy_š‹rçû_t - * -pÜt -); - -390  -¬p_’Œy_d©a - * -»Œ›ve_¬p_’Œy -(cÚ¡  -¬p_key_v4 - -¬p_key -); - -399  -nd_’Œy_d©a - * -»Œ›ve_nd_’Œy -( -nd_key_v6 - -nd_key -); - -405  -lib_¬p_š™ -( -p–še_·¿ms - * -·¿ms -,  -­p_·¿ms - * -­p -); - -407  -£t_pÜt_to_lßdb_m­ -( -ušt8_t - -p–še_num -); - -412 -ušt8_t - -g‘_pÜt_to_lßdb_m­ -(ušt8_ˆ -phy_pÜt_id -); - -414  -£t_phy_špÜt_m­ -( -ušt8_t - -p–še_num -, ušt8_ˆ* -m­ -); - -415  -£t_phy_ouÜt_m­ -( -ušt8_t - -p–še_num -, ušt8_ˆ* -m­ -); - -421 -ušt8_t - -g‘_lßdb_ouÜt_id -(ušt8_ˆ -aùu®_phy_pÜt -); - -422 -ušt8_t - -g‘_vnf_£t_num -(ušt8_ˆ -p–še_num -); - -424  -p–šes_pÜt_šfo -(); - -425  -p–šes_m­_šfo -(); - -434  -¬p_tim”_ÿÎback -( -¹e_tim” - *, * -¬g -); - -443  -nd_tim”_ÿÎback -( -¹e_tim” - * -tim” -, * -¬g -); - -449  -ü—‹_¬p_bË -(); - -454  -ü—‹_nd_bË -(); - -467  -´oûss_¬picmp_pkt_·r£ -( -¹e_mbuf - ** -pkt -, -ušt16_t - -pkt_num -, - -468 -ušt64_t - -pkt_mask -, -l2_phy_š‹rçû_t - * -pÜt -); - -475  -£nd_g¿tu™ous_¬p -( -l2_phy_š‹rçû_t - * -pÜt -); - -481  -£t_¬pdebug -( -æag -); - -487  -£t_¬±imeout -( -ušt32_t - -timeout_v® -); - -495 -ušt32_t - -g‘_nh -(uint32_t, uint32_t *); - -505  -g‘_nh_v6 -( -ušt8_t - -v6 -[], -ušt32_t - * -pÜt -, ušt8_ˆ -nhv6 -[]); - - @VIL/l2l3_stack/lib_icmpv6.c - -18  - ~"lib_icmpv6.h -" - -20  - $´št_pkt -( -ušt8_t - * -rd -) - -22  -i - = 0, -j - = 0; - -24 - `´štf -("Packet Contents:\n"); - -26  -i - = 0; i < 20; i++) { - -27  -j - = 0; j < 20; j++) - -28 - `´štf -("%02x ", -rd -[(20 * -i -è+ -j -]); - -30 - `´štf -("\n"); - -32 - } -} - -34  -ušt16_t - - $icmpv6_v6_nd_checksum -( -¹e_mbuf - * -pkt -) - -36  -‘h”_hdr - * -‘h_h -; - -37  -v6_hdr - * -v6_h -; - -38  -icmpv6_hdr - * -icmpv6_h -; - -40 -size_t - -tm¶’ -, -off£t -; - -41 -ušt8_t - * -tmµack‘ -, * -ack‘ -; - -43 -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -,  -‘h”_hdr - *); - -44 -v6_h - = ( -v6_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -45 -icmpv6_h - = - -46 ( -icmpv6_hdr - *)((*) -v6_h - + ( -v6_hdr -)); - -48 -ušt32_t - -·ylßdËn - = 0x20; - -49 -·ylßdËn - = - `¹e_bsw­32 -(payloadlen); - -51 -tm¶’ - = 40 + ( -icmpv6_hdr -è+ ( -icmpv6_nd_hdr -); - -52 -tm¶’ - = - `RTE_CACHE_LINE_ROUNDUP -(tmplen); - -53 -tmµack‘ - = - `¹e_zm®loc -( -NULL -, -tm¶’ -, -RTE_CACHE_LINE_SIZE -); - -54 -ack‘ - = -tmµack‘ -; - -56 -off£t - = 16; - -57 - `memýy -( -ack‘ -, & -v6_h --> -¤c_addr -[0], -off£t -); - -58 -ack‘ - +ð -off£t -; - -59 - `memýy -( -ack‘ -, & -v6_h --> -d¡_addr -[0], -off£t -); - -60 -ack‘ - +ð -off£t -; - -61 * -ack‘ - = 0; - -62 -ack‘ -++; - -63 * -ack‘ - = 0; - -64 -ack‘ -++; - -65 * -ack‘ - = 0; - -66 -ack‘ -++; - -67 - `memýy -( -ack‘ -, & -v6_h --> -´Ùo -, 1); - -68 -ack‘ -++; - -69 - `memýy -( -ack‘ -, & -·ylßdËn -, 4); - -70 -ack‘ - += 4; - -71 - `memýy -( -ack‘ -, -icmpv6_h -, - -72 ( -icmpv6_hdr -è+ ( -icmpv6_nd_hdr -)); - -74 ià( -ARPICMP_DEBUG -) - -75 - `´št_pkt -( -tmµack‘ -); - -77  - `¹e_¿w_cksum -( -tmµack‘ -, -tm¶’ -); - -78 - } -} - -80  -ušt16_t - - $icmpv6_v6_echo_checksum -( -¹e_mbuf - * -pkt -) - -82  -‘h”_hdr - * -‘h_h -; - -83  -v6_hdr - * -v6_h -; - -84  -icmpv6_hdr - * -icmpv6_h -; - -86 -size_t - -tm¶’ -, -off£t -; - -87 -ušt8_t - * -tmµack‘ -, * -ack‘ -; - -89 -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -,  -‘h”_hdr - *); - -90 -v6_h - = ( -v6_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -91 -icmpv6_h - = - -92 ( -icmpv6_hdr - *)((*) -v6_h - + ( -v6_hdr -)); - -94 -ušt32_t - -·ylßdËn - = - `¹e_bsw­16 -( -v6_h --> -·ylßd_Ën -); - -95 -ušt32_t - -·ylßdËn_sw­ - = - `¹e_bsw­32 -( -·ylßdËn -); - -97 ià( -ARPICMP_DEBUG -) - -98 - `´štf -("%s:…aylßdËn: %u\n", -__FUNCTION__ -, -·ylßdËn -); - -100 -tm¶’ - = 40 + -·ylßdËn -; - -101 -tm¶’ - = - `RTE_CACHE_LINE_ROUNDUP -(tmplen); - -102 -tmµack‘ - = - `¹e_zm®loc -( -NULL -, -tm¶’ -, -RTE_CACHE_LINE_SIZE -); - -103 -ack‘ - = -tmµack‘ -; - -105 -off£t - = 16; - -106 - `memýy -( -ack‘ -, & -v6_h --> -¤c_addr -[0], -off£t -); - -107 -ack‘ - +ð -off£t -; - -108 - `memýy -( -ack‘ -, & -v6_h --> -d¡_addr -[0], -off£t -); - -109 -ack‘ - +ð -off£t -; - -110 * -ack‘ - = 0; - -111 -ack‘ -++; - -112 * -ack‘ - = 0; - -113 -ack‘ -++; - -114 * -ack‘ - = 0; - -115 -ack‘ -++; - -116 - `memýy -( -ack‘ -, & -v6_h --> -´Ùo -, 1); - -117 -ack‘ -++; - -118 - `memýy -( -ack‘ -, & -·ylßdËn_sw­ -, 4); - -119 -ack‘ - += 4; - -120 - `memýy -( -ack‘ -, -icmpv6_h -, -·ylßdËn -); - -122 ià( -ARPICMP_DEBUG -) - -123 - `´št_pkt -( -tmµack‘ -); - -125  - `¹e_¿w_cksum -( -tmµack‘ -, -tm¶’ -); - -126 - } -} - -128  - $´oûss_icmpv6_pkt -( -¹e_mbuf - * -pkt -, -l2_phy_š‹rçû_t - * -pÜt -) - -131  -‘h”_hdr - * -‘h_h -; - -132  -v6_hdr - * -v6_h -; - -133  -icmpv6_hdr - * -icmpv6_h -; - -134  -icmpv6_nd_hdr - * -icmpv6_nd_h -; - -135 -ušt8_t - -v6_addr -[16]; - -136 -ušt8_t - -i - = 0; - -137 -ušt8_t - -»q_tv6 -[16]; - -140 ià( -pÜt - =ð -NULL -) { - -141 - `´štf -("port is NULL"); - -143 } ià( -pÜt --> -v6_li¡ - =ð -NULL -) { - -144 - `´štf -("IPV6‡ddress‚ot configured on†ink\n"); - -148 -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -,  -‘h”_hdr - *); - -149 -v6_h - = ( -v6_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -150 -icmpv6_h - = - -151 ( -icmpv6_hdr - *)((*) -v6_h - + ( -v6_hdr -)); - -153 ià(( -icmpv6_h --> -icmpv6_ty³ - =ð -ICMPV6_ECHO_REQUEST -) - -154 && ( -icmpv6_h --> -icmpv6_code - == 0)) { - -155  -i - = 0; i < 16; i++) { - -156 -v6_addr -[ -i -] = -v6_h --> -¤c_addr -[i]; - -159 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, &‘h_h-> -d_addr -); - -160 - `‘h”_addr_cÝy -(( -‘h”_addr - *)& -pÜt --> -maÿddr -[0], - -161 & -‘h_h --> -s_addr -); - -163  -i - = 0; i < 16; i++) - -164 -v6_h --> -¤c_addr -[ -i -] = ipv6_h-> -d¡_addr -[i]; - -165  -i - = 0; i < 16; i++) - -166 -v6_h --> -d¡_addr -[ -i -] = -v6_addr -[i]; - -168 -icmpv6_h --> -icmpv6_ty³ - = -ICMPV6_ECHO_REPLY -; - -169 -icmpv6_h --> -icmpv6_cksum - = 0; - -170 -icmpv6_h --> -icmpv6_cksum - = ~ - `icmpv6_v6_echo_checksum -( -pkt -); - -171 -pÜt --> - `Œªsm™_bulk_pkts -ÕÜt, & -pkt -, 1); - -174 } ià(( -icmpv6_h --> -icmpv6_ty³ - =ð -ICMPV6_ECHO_REPLY -) - -175 && ( -icmpv6_h --> -icmpv6_code - == 0)) { - -176  -nd_key_v6 - -nd_key -; - -177 -nd_key -. -pÜt_id - = -pÜt --> -pmdid -; - -178  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) { - -179 -nd_key -. -v6 -[ -i -] = -v6_h --> -¤c_addr -[i]; - -182 -nd_key -. -fžËr1 - = 0; - -183 -nd_key -. -fžËr2 - = 0; - -184 -nd_key -. -fžËr3 - = 0; - -187  -nd_’Œy_d©a - * -Ãw_nd_d©a - = - `»Œ›ve_nd_’Œy -( -nd_key -); - -188 ià( -Ãw_nd_d©a - =ð -NULL -) { - -189 -´štf - - -191 -nd_key -. -pÜt_id -); - -192  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -193 - `´štf -("%02X%02X ", -nd_key -. -v6 -[ -i -], - -194 -nd_key -. -v6 -[ -i - + 1]); - -199 -Ãw_nd_d©a --> -¡©us - = -COMPLETE -; - -200 } ià(( -icmpv6_h --> -icmpv6_ty³ - =ð -ICMPV6_NEIGHBOR_SOLICITATION -) - -201 && ( -icmpv6_h --> -icmpv6_code - == 0)) { - -203 -icmpv6_nd_h - = - -204 ( -icmpv6_nd_hdr - *)((*) -icmpv6_h - + - -205 ( -icmpv6_hdr -)); - -206  -‘h”_addr - * -¤c_hw_addr - = & -‘h_h --> -s_addr -; - -207 -ušt8_t - -¤c_v6 -[16], -d¡_v6 -[16]; - -208 -ušt16_t - -muÉi_addr -; - -210  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -211 -¤c_v6 -[ -i -] = -v6_h --> -¤c_addr -[i]; - -212  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -213 -d¡_v6 -[ -i -] = -v6_h --> -d¡_addr -[i]; - -215 -muÉi_addr - = -d¡_v6 -[0]; - -218 ià(( -IPV6_MULTICAST - & (( -muÉi_addr - << 8è| -d¡_v6 -[1])) - -219 || ! - `memcmp -(& -pÜt --> -maÿddr -[0], & -‘h_h --> -d_addr -, 6)) { - -220 - `pÝuϋ_nd_’Œy -( -¤c_hw_addr -, -¤c_v6 -, -pÜt --> -pmdid -, - -221 -DYNAMIC_ND -); - -224  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -225 -»q_tv6 -[ -i -] = -icmpv6_nd_h --> -rg‘_v6 -[i]; - -227 ià(! -memcmp - - -228 (& -»q_tv6 -[0], - -229 &(( -v6li¡_t - *è -pÜt --> -v6_li¡ -)-> -addr -[0], - -232 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, &‘h_h-> -d_addr -); - -233 - `‘h”_addr_cÝy -(( -‘h”_addr - *)& -pÜt --> - -234 -maÿddr -[0], & -‘h_h --> -s_addr -); - -237  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -238 -v6_h --> -d¡_addr -[ -i -] = - -239 -v6_h --> -¤c_addr -[ -i -]; - -240  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -241 -v6_h --> -¤c_addr -[ -i -] = -»q_tv6 -[i]; - -242 -icmpv6_h --> -icmpv6_ty³ - = - -243 -ICMPV6_NEIGHBOR_ADVERTISEMENT -; - -244 -icmpv6_nd_h --> -ty³ - = -e_T¬g‘_Lšk_Lay”_Add»ss -; - -245 -icmpv6_nd_h --> -Ëngth - = 1; - -246 - `memýy -(& -icmpv6_nd_h --> -lšk_Ïy”_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_v6_nd_checksum -( -pkt -); - -257 -pÜt --> - `Œªsm™_bulk_pkts -ÕÜt, & -pkt -, 1); - -259 } ià( -ARPICMP_DEBUG -) { - -260 -´štf - - -266 ià( -ARPICMP_DEBUG -) { - -267 -´štf - - -272 } ià(( -icmpv6_h --> -icmpv6_ty³ - =ð -ICMPV6_NEIGHBOR_ADVERTISEMENT -) - -273 && ( -icmpv6_h --> -icmpv6_code - == 0)) { - -274  -‘h”_addr - * -¤c_hw_addr - = & -‘h_h --> -s_addr -; - -275 -ušt8_t - -v6 -[16]; - -276  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) { - -277 -v6 -[ -i -] = -v6_h --> -¤c_addr -[i]; - -280 - `pÝuϋ_nd_’Œy -( -¤c_hw_addr -, -v6 -, -pÜt --> -pmdid -, -DYNAMIC_ND -); - -282 ià( -ARPICMP_DEBUG -) { - -283 - `´štf -("ICMPv6 Type %d Not Supported yet !!!\n", - -284 -icmpv6_h --> -icmpv6_ty³ -); - -288 - `¹e_pktmbuf_ä“ -( -pkt -); - -289 - } -} - -291  -¹e_mbuf - * - $»que¡_icmpv6_echo -( -ušt8_t - -v6 -[], -l2_phy_š‹rçû_t - * -pÜt -) - -293  -‘h”_hdr - * -‘h_h -; - -294  -v6_hdr - * -v6_h -; - -295  -icmpv6_hdr - * -icmpv6_h -; - -296  -icmpv6_šfo_hdr - * -icmpv6_šfo_h -; - -297  -i -; - -298 -ušt8_t - * -icmp_d©a -; - -300  -¹e_mbuf - * -icmpv6_pkt - = -lib_icmpv6_pkt -; - -301 ià( -icmpv6_pkt - =ð -NULL -) { - -302 ià( -ARPICMP_DEBUG -) - -303 - `´štf -("Error‡llocating icmpv6_pkt„te_mbuf\n"); - -304  -NULL -; - -307 -‘h_h - = - `¹e_pktmbuf_mtod -( -icmpv6_pkt -,  -‘h”_hdr - *); - -309 -v6_h - = ( -v6_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -310 -icmpv6_h - = - -311 ( -icmpv6_hdr - *)((*) -v6_h - + ( -v6_hdr -)); - -312 -icmpv6_šfo_h - = - -313 ( -icmpv6_šfo_hdr - *)((*) -icmpv6_h - + - -314 ( -icmpv6_hdr -)); - -316 - `‘h”_addr_cÝy -(( -‘h”_addr - *)& -pÜt --> -maÿddr -[0], & -‘h_h --> -s_addr -); - -317 -‘h_h --> -‘h”_ty³ - = - `¹e_bsw­16 -(0x86dd); - -318  -i - = 0; i < 6; i++) { - -319 -‘h_h --> -d_addr -. -addr_by‹s -[ -i -] = 0; - -322 -v6_h --> -vtc_æow - = - `¹e_bsw­32 -(0x60000000); - -323 -v6_h --> -·ylßd_Ën - = - `¹e_bsw­16 -(64); - -324 -v6_h --> -´Ùo - = 58; - -325 -v6_h --> -hÝ_lim™s - = 64; - -327  -i - = 0; i < 16; i++) { - -328 -v6_h --> -¤c_addr -[ -i -] = 0x0; - -329 -v6_h --> -d¡_addr -[ -i -] = -v6 -[i]; - -332 -icmpv6_h --> -icmpv6_ty³ - = -ICMPV6_ECHO_REQUEST -; - -333 -icmpv6_h --> -icmpv6_code - = 0; - -334 -icmpv6_šfo_h --> -icmpv6_id’t - = - `¹e_bsw­16 -(0x5151); - -335 -icmpv6_šfo_h --> -icmpv6_£q_nb - = - `¹e_bsw­16 -(0x1); - -337 -icmp_d©a - = ( -ušt8_t - *è -icmpv6_h - + 8; - -338  -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_v6_echo_checksum -( -icmpv6_pkt -); - -345 -icmpv6_pkt --> -pkt_Ën - = - -346 ( -‘h”_hdr -è+ ( -v6_hdr -) + 64; - -347 -icmpv6_pkt --> -d©a_Ën - = icmpv6_pkt-> -pkt_Ën -; - -349  -icmpv6_pkt -; - -350 - } -} - -352  -¹e_mbuf - * - $»que¡_nd -( -ušt8_t - -v6 -[], -l2_phy_š‹rçû_t - * -pÜt -) - -354  -‘h”_hdr - * -‘h_h -; - -355  -v6_hdr - * -v6_h -; - -356  -icmpv6_hdr - * -icmpv6_h -; - -357  -icmpv6_nd_hdr - * -icmpv6_nd_h -; - -358  -i -; - -360  -¹e_mbuf - * -icmpv6_pkt - = -lib_icmpv6_pkt -; - -361 ià( -icmpv6_pkt - =ð -NULL -) { - -362 ià( -ARPICMP_DEBUG -) - -363 - `´štf -("Error‡llocating icmpv6_pkt„te_mbuf\n"); - -364  -NULL -; - -367 -‘h_h - = - `¹e_pktmbuf_mtod -( -icmpv6_pkt -,  -‘h”_hdr - *); - -369 -v6_h - = ( -v6_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -370 -icmpv6_h - = - -371 ( -icmpv6_hdr - *)((*) -v6_h - + ( -v6_hdr -)); - -372 -icmpv6_nd_h - = - -373 ( -icmpv6_nd_hdr - *)((*) -icmpv6_h - + - -374 ( -icmpv6_hdr -)); - -376 - `‘h”_addr_cÝy -(( -‘h”_addr - *)& -pÜt --> -maÿddr -[0], & -‘h_h --> -s_addr -); - -377 -‘h_h --> -‘h”_ty³ - = - `¹e_bsw­16 -(0x86dd); - -378  -i - = 0; i < 6; i++) { - -379 -‘h_h --> -d_addr -. -addr_by‹s -[ -i -] = 0; - -382 -v6_h --> -vtc_æow - = 0x60000000; - -383 -v6_h --> -·ylßd_Ën - = - `¹e_bsw­16 -(32); - -384 -v6_h --> -´Ùo - = 58; - -385 -v6_h --> -hÝ_lim™s - = 64; - -387  -i - = 0; i < 16; i++) { - -388 -v6_h --> -¤c_addr -[ -i -] = 0x0; - -389 -v6_h --> -d¡_addr -[ -i -] = -v6 -[i]; - -392 -icmpv6_h --> -icmpv6_ty³ - = -ICMPV6_NEIGHBOR_SOLICITATION -; - -393 -icmpv6_h --> -icmpv6_code - = 0; - -395 -icmpv6_nd_h --> -icmpv6_»£rved - = 0x0; - -396  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -397 -icmpv6_nd_h --> -rg‘_v6 -[ -i -] = -v6 -[i]; - -398 -icmpv6_nd_h --> -ty³ - = -e_Sourû_Lšk_Lay”_Add»ss -; - -399 -icmpv6_nd_h --> -Ëngth - = 1; - -400 - `memýy -(& -icmpv6_nd_h --> -lšk_Ïy”_addr -[0], & -pÜt --> -maÿddr -[0], 6); - -402 -icmpv6_h --> -icmpv6_cksum - = 0; - -403 -icmpv6_h --> -icmpv6_cksum - = ~ - `icmpv6_v6_nd_checksum -( -icmpv6_pkt -); - -405 -icmpv6_pkt --> -pkt_Ën - = - -406 ( -‘h”_hdr -è+ ( -v6_hdr -) + 32; - -407 -icmpv6_pkt --> -d©a_Ën - = icmpv6_pkt-> -pkt_Ën -; - -409  -icmpv6_pkt -; - -410 - } -} - - @VIL/l2l3_stack/lib_icmpv6.h - -17  - ~<¡dio.h -> - -18  - ~<¡dlib.h -> - -19  - ~<¡dšt.h -> - -20  - ~<¡ršg.h -> - -21  - ~ - -22  - ~<¹e_commÚ.h -> - -23  - ~<¹e_m®loc.h -> - -24  - ~<¹e_.h -> - -25  - ~<¹e_by‹Üd”.h -> - -26  - ~<¹e_bË_Ím.h -> - -27  - ~<¹e_bË_hash.h -> - -28  - ~<¹e_p–še.h -> - -29  - ~<¹e_¬p.h -> - -30  - ~<¹e_icmp.h -> - -31  - ~<¹e_hash.h -> - -32  - ~<¹e_jhash.h -> - -33  - ~<¹e_cyþes.h -> - -34  - ~"lib_¬p.h -" - -35  - ~<¹e_p–še.h -> - -36  - ~"¹e_‘h”.h -" - -42  - sicmpv6_hdr - { - -43 -ušt8_t - - micmpv6_ty³ -; - -44 -ušt8_t - - micmpv6_code -; - -45 -ušt16_t - - micmpv6_cksum -; - -46 } -__©Œibu‹__ - (( -__·cked__ -)); - -51  - sicmpv6_šfo_hdr - { - -52 -ušt16_t - - micmpv6_id’t -; - -53 -ušt16_t - - micmpv6_£q_nb -; - -54 } -__©Œibu‹__ - (( -__·cked__ -)); - -59  - sicmpv6_nd_hdr - { - -61 -ušt32_t - - micmpv6_»£rved -; - -63 -ušt8_t - - mrg‘_v6 -[16]; - -64 -ušt8_t - - mty³ -; - -65 -ušt8_t - - mËngth -; - -66 -ušt8_t - - mlšk_Ïy”_addr -[6]; - -67 } -__©Œibu‹__ - (( -__·cked__ -)); - -70  - #ICMPV6_PROTOCOL_ID - 58 - - ) - -71  - #ICMPV6_ECHO_REQUEST - 0x0080 - - ) - -72  - #ICMPV6_ECHO_REPLY - 0x0081 - - ) - -73  - #ICMPV6_NEIGHBOR_SOLICITATION - 0x0087 - - ) - -74  - #ICMPV6_NEIGHBOR_ADVERTISEMENT - 0x0088 - - ) - -75  - #IPV6_MULTICAST - 0xFF02 - - ) - -77  - #NEIGHBOR_SOLICITATION_SET - 0x40000000 - - ) - -78  - #NEIGHBOR_ROUTER_OVERRIDE_SET - 0xa0000000 - - ) - -79 - eicmpv6_lšk_Ïy”_Add»ss_ty³ - { - -80 - me_Sourû_Lšk_Lay”_Add»ss - = 1, - -81 - me_T¬g‘_Lšk_Lay”_Add»ss -, - -82 - me_Lšk_Lay”_Add»ss - - -88 -ušt8_t - -is_muÉiÿ¡_v6_addr -(ušt8_ˆ -v6 -[]); - -93  - sicmpv6_pÜt_add»ss - { - -94 -ušt32_t - - mv6 -[16]; - -95 -ušt64_t - - mmac_addr -; - -101  -icmpv6_pÜt_add»ss - - gicmpv6_pÜt_add»s£s -[ -RTE_MAX_ETHPORTS -]; - -103  - #MAX_NUM_ICMPv6_ENTRIES - 64 - - ) - -104  -¹e_mbuf - * - glib_icmpv6_pkt -; - -113  -´oûss_icmpv6_pkt -( -¹e_mbuf - * -pkt -, -l2_phy_š‹rçû_t - * -pÜt -); - - @VIL/l2l3_stack/main_l2l3.c - -17 #iâdeà -__INCLUDE_MAIN__ - - -18  - #__INCLUDE_MAIN_H__ - - - ) - -20  - ~<¡dio.h -> - -21  - ~<¡dlib.h -> - -22  - ~<¡dšt.h -> - -23  - ~<š‰y³s.h -> - -24  - ~ - -25  - ~<¡ršg.h -> - -26  - ~ - -27  - ~<¡d¬g.h -> - -28  - ~<”ºo.h -> - -29  - ~ - -30  - ~ - -31  - ~<¡dboÞ.h -> - -33  - ~<¹e_commÚ.h -> - -34  - ~<¹e_veù.h -> - -35  - ~<¹e_by‹Üd”.h -> - -36  - ~<¹e_log.h -> - -37  - ~<¹e_memÜy.h -> - -38  - ~<¹e_memýy.h -> - -39  - ~<¹e_memzÚe.h -> - -40  - ~<¹e_—l.h -> - -41  - ~<¹e_³r_lcÜe.h -> - -42  - ~<¹e_Ïunch.h -> - -43  - ~<¹e_©omic.h -> - -44  - ~<¹e_cyþes.h -> - -45  - ~<¹e_´eãtch.h -> - -46  - ~<¹e_lcÜe.h -> - -47  - ~<¹e_³r_lcÜe.h -> - -48  - ~<¹e_b¿nch_´ediùiÚ.h -> - -49  - ~<¹e_š‹¼u±s.h -> - -50  - ~<¹e_pci.h -> - -51  - ~<¹e_¿ndom.h -> - -52  - ~<¹e_debug.h -> - -53  - ~<¹e_‘h”.h -> - -54  - ~<¹e_‘hdev.h -> - -55  - ~<¹e_ršg.h -> - -56  - ~<¹e_mempoÞ.h -> - -57  - ~<¹e_mbuf.h -> - -58  - ~<¹e_.h -> - -59  - ~<¹e_tý.h -> - -60  - ~<¹e_udp.h -> - -61  - ~<¹e_¡ršg_âs.h -> - -62  - ~<¹e_ýuæags.h -> - -63  - ~<¹e_tim”.h -> - -64  - ~"lib_¬p.h -" - -65  - ~"l2_´Ùo.h -" - -66  - ~"š‹rçû.h -" - -67  - ~"l3fwd_commÚ.h -" - -68  - ~"l3fwd_Ím4.h -" - -69  - ~"l3fwd_Ím6.h -" - -70  - #TIMER_RESOLUTION_CYCLES - 20000000ULL - - ) - -71  - glcÜe_id - = 1; - -72  -cÚv”t_¡r_to_num”ic -(); - -73  -sockaddr_š - - gaddr1 -, - gaddr2 -, - gaddr3 -, - gaddr4 -; - -74 -ušt8_t - - gv6_addr0 -[16] = { - -78 -ušt8_t - - gv6_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 + ( -¹e_mbuf -) + - -92 -RTE_PKTMBUF_HEADROOM -, - -93 . - gpoÞ_size - = 32 * 1024, - -94 . - gÿche_size - = 256, - -95 . - gýu_sock‘_id - = 0, - -97 . - gpÜt_cÚf - = { - -98 . -lšk_¥“ds - = 0, - -99 . - grxmode - = { - -100 . -mq_mode - = -ETH_MQ_RX_NONE -, - -101 . - gh—d”_¥l™ - = 0, - -102 . - ghw__checksum - = 0, - -103 . - ghw_vÏn_fž‹r - = 0, - -104 . - ghw_vÏn_¡r - = 0, - -105 . - ghw_vÏn_ex‹nd - = 0, - -106 . - gjumbo_äame - = 0, - -107 . - ghw_¡r_üc - = 0, - -108 . - g’abË_sÿ‰” - = 0, - -109 . - gmax_rx_pkt_Ën - = 9000, - -110 . - g¥l™_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šŒ_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_ä“_th»sh - = 64, - -134 . - grx_drÝ_’ - = 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_ä“_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 + ( -¹e_mbuf -) + - -157 -RTE_PKTMBUF_HEADROOM -, - -158 . - gpoÞ_size - = 32 * 1024, - -159 . - gÿche_size - = 256, - -160 . - gýu_sock‘_id - = 0, - -162 . - gpÜt_cÚf - = { - -163 . -lšk_¥“ds - = 0, - -164 . - grxmode - = { - -165 . -mq_mode - = -ETH_MQ_RX_NONE -, - -166 . - gh—d”_¥l™ - = 0, - -167 . - ghw__checksum - = 0, - -168 . - ghw_vÏn_fž‹r - = 0, - -169 . - ghw_vÏn_¡r - = 0, - -170 . - ghw_vÏn_ex‹nd - = 0, - -171 . - gjumbo_äame - = 0, - -172 . - ghw_¡r_üc - = 0, - -173 . - g’abË_sÿ‰” - = 0, - -174 . - gmax_rx_pkt_Ën - = 9000, - -175 . - g¥l™_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šŒ_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_ä“_th»sh - = 64, - -199 . - grx_drÝ_’ - = 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_ä“_th»sh - = 0, - -210 . - gtxq_æags - = -ETH_TXQ_FLAGS_NOMULTSEGS - | -ETH_TXQ_FLAGS_NOOFFLOADS -, - -211 . - gtx_deã¼ed_¡¬t - = 0, - -216  -__©Œibu‹__ - (( -nܑuº -)) - -217  -lcÜe_mašloÝ - ( -__©Œibu‹__ - (( -unu£d -)) - -218 * -¬g -) - -220 -l2_phy_š‹rçû_t - * - gpÜt -; - -221 -št8_t - - gpÜtid -; - -222  -¹e_mbuf - * - gpkts_bur¡ -[ -IFM_BURST_SIZE -]; - -223 -ušt32_t - - gnb_tx -, - gnb_rx -; - -224 cÚ¡ -ušt64_t - - gd¿š_tsc - = - -225 ( -¹e_g‘_tsc_hz -(è+ -US_PER_S - - 1è/ US_PER_S * -BURST_TX_DRAIN_US -; - -226 -ušt64_t - - g´ev_tsc - = 0, - gcur_tsc -, - gdiff_tsc -; - -228 - gpÜt - = -ifm_g‘_fœ¡_pÜt -(); - -229  - gpÜt - !ð -NULL -) { - -230 -¹e_tim”_mªage -(); - -231 - gpÜtid - = -pÜt --> -pmdid -; - -232 - gcur_tsc - = -¹e_rdtsc -(); - -233 - gdiff_tsc - = -cur_tsc - - -´ev_tsc -; - -236 ià( -uÆik–y -( -diff_tsc - > -d¿š_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 --> -»Œ›ve_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‘_Ãxt_pÜt -( -pÜtid -); - -249 ià( - gpÜt - !ð -NULL -) - -250 -´ev_tsc - = -cur_tsc -; - -255  - $cÚv”t_¡r_to_num”ic -() - -257 - `mem£t -(& -addr1 -, '\0', ( -sockaddr_š -)); - -258 -addr1 -. -sš_addr -. -s_addr - = - `š‘_addr -("30.0.0.10"); - -259 - `mem£t -(& -addr2 -, '\0', ( -sockaddr_š -)); - -260 -addr2 -. -sš_addr -. -s_addr - = - `š‘_addr -("120.0.0.10"); - -261 - } -} - -263  - $maš -( -¬gc -, ** -¬gv -) - -265  -»t - = 0; - -267 -»t - = - `¹e_—l_š™ -( -¬gc -, -¬gv -); - -268 ià( -»t - < 0) - -269 - `¹e_ex™ -( -EXIT_FAILURE -, "Invalid EAL…arameters\n"); - -272 - `ifm_š™ -(); - -273 - `ifm_cÚfigu»_pÜts -( -pÜtcÚf -); - -278 - `ifm_add_v6_pÜt -(0, -v6_addr0 -, 96); - -279 - `ifm_add_v6_pÜt -(1, -v6_addr1 -, 96); - -280 - `´št_š‹rçû_d‘ažs -(); - -283 - `l3fwd_š™ -(); - -284 - `ü—‹_¬p_bË -(); - -285 - `ü—‹_nd_bË -(); - -286 - `pÝuϋ_Ím_rou‹s -(); - -289  -ii -; - -290  -ii - = 0; ii < 16; ii += 2) { - -291 - `´štf -("%02X%02X ", -v6_addr0 -[ -ii -], ipv6_addr0[ii + 1]); - -293 - `´štf -("\n"); - -294  -ii - = 0; ii < 16; ii += 2) { - -295 - `´štf -("%02X%02X ", -v6_addr1 -[ -ii -], ipv6_addr1[ii + 1]); - -297 - `´štf -("REMOTE LAUNCH STARTED........\n"); - -298 - `¹e_—l_»mÙe_Ïunch -( -lcÜe_mašloÝ -, -NULL -, -lcÜe_id -); - -299 - `´štf -("REMOTE LAUNCH DONE.......\n"); - -300 ià( - `¹e_—l_wa™_lcÜe -( -lcÜe_id -) < 0) { - -303 - } -} - - @VIL/l2l3_stack/tsx.c - -17  - ~ - -18  - ~<¡dlib.h -> - -19  - ~<¡dio.h -> - -20  - ~ - -21  - ~<¡dšt.h -> - -22  - ~"¹e_©omic.h -" - -23  - ~"tsx.h -" - -24  - gmax_»Œ›s - = 3; - -27 - $run_ýuid - ( -ušt32_t - -—x -, ušt32_ˆ -ecx -, ušt32_ˆ* -abcd -) - -29 -ušt32_t - -ebx - = 0, -edx - = 0; - -31 #ià - `defšed -( -__i386__ -è&& defšed ( -__PIC__ -) - -33 - `__asm__ - ("movÈ%%ebx, %%ed˜\n\ˆýuid \n\ˆxchgÈ%%ebx, %%edi":"=D" ( -ebx -), - -35 - `__asm__ - ("ýuid":"+b" ( -ebx -), - -37 "+a" ( -—x -), "+c" ( -ecx -), "=d" ( -edx -)); - -38 -abcd -[0] = -—x -; - -39 -abcd -[1] = -ebx -; - -40 -abcd -[2] = -ecx -; - -41 -abcd -[3] = -edx -; - -42 - } -} - -45 - $check_xü0_ymm - () - -47 -ušt32_t - -xü0 -; - -48 - `__asm__ - ("xg‘bv" : "÷" ( -xü0 -) : "c" (0) : "%edx"); - -49  (( -xü0 - & 6) == 6); - -50 - } -} - -53 - $check_4th_g’_š‹l_cÜe_ã©u»s - () - -55 -ušt32_t - -abcd -[4]; - -56 -ušt32_t - -fma_movbe_osx§ve_mask - = ((1 << 12) | (1 << 22) | (1 << 27)); - -57 -ušt32_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 - `´štf - ("Failing in if cond-1\n"); - -67 ià(! - `check_xü0_ymm - ()) { - -68 - `´štf - ("Failing in if cond-2\n"); - -75 - `run_ýuid - (7, 0, -abcd -); - -76 ià(( -abcd -[1] & -avx2_bmi12_mask -) !=‡vx2_bmi12_mask) { - -77 - `´štf - ("Failing in if cond-3\n"); - -81 - `run_ýuid - (0x80000001, 0, -abcd -); - -82 ià(( -abcd -[2] & (1 << 5)) == 0) { - -83 - `´štf - ("Failing in if cond-4\n"); - -87 - `run_ýuid - (7, 0, -abcd -); - -88 ià(( -abcd -[1] & (1 << 11)) == 0) { - -89 - `´štf - ("Failing in if cond-5\n"); - -93 - `run_ýuid - (7, 0, -abcd -); - -94 ià(( -abcd -[1] & (1 << 4)) == 0) { - -95 - `´štf - ("Failing in if cond-6\n"); - -99 - } -} - -102 - $ÿn_u£_š‹l_cÜe_4th_g’_ã©u»s - () - -104  -the_4th_g’_ã©u»s_avažabË - = -1; - -106 ià( -the_4th_g’_ã©u»s_avažabË - < 0) - -107 -the_4th_g’_ã©u»s_avažabË - = - `check_4th_g’_š‹l_cÜe_ã©u»s - (); - -108  -the_4th_g’_ã©u»s_avažabË -; - -109 - } -} - -112 - $¹m_š™ - () - -114 -Çb܋d - = ( -¹e_©omic64_t -è - `RTE_ATOMIC64_INIT - (0); - -117 - } -}  - -119 - $¹m_lock - () - -121  -đr›s - = 0; - -123 ++ -đr›s -; - -124  -¡©us - = - `_xbegš - (); - -125 ià( -¡©us - =ð -_XBEGIN_STARTED -) { - -126 ià(! - `is_hË_locked - ()) - -130 - `_xabÜt - (0xff); - -133 - `¹e_©omic64_šc - (& -Çb܋d -); - -134 -´štf - - -136 -đr›s -, -¡©us -); - -138 ià(( -¡©us - & -_XABORT_EXPLICIT -) - -139 && - `_XABORT_CODE - ( -¡©us -è=ð0xfà&& !(¡©u & -_XABORT_NESTED -)) { - -140  - `is_hË_locked - ()) - -141 - `_mm_·u£ - (); - -143 ià(!( -¡©us - & -_XABORT_RETRY -)) - -145 ià( -đr›s - >ð -max_»Œ›s -) - -148 - `hË_lock - (); - -150 - } -} - -153 - $¹m_uÆock - () - -155 ià( - `is_hË_locked - ()) - -156 - `hË_»Ëa£ - (); - -159 - `_x’d - (); - -161 - } -} - -164 - $is_¹m_locked - () - -166  ((è - `_x‹¡ - ()); - -167 - } -} - - @VIL/l2l3_stack/tsx.h - -16 #iâdeà -_TSX_H_ - - -17  - #_RSX_H_ - - - ) - -18  - ~<¹e_©omic.h -> - -19  - #TRUE - 1 - - ) - -20  - #FALSE - 0 - - ) - -22 vÞ©ž - gmu‹x_v® -; - -24 -¹e_©omic64_t - - gÇb܋d -; - -26  -hË_š™ -(); - -27  -hË_lock -(); - -28  -hË_»Ëa£ -(); - -29  -is_hË_locked -(); - -31  -¹m_š™ -(); - -32  -¹m_lock -(); - -33  -¹m_uÆock -(); - -34  -is_¹m_locked -(); - -36  -ÿn_u£_š‹l_cÜe_4th_g’_ã©u»s -(); - - @VIL/pipeline_arpicmp/pipeline_arpicmp.c - -17  - ~ - -18  - ~ - -19  - ~ - -20  - ~ - -21  - ~ - -23  - ~"­p.h -" - -24  - ~"p–še_commÚ_ã.h -" - -25  - ~"p–še_¬picmp_be.h -" - -26  - ~"p–še_¬picmp.h -" - -27  - ~"vnf_commÚ.h -" - -29  - ~"­p.h -" - -30  - ~"vnf_commÚ.h -" - -31 #iâdeà -VNF_ACL - - -32  - ~"lib_¬p.h -" - -35  - ~<¹e_.h -> - -36  - ~<¹e_udp.h -> - -37  - ~<¹e_¡ršg_âs.h -> - -39 -ušt16_t - - gv”bo£_Ëv– - = 1; - -40 -ušt16_t - - gnb_pkt_³r_bur¡ - = -DEF_PKT_BURST -; - -46 #ifdeà -__GCC__ - - -47  - #RTE_BE_TO_CPU_16 -( -be_16_v -è - `¹e_be_to_ýu_16 -((be_16_v)) - - ) - -48  - #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  - #RTE_BE_TO_CPU_16 -( -be_16_v -è(be_16_v) - - ) - -52  - #RTE_CPU_TO_BE_16 -( -ýu_16_v -è(ýu_16_v) - - ) - -54  - #RTE_BE_TO_CPU_16 -( -be_16_v -) \ - -55 (( -ušt16_t -è(((( -be_16_v -è& 0xFFè<< 8è| ((be_16_vè>> 8))) - - ) - -56  - #RTE_CPU_TO_BE_16 -( -ýu_16_v -) \ - -57 (( -ušt16_t -è(((( -ýu_16_v -è& 0xFFè<< 8è| ((ýu_16_vè>> 8))) - - ) - -65  - scmd_¬p_add_»suÉ - { - -66 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -67 -ušt32_t - - mp -; - -68 -cmdlše_fixed_¡ršg_t - - m¬·dd_¡ršg -; - -69 -ušt32_t - - mpÜt_id -; - -70 -cmdlše_addr_t - - m -; - -71  -‘h”_addr - - mmaÿddr -; - -76 - $cmd_¬p_add_·r£d -(* -·r£d_»suÉ -, - -77 -__¹e_unu£d -  -cmdlše - * -þ -, __¹e_unu£d * -d©a -) - -79  -cmd_¬p_add_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -80 -ušt8_t - -v6 -[16]; - -83  -p–še_¬p_icmp_¬p_key - -key -; - -84 -key -. -ty³ - = -PIPELINE_ARP_ICMP_ARP_IPV4 -; - -85 -key -.key. -v4 -. -pÜt_id - = -·¿ms -->port_id; - -86 -key -.key. -v4 -. - - = - `¹e_ýu_to_be_32 -( -·¿ms -->. -addr -.v4. -s_addr -); - -87 - `pÝuϋ_¬p_’Œy -(& -»q --> -maÿddr -, - `¹e_bsw­32 -Ôeq-> -key -.key. -v4 -. - -), - -88 -»q --> -key -.key. -v4 -. -pÜt_id -); - -90 ià( -·¿ms --> - -. -çmžy - =ð -AF_INET -) { - -91 - `pÝuϋ_¬p_’Œy -(& -·¿ms --> -maÿddr -, - -92 - `¹e_ýu_to_be_32 -( -·¿ms --> - -. -addr -. - -93 -v4 -. -s_addr -), - -94 -·¿ms --> -pÜt_id - - -95 #iâdeà -VNF_ACL - - -96 , -STATIC_ARP - - -100 - `memýy -( -v6 -, -·¿ms --> - -. -addr -.v6. -s6_addr -, 16); - -101 - `pÝuϋ_nd_’Œy -(& -·¿ms --> -maÿddr -, -v6 -,…¬ams-> -pÜt_id - - -102 #iâdeà -VNF_ACL - - -103 , -STATIC_ND - - -107 - } -} - -109  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_add_p_¡ršg - = - -110 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_add_»suÉ -, -p_¡ršg -, - -113  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_add_p - = - -114 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_add_»suÉ -, -p -, -UINT32 -); - -116  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_add_¬p_¡ršg - = - -117 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_add_»suÉ -, -¬·dd_¡ršg -, "arpadd"); - -119  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_add_pÜt_id - = - -120 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_add_»suÉ -, -pÜt_id -, -UINT32 -); - -122  -cmdlše_·r£_tok’_addr_t - - gcmd_¬p_add_ - = - -123 -TOKEN_IPADDR_INITIALIZER -( -cmd_¬p_add_»suÉ -, - -); - -125  -cmdlše_·r£_tok’_‘h”addr_t - - gcmd_¬p_add_maÿddr - = - -126 -TOKEN_ETHERADDR_INITIALIZER -( -cmd_¬p_add_»suÉ -, -maÿddr -); - -128  -cmdlše_·r£_š¡_t - - gcmd_¬p_add - = { - -129 . -f - = -cmd_¬p_add_·r£d -, - -130 . - gd©a - = -NULL -, - -131 . - gh–p_¡r - = "ARP‡dd", - -132 . - gtok’s - = { - -133 (*)& -cmd_¬p_add_p_¡ršg -, - -134 (*)& -cmd_¬p_add_p -, - -135 (*)& -cmd_¬p_add_¬p_¡ršg -, - -136 (*)& -cmd_¬p_add_pÜt_id -, - -137 (*)& -cmd_¬p_add_ -, - -138 (*)& -cmd_¬p_add_maÿddr -, - -139 -NULL -, - -147  - scmd_¬p_d–_»suÉ - { - -148 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -149 -ušt32_t - - mp -; - -150 -cmdlše_fixed_¡ršg_t - - m¬p_¡ršg -; - -151 -ušt32_t - - mpÜt_id -; - -152 -cmdlše_addr_t - - m -; - -156 - $cmd_¬p_d–_·r£d -(* -·r£d_»suÉ -, - -157 -__¹e_unu£d -  -cmdlše - * -þ -, __¹e_unu£d * -d©a -) - -159  -cmd_¬p_d–_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -160 -ušt8_t - -v6 -[16]; - -163  -p–še_¬p_icmp_¬p_key - -key -; - -164 -key -. -ty³ - = -PIPELINE_ARP_ICMP_ARP_IPV4 -; - -165 -key -.key. -v4 -. - - = - `¹e_ýu_to_be_32 -( -·¿ms -->. -addr -.v4. -s_addr -); - -166 -key -.key. -v4 -. -pÜt_id - = -·¿ms -->port_id; - -167 - `»move_¬p_’Œy -( - `¹e_bsw­32 -( -»q --> -key -.key. -v4 -. - -), - -168 -»q --> -key -.key. -v4 -. -pÜt_id -); - -170 ià( -·¿ms --> - -. -çmžy - =ð -AF_INET -) { - -171 - `»move_¬p_’Œy -( - `¹e_ýu_to_be_32 -( -·¿ms --> - -. -addr -. -v4 -. -s_addr -), - -172 -·¿ms --> -pÜt_id - - -173 #iâdeà -VNF_ACL - - -174 , -NULL - - -178 - `memýy -( -v6 -, -·¿ms --> - -. -addr -.v6. -s6_addr -, 16); - -179 - `»move_nd_’Œy_v6 -( -v6 -, -·¿ms --> -pÜt_id -); - -181 - } -} - -183  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_d–_p_¡ršg - = - -184 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -p_¡ršg -, - -187  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_d–_p - = - -188 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -p -, -UINT32 -); - -190  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_d–_¬p_¡ršg - = - -191 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -¬p_¡ršg -, "arpdel"); - -193  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_d–_pÜt_id - = - -194 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -pÜt_id -, -UINT32 -); - -196  -cmdlše_·r£_tok’_addr_t - - gcmd_¬p_d–_ - = - -197 -TOKEN_IPADDR_INITIALIZER -( -cmd_¬p_d–_»suÉ -, - -); - -199  -cmdlše_·r£_š¡_t - - gcmd_¬p_d– - = { - -200 . -f - = -cmd_¬p_d–_·r£d -, - -201 . - gd©a - = -NULL -, - -202 . - gh–p_¡r - = "ARP delete", - -203 . - gtok’s - = { - -204 (*)& -cmd_¬p_d–_p_¡ršg -, - -205 (*)& -cmd_¬p_d–_p -, - -206 (*)& -cmd_¬p_d–_¬p_¡ršg -, - -207 (*)& -cmd_¬p_d–_pÜt_id -, - -208 (*)& -cmd_¬p_d–_ -, - -209 -NULL -, - -220 - $cmd_¬p_»q_·r£d -(* -·r£d_»suÉ -, - -221 -__¹e_unu£d -  -cmdlše - * -þ -, __¹e_unu£d * -d©a -) - -223  -cmd_¬p_d–_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -226  -¬p_key_v4 - -key -; - -232 -key -. - - = - `¹e_ýu_to_be_32 -( -·¿ms -->. -addr -. -v4 -. -s_addr -); - -233 -key -. -pÜt_id - = -·¿ms -->port_id; - -234 -key -. -fžËr1 - = 0; - -235 -key -. -fžËr2 - = 0; - -236 -key -. -fžËr3 - = 0; - -238  -¬p_’Œy_d©a - * -¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -key -); - -240 ià( -¬p_d©a -) { - -241 ià( -ARPICMP_DEBUG -) - -242 - `´štf -("ARPƒntryƒxists for ip 0x%x,…ort %d\n", - -243 -·¿ms --> - -. -addr -. -v4 -. -s_addr -,…¬ams-> -pÜt_id -); - -247 ià( -ARPICMP_DEBUG -) - -248 - `´štf -("ARP -„equesting‡rp for ip 0x%x,…ort %d\n", - -249 -·¿ms --> - -. -addr -. -v4 -. -s_addr -,…¬ams-> -pÜt_id -); - -251 #ifdeà -VNF_ACL - - -252 - `»que¡_¬p_w¿p -( -·¿ms --> -pÜt_id -,…¬ams-> - -. -addr -. -v4 -. -s_addr -); - -254 - `»que¡_¬p -( -·¿ms --> -pÜt_id -,…¬ams-> - -. -addr -. -v4 -. -s_addr -); - -257 - } -} - -259  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_»q_¡ršg - = - -260 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -¬p_¡ršg -, "arpreq"); - -262  -cmdlše_·r£_š¡_t - - gcmd_¬p_»q - = { - -263 . -f - = -cmd_¬p_»q_·r£d -, - -264 . - gd©a - = -NULL -, - -265 . - gh–p_¡r - = "ARP„equest", - -266 . - gtok’s - = { - -267 (*)& -cmd_¬p_d–_p_¡ršg -, - -268 (*)& -cmd_¬p_d–_p -, - -269 (*)& -cmd_¬p_»q_¡ršg -, - -270 (*)& -cmd_¬p_d–_pÜt_id -, - -271 (*)& -cmd_¬p_d–_ -, - -272 -NULL -, - -283 - $cmd_icmp_echo_»q_·r£d -(* -·r£d_»suÉ -, - -284 -__¹e_unu£d -  -cmdlše - * -þ -, - -285 -__¹e_unu£d - * -d©a -) - -287  -cmd_¬p_d–_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -289 ià( -ARPICMP_DEBUG -) - -290 - `´štf -("Echo Req Handler ip %x,…ort %d\n", - -291 -·¿ms --> - -. -addr -. -v4 -. -s_addr -,…¬ams-> -pÜt_id -); - -293 - `»que¡_echo -( -·¿ms --> -pÜt_id -,…¬ams-> - -. -addr -. -v4 -. -s_addr -); - -294 - } -} - -296  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_icmp_echo_»q_¡ršg - = - -297 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -¬p_¡ršg -, "icmpecho"); - -299  -cmdlše_·r£_š¡_t - - gcmd_icmp_echo_»q - = { - -300 . -f - = -cmd_icmp_echo_»q_·r£d -, - -301 . - gd©a - = -NULL -, - -302 . - gh–p_¡r - = "ICMPƒcho„equest", - -303 . - gtok’s - = { - -304 (*)& -cmd_¬p_d–_p_¡ršg -, - -305 (*)& -cmd_¬p_d–_p -, - -306 (*)& -cmd_icmp_echo_»q_¡ršg -, - -307 (*)& -cmd_¬p_d–_pÜt_id -, - -308 (*)& -cmd_¬p_d–_ -, - -309 -NULL -, - -317  - scmd_¬p_ls_»suÉ - { - -318 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -319 -ušt32_t - - mp -; - -320 -cmdlše_fixed_¡ršg_t - - m¬p_¡ršg -; - -324 - $cmd_¬p_ls_·r£d -( -__¹e_unu£d - * -·r£d_»suÉ -, - -325 -__¹e_unu£d -  -cmdlše - * -þ -, __¹e_unu£d * -d©a -) - -327 - `´štf -("\nARPable ...\n"); - -328 - `´štf -("-------------\n"); - -329 - `´št_¬p_bË -(); - -331 -´štf - - -334 - `´štf -("\nND IPv6able:\n"); - -335 - `´štf -("--------------\n"); - -336 - `´št_nd_bË -(); - -337 - } -} - -339  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_ls_p_¡ršg - = - -340 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_ls_»suÉ -, -p_¡ršg -, - -343  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_ls_p - = - -344 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_ls_»suÉ -, -p -, -UINT32 -); - -346  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_ls_¬p_¡ršg - = - -347 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_ls_»suÉ -, -¬p_¡ršg -, - -350  -cmdlše_·r£_š¡_t - - gcmd_¬p_ls - = { - -351 . -f - = -cmd_¬p_ls_·r£d -, - -352 . - gd©a - = -NULL -, - -353 . - gh–p_¡r - = "ARP†ist", - -354 . - gtok’s - = { - -355 (*)& -cmd_¬p_ls_p_¡ršg -, - -356 (*)& -cmd_¬p_ls_p -, - -357 (*)& -cmd_¬p_ls_¬p_¡ršg -, - -358 -NULL -, - -366  - scmd_show_pÜts_šfo_»suÉ - { - -367 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -368 -ušt32_t - - mp -; - -369 -cmdlše_fixed_¡ršg_t - - m¬p_¡ršg -; - -373 - $cmd_show_pÜts_šfo_·r£d -( -__¹e_unu£d - * -·r£d_»suÉ -, - -374 -__¹e_unu£d -  -cmdlše - * -þ -, - -375 -__¹e_unu£d - * -d©a -) - -377 - `show_pÜts_šfo -(); - -378 - } -} - -380  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_show_pÜts_šfo_¡ršg - = - -381 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_ls_»suÉ -, -¬p_¡ršg -, - -384  -cmdlše_·r£_š¡_t - - gcmd_show_pÜts_šfo - = { - -385 . -f - = -cmd_show_pÜts_šfo_·r£d -, - -386 . - gd©a - = -NULL -, - -387 . - gh–p_¡r - = "show…orts info", - -388 . - gtok’s - = { - -389 (*)& -cmd_¬p_ls_p_¡ršg -, - -390 (*)& -cmd_¬p_ls_p -, - -391 (*)& -cmd_show_pÜts_šfo_¡ršg -, - -392 -NULL -, - -396 #iâdeà -VNF_ACL - - -397  - scmd_¬p_dbg_»suÉ - { - -398 -cmdlše_fixed_¡ršg_t - - m¬pdbg_¡r -; - -399 -ušt32_t - - mæag -; - -402 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_dbg_¡ršg - = - -403 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_dbg_»suÉ -, -¬pdbg_¡r -, - -405 -cmdlše_·r£_tok’_num_t - - gcmd_¬p_dbg_æag - = - -406 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_dbg_»suÉ -, -æag -, -UINT32 -); - -409 -cmd_¬p_dbg_·r£ -( - -410 * -·r£d_»suÉ -, - -411 -__©Œibu‹__ -(( -unu£d -)è -cmdlše - * -þ -, - -412 -__¹e_unu£d - * -d©a -) - -414  -cmd_¬p_dbg_»suÉ - * - g·¿ms - = -·r£d_»suÉ -; - -415 if( - g·¿ms -) - -417 -£t_¬pdebug -( -·¿ms --> -æag -); - -421 -´štf -("%s: P¬am i NULL", -__FUNCTION__ -); - -425 -cmdlše_·r£_š¡_t - - gcmd_¬p_dbg - = { - -426 . -f - = -cmd_¬p_dbg_·r£ -, - -427 . - gd©a - = -NULL -, - -428 . - gh–p_¡r - = "Turn on/off(1/0)‡rp debug", - -429 . - gtok’s - = { - -430 (*)& -cmd_¬p_dbg_¡ršg -, - -431 (*)& -cmd_¬p_dbg_æag -, - -432 -NULL -, - -436  - scmd_¬p_tim”_»suÉ - { - -437 -cmdlše_fixed_¡ršg_t - - m¬±im”_¡r -; - -438 -ušt32_t - - m¬±im”_v® -; - -441 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_tim”_¡ršg - = - -442 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_tim”_»suÉ -, -¬±im”_¡r -, - -444 -cmdlše_·r£_tok’_num_t - - gcmd_¬p_tim”_v® - = - -445 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_tim”_»suÉ -, -¬±im”_v® -, -UINT32 -); - -448 -cmd_¬p_tim”_·r£ -( - -449 * -·r£d_»suÉ -, - -450 -__©Œibu‹__ -(( -unu£d -)è -cmdlše - * -þ -, - -451 -__¹e_unu£d - * -d©a -) - -453  -cmd_¬p_tim”_»suÉ - * - g·¿ms - = -·r£d_»suÉ -; - -454 if( - g·¿ms -) - -456 -£t_¬±imeout -( -·¿ms --> -¬±im”_v® -); - -460 -´štf -("%s: P¬am i NULL", -__FUNCTION__ -); - -464 -cmdlše_·r£_š¡_t - - gcmd_¬p_tim” - = { - -465 . -f - = -cmd_¬p_tim”_·r£ -, - -466 . - gd©a - = -NULL -, - -467 . - gh–p_¡r - = "Timerƒxpiry val by def 10 sec", - -468 . - gtok’s - = { - -469 (*)& -cmd_¬p_tim”_¡ršg -, - -470 (*)& -cmd_¬p_tim”_v® -, - -471 -NULL -, - -483 - $pkt_bur¡_io_fÜw¬d -( -fwd_¡»am - * -fs -) - -485  -¹e_mbuf - * -pkts_bur¡ -[ -MAX_PKT_BURST -]; - -486 -ušt16_t - -nb_rx -; - -487 -ušt16_t - -nb_tx -; - -489 #ifdeà -RTE_TEST_PMD_RECORD_CORE_CYCLES - - -490 -ušt64_t - -¡¬t_tsc -; - -491 -ušt64_t - -’d_tsc -; - -492 -ušt64_t - -cÜe_cyþes -; - -495 #ifdeà -RTE_TEST_PMD_RECORD_CORE_CYCLES - - -496 -¡¬t_tsc - = - `¹e_rdtsc -(); - -502 -nb_rx - = - `¹e_‘h_rx_bur¡ -( -fs --> -rx_pÜt -, fs-> -rx_queue -, -pkts_bur¡ -, - -503 -nb_pkt_³r_bur¡ -); - -504 ià( - `uÆik–y -( -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‘s - +ð -nb_rx -; - -512 -nb_tx - = - `¹e_‘h_tx_bur¡ -( -fs --> -tx_pÜt -, fs-> -tx_queue -, -pkts_bur¡ -, -nb_rx -); - -513 -fs --> -tx_·ck‘s - +ð -nb_tx -; - -515 #ifdeà -RTE_TEST_PMD_RECORD_BURST_STATS - - -516 -fs --> -tx_bur¡_¡©s -. -pkt_bur¡_¥»ad -[ -nb_tx -]++; - -519 ià( - `uÆik–y -( -nb_tx - < -nb_rx -)) { - -520 -fs --> -fwd_drݳd - +ð( -nb_rx - - -nb_tx -); - -522 - `¹e_pktmbuf_ä“ -( -pkts_bur¡ -[ -nb_tx -]); - -523 } ++ -nb_tx - < -nb_rx -); - -526 #ifdeà -RTE_TEST_PMD_RECORD_CORE_CYCLES - - -527 -’d_tsc - = - `¹e_rdtsc -(); - -528 -cÜe_cyþes - = ( -’d_tsc - - -¡¬t_tsc -); - -529 -fs --> -cÜe_cyþes - = ( -ušt64_t -) (fs->core_cycles + core_cycles); - -531 - } -} - -534  -fwd_’gše - - gio_fwd_’gše - = { - -535 . -fwd_mode_Çme - = "io", - -536 . - gpÜt_fwd_begš - = -NULL -, - -537 . - gpÜt_fwd_’d - = -NULL -, - -538 . - g·ck‘_fwd - = -pkt_bur¡_io_fÜw¬d -, - -541  -šlše -  - $´št_‘h”_addr -( - -542 cÚ¡ * -wh© -, - -543  -‘h”_addr - * -‘h_addr -) - -545  -buf -[ -ETHER_ADDR_FMT_SIZE -]; - -546 - `‘h”_fÜm©_addr -( -buf -, -ETHER_ADDR_FMT_SIZE -, -‘h_addr -); - -547 - `´štf -("%s%s", -wh© -, -buf -); - -548 - } -} - -554 - $pkt_bur¡_»ûive -( -fwd_¡»am - * -fs -) - -556  -¹e_mbuf - * -pkts_bur¡ -[ -MAX_PKT_BURST -]; - -557  -¹e_mbuf - * -mb -; - -558  -‘h”_hdr - * -‘h_hdr -; - -559 -ušt16_t - -‘h_ty³ -; - -560 -ušt64_t - -Þ_æags -; - -561 -ušt16_t - -nb_rx -; - -562 -ušt16_t - -i -, -·ck‘_ty³ -; - -563 -ušt16_t - -is_’ÿpsuÏtiÚ -; - -565 #ifdeà -RTE_TEST_PMD_RECORD_CORE_CYCLES - - -566 -ušt64_t - -¡¬t_tsc -; - -567 -ušt64_t - -’d_tsc -; - -568 -ušt64_t - -cÜe_cyþes -; - -571 #ifdeà -RTE_TEST_PMD_RECORD_CORE_CYCLES - - -572 -¡¬t_tsc - = - `¹e_rdtsc -(); - -578 -nb_rx - = - `¹e_‘h_rx_bur¡ -( -fs --> -rx_pÜt -, fs-> -rx_queue -, -pkts_bur¡ -, - -579 -nb_pkt_³r_bur¡ -); - -580 ià( - `uÆik–y -( -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‘s - +ð -nb_rx -; - -592 ià( -v”bo£_Ëv– - > 0) - -593 - `´štf -("port %u/queue %u:„eceived %u…ackets\n", - -594 (è -fs --> -rx_pÜt -, - -595 (è -fs --> -rx_queue -, - -596 (è -nb_rx -); - -597  -i - = 0; i < -nb_rx -; i++) { - -598 -mb - = -pkts_bur¡ -[ -i -]; - -599 ià( -v”bo£_Ëv– - == 0) { - -600 - `¹e_pktmbuf_ä“ -( -mb -); - -603 -‘h_hdr - = - `¹e_pktmbuf_mtod -( -mb -,  -‘h”_hdr - *); - -604 -‘h_ty³ - = - `RTE_BE_TO_CPU_16 -( -‘h_hdr --> -‘h”_ty³ -); - -605 -Þ_æags - = -mb -->ol_flags; - -606 -·ck‘_ty³ - = -mb -->packet_type; - -607 -is_’ÿpsuÏtiÚ - = - `RTE_ETH_IS_TUNNEL_PKT -( -·ck‘_ty³ -); - -609 - `´št_‘h”_addr -(" src=", & -‘h_hdr --> -s_addr -); - -610 - `´št_‘h”_addr -(" - d¡=", & -‘h_hdr --> -d_addr -); - -611 - `´štf -(" -ype=0x%04x -†ength=%u -‚b_segs=%d", - -612 -‘h_ty³ -, (è -mb --> -pkt_Ën -, - -613 () -mb --> -nb_£gs -); - -614 ià( -Þ_æags - & -PKT_RX_RSS_HASH -) { - -615 - `´štf -(" - RSS hash=0x%x", () - -616 -mb --> -hash -. -rss -); - -617 - `´štf -(" - RSS queue=0x%x", () - -618 -fs --> -rx_queue -); - -619 } ià( -Þ_æags - & -PKT_RX_FDIR -) { - -620 - `´štf -(" - FDIR matched "); - -621 ià( -Þ_æags - & -PKT_RX_FDIR_ID -) - -622 - `´štf -("ID=0x%x", - -623 -mb --> -hash -. -fdœ -. -hi -); - -624 ià( -Þ_æags - & -PKT_RX_FDIR_FLX -) - -625 - `´štf -("flex bytes=0x%08x %08x", - -626 -mb --> -hash -. -fdœ -. -hi -, mb->hash.fdœ. -lo -); - -628 - `´štf -("hash=0x%x ID=0x%x ", - -629 -mb --> -hash -. -fdœ -.hash, mb->hash.fdœ. -id -); - -631 ià( -Þ_æags - & -PKT_RX_VLAN_PKT -) - -632 - `´štf -(" - VLANci=0x%x", -mb --> -vÏn_tci -); - -633 ià( -Þ_æags - & -PKT_RX_QINQ_PKT -) - -634 - `´štf -(" - QinQ VLANci=0x%x, VLANci outer=0x%x", - -635 -mb --> -vÏn_tci -, mb-> -vÏn_tci_ou‹r -); - -636 ià( -mb --> -·ck‘_ty³ -) { - -637 -ušt32_t - -±y³ -; - -640 -±y³ - = -mb --> -·ck‘_ty³ - & -RTE_PTYPE_L2_MASK -; - -641  -±y³ -) { - -642  -RTE_PTYPE_L2_ETHER -: - -643 - `´štf -(" - (outer) L2ype: ETHER"); - -645  -RTE_PTYPE_L2_ETHER_TIMESYNC -: - -646 - `´štf -(" - (outer) L2ype: ETHER_Timesync"); - -648  -RTE_PTYPE_L2_ETHER_ARP -: - -649 - `´štf -(" - (outer) L2ype: ETHER_ARP"); - -651  -RTE_PTYPE_L2_ETHER_LLDP -: - -652 - `´štf -(" - (outer) L2ype: ETHER_LLDP"); - -655 - `´štf -(" - (outer) L2ype: Unknown"); - -660 -±y³ - = -mb --> -·ck‘_ty³ - & -RTE_PTYPE_L3_MASK -; - -661  -±y³ -) { - -662  -RTE_PTYPE_L3_IPV4 -: - -663 - `´štf -(" - (outer) L3ype: IPV4"); - -665  -RTE_PTYPE_L3_IPV4_EXT -: - -666 - `´štf -(" - (outer) L3ype: IPV4_EXT"); - -668  -RTE_PTYPE_L3_IPV6 -: - -669 - `´štf -(" - (outer) L3ype: IPV6"); - -671  -RTE_PTYPE_L3_IPV4_EXT_UNKNOWN -: - -672 - `´štf -(" - (outer) L3ype: IPV4_EXT_UNKNOWN"); - -674  -RTE_PTYPE_L3_IPV6_EXT -: - -675 - `´štf -(" - (outer) L3ype: IPV6_EXT"); - -677  -RTE_PTYPE_L3_IPV6_EXT_UNKNOWN -: - -678 - `´štf -(" - (outer) L3ype: IPV6_EXT_UNKNOWN"); - -681 - `´štf -(" - (outer) L3ype: Unknown"); - -686 -±y³ - = -mb --> -·ck‘_ty³ - & -RTE_PTYPE_L4_MASK -; - -687  -±y³ -) { - -688  -RTE_PTYPE_L4_TCP -: - -689 - `´štf -(" - (outer) L4ype: TCP"); - -691  -RTE_PTYPE_L4_UDP -: - -692 - `´štf -(" - (outer) L4ype: UDP"); - -694  -RTE_PTYPE_L4_FRAG -: - -695 - `´štf -(" - (outer) L4ype: L4_FRAG"); - -697  -RTE_PTYPE_L4_SCTP -: - -698 - `´štf -(" - (outer) L4ype: SCTP"); - -700  -RTE_PTYPE_L4_ICMP -: - -701 - `´štf -(" - (outer) L4ype: ICMP"); - -703  -RTE_PTYPE_L4_NONFRAG -: - -704 - `´štf -(" - (outer) L4ype: L4_NONFRAG"); - -707 - `´štf -(" - (outer) L4ype: Unknown"); - -712 -±y³ - = -mb --> -·ck‘_ty³ - & -RTE_PTYPE_TUNNEL_MASK -; - -713  -±y³ -) { - -714  -RTE_PTYPE_TUNNEL_IP -: - -715 - `´štf -(" - Tunnelype: IP"); - -717  -RTE_PTYPE_TUNNEL_GRE -: - -718 - `´štf -(" - Tunnelype: GRE"); - -720  -RTE_PTYPE_TUNNEL_VXLAN -: - -721 - `´štf -(" - Tunnelype: VXLAN"); - -723  -RTE_PTYPE_TUNNEL_NVGRE -: - -724 - `´štf -(" - Tunnelype: NVGRE"); - -726  -RTE_PTYPE_TUNNEL_GENEVE -: - -727 - `´štf -(" - Tunnelype: GENEVE"); - -729  -RTE_PTYPE_TUNNEL_GRENAT -: - -730 - `´štf -(" - Tunnelype: GRENAT"); - -733 - `´štf -(" - Tunnelype: Unknown"); - -738 -±y³ - = -mb --> -·ck‘_ty³ - & -RTE_PTYPE_INNER_L2_MASK -; - -739  -±y³ -) { - -740  -RTE_PTYPE_INNER_L2_ETHER -: - -741 - `´štf -(" - Inner L2ype: ETHER"); - -743  -RTE_PTYPE_INNER_L2_ETHER_VLAN -: - -744 - `´štf -(" - Inner L2ype: ETHER_VLAN"); - -747 - `´štf -(" - Inner L2ype: Unknown"); - -751 -±y³ - = -mb --> -·ck‘_ty³ - & -RTE_PTYPE_INNER_L3_MASK -; - -752  -±y³ -) { - -753  -RTE_PTYPE_INNER_L3_IPV4 -: - -754 - `´štf -(" - Inner L3ype: IPV4"); - -756  -RTE_PTYPE_INNER_L3_IPV4_EXT -: - -757 - `´štf -(" - Inner L3ype: IPV4_EXT"); - -759  -RTE_PTYPE_INNER_L3_IPV6 -: - -760 - `´štf -(" - Inner L3ype: IPV6"); - -762  -RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN -: - -763 - `´štf -(" - Inner L3ype: " - -766  -RTE_PTYPE_INNER_L3_IPV6_EXT -: - -767 - `´štf -(" - Inner L3ype: IPV6_EXT"); - -769  -RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN -: - -770 - `´štf -(" - Inner L3ype: " - -774 - `´štf -(" - Inner L3ype: Unknown"); - -779 -±y³ - = -mb --> -·ck‘_ty³ - & -RTE_PTYPE_INNER_L4_MASK -; - -780  -±y³ -) { - -781  -RTE_PTYPE_INNER_L4_TCP -: - -782 - `´štf -(" - Inner L4ype: TCP"); - -784  -RTE_PTYPE_INNER_L4_UDP -: - -785 - `´štf -(" - Inner L4ype: UDP"); - -787  -RTE_PTYPE_INNER_L4_FRAG -: - -788 - `´štf -(" - Inner L4ype: L4_FRAG"); - -790  -RTE_PTYPE_INNER_L4_SCTP -: - -791 - `´štf -(" - Inner L4ype: SCTP"); - -793  -RTE_PTYPE_INNER_L4_ICMP -: - -794 - `´štf -(" - Inner L4ype: ICMP"); - -796  -RTE_PTYPE_INNER_L4_NONFRAG -: - -797 - `´štf -(" - Inner L4ype: L4_NONFRAG"); - -800 - `´štf -(" - Inner L4ype: Unknown"); - -803 - `´štf -("\n"); - -805 - `´štf -("Unknown…acketype\n"); - -806 ià( -is_’ÿpsuÏtiÚ -) { - -807  -v4_hdr - *ipv4_hdr; - -808  -v6_hdr - *ipv6_hdr; - -809  -udp_hdr - *udp_hdr; - -810 -ušt8_t - -l2_Ën -; - -811 -ušt8_t - -l3_Ën -; - -812 -ušt8_t - -l4_Ën -; - -813 -ušt8_t - -l4_´Ùo -; - -814  -vxÏn_hdr - *vxlan_hdr; - -816 -l2_Ën - = ( -‘h”_hdr -); - -819 ià( - `RTE_ETH_IS_IPV4_HDR -( -·ck‘_ty³ -)) { - -820 -l3_Ën - = ( -v4_hdr -); - -821 -v4_hdr - = - `¹e_pktmbuf_mtod_off£t -( -mb -, - -822  -v4_hdr - *, - -823 -l2_Ën -); - -824 -l4_´Ùo - = -v4_hdr --> -Ãxt_´Ùo_id -; - -826 -l3_Ën - = ( -v6_hdr -); - -827 -v6_hdr - = - `¹e_pktmbuf_mtod_off£t -( -mb -, - -828  -v6_hdr - *, - -829 -l2_Ën -); - -830 -l4_´Ùo - = -v6_hdr --> -´Ùo -; - -832 ià( -l4_´Ùo - =ð -IPPROTO_UDP -) { - -833 -udp_hdr - = - `¹e_pktmbuf_mtod_off£t -( -mb -, - -834  -udp_hdr - *, - -835 -l2_Ën - + -l3_Ën -); - -836 -l4_Ën - = ( -udp_hdr -); - -837 -vxÏn_hdr - = - `¹e_pktmbuf_mtod_off£t -( -mb -, - -838  -vxÏn_hdr - *, - -839 -l2_Ën - + -l3_Ën - + -l4_Ën -); - -841 - `´štf -(" - VXLAN…acket:…acketype =%d, " - -843 -·ck‘_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 - `´štf -(" - Reûivqueue=0x%x", (è -fs --> -rx_queue -); - -850 - `´štf -("\n"); - -851 ià( -Þ_æags - != 0) { - -852  -rxf -; - -853 cÚ¡ * -Çme -; - -855  -rxf - = 0;„xà< ( -mb --> -Þ_æags -) * 8;„xf++) { - -856 ià(( -Þ_æags - & (1ULL << -rxf -)) == 0) - -858 -Çme - = - `¹e_g‘_rx_Þ_æag_Çme -(1ULL << -rxf -); - -859 ià( -Çme - =ð -NULL -) - -861 - `´štf -(" %s\n", -Çme -); - -864 - `¹e_pktmbuf_ä“ -( -mb -); - -867 #ifdeà -RTE_TEST_PMD_RECORD_CORE_CYCLES - - -868 -’d_tsc - = - `¹e_rdtsc -(); - -869 -cÜe_cyþes - = ( -’d_tsc - - -¡¬t_tsc -); - -870 -fs --> -cÜe_cyþes - = ( -ušt64_t -) (fs->core_cycles + core_cycles); - -872 - } -} - -874  -fwd_’gše - - grx_Úly_’gše - = { - -875 . -fwd_mode_Çme - = "rxonly", - -876 . - gpÜt_fwd_begš - = -NULL -, - -877 . - gpÜt_fwd_’d - = -NULL -, - -878 . - g·ck‘_fwd - = -pkt_bur¡_»ûive -, - -882  - scmd_£t_fwd_mode_»suÉ - { - -883 -cmdlše_fixed_¡ršg_t - - m£t -; - -884 -cmdlše_fixed_¡ršg_t - - mfwd -; - -885 -cmdlše_fixed_¡ršg_t - - mmode -; - -891  -fwd_’gše - * - gfwd_’gšes -[] = { - -892 & -io_fwd_’gše -, - -894 & -mac_fwd_’gše -, - -895 & -mac_»Œy_fwd_’gše -, - -896 & -mac_sw­_’gše -, - -897 & -æow_g’_’gše -, - -899 & -rx_Úly_’gše -, - -901 & -tx_Úly_’gše -, - -902 & -csum_fwd_’gše -, - -903 & -icmp_echo_’gše -, - -904 #ifdeà -RTE_LIBRTE_IEEE1588 - - -905 & -›“1588_fwd_’gše -, - -908 -NULL -, - -911  -fwd_’gše - * - gcur_fwd_’g - = & -io_fwd_’gše -; - -913  - $£t_pkt_fÜw¬dšg_mode -(cÚ¡ * -fwd_mode_Çme -) - -915  -fwd_’gše - * -fwd_’g -; - -916  -i -; - -918 -i - = 0; - -919 ( -fwd_’g - = -fwd_’gšes -[ -i -]è!ð -NULL -) { - -920 ià(! - `¡rcmp -( -fwd_’g --> -fwd_mode_Çme -, fwd_mode_name)) { - -921 - `´štf -("Set %s…acket forwarding mode\n", - -922 -fwd_mode_Çme -); - -923 -cur_fwd_’g - = -fwd_’g -; - -926 -i -++; - -928 - `´štf -("Inv®id % ·ck‘ fÜw¬dšg mode\n", -fwd_mode_Çme -); - -929 - } -} - -931  -cmd_£t_fwd_mode_·r£d -(* -·r£d_»suÉ -, - -932 -__©Œibu‹__ -(( -unu£d -)è -cmdlše - * -þ -, - -933 -__©Œibu‹__ -(( -unu£d -)è* -d©a -) - -935  -cmd_£t_fwd_mode_»suÉ - * - g»s - = -·r£d_»suÉ -; - -937 -£t_pkt_fÜw¬dšg_mode -( -»s --> -mode -); - -940 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£tfwd_£t - = - -941 -TOKEN_STRING_INITIALIZER -( -cmd_£t_fwd_mode_»suÉ -, -£t -, "set"); - -942 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£tfwd_fwd - = - -943 -TOKEN_STRING_INITIALIZER -( -cmd_£t_fwd_mode_»suÉ -, -fwd -, "fwd"); - -944 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£tfwd_mode - = - -945 -TOKEN_STRING_INITIALIZER -( -cmd_£t_fwd_mode_»suÉ -, -mode -, - -948 -cmdlše_·r£_š¡_t - - gcmd_£t_fwd_mode - = { - -949 . -f - = -cmd_£t_fwd_mode_·r£d -, - -950 . - gd©a - = -NULL -, - -951 . - gh–p_¡r - = -NULL -, - -952 . - gtok’s - = { - -953 (*)& -cmd_£tfwd_£t -, - -954 (*)& -cmd_£tfwd_fwd -, - -955 (*)& -cmd_£tfwd_mode -, - -956 -NULL -, - -962  -ušt16_t - - -963 - $¡r2æowty³ -(* -¡ršg -) - -965 -ušt8_t - -i - = 0; - -967  -¡r -[32]; - -968 -ušt16_t - -ty³ -; - -969 } -æowty³_¡r -[] = { - -970 {"¿w", -RTE_ETH_FLOW_RAW -}, - -971 {"v4", -RTE_ETH_FLOW_IPV4 -}, - -972 {"v4-äag", -RTE_ETH_FLOW_FRAG_IPV4 -}, - -973 {"v4-tý", -RTE_ETH_FLOW_NONFRAG_IPV4_TCP -}, - -974 {"v4-udp", -RTE_ETH_FLOW_NONFRAG_IPV4_UDP -}, - -975 {"v4-sùp", -RTE_ETH_FLOW_NONFRAG_IPV4_SCTP -}, - -976 {"v4-Ùh”", -RTE_ETH_FLOW_NONFRAG_IPV4_OTHER -}, - -977 {"v6", -RTE_ETH_FLOW_IPV6 -}, - -978 {"v6-äag", -RTE_ETH_FLOW_FRAG_IPV6 -}, - -979 {"v6-tý", -RTE_ETH_FLOW_NONFRAG_IPV6_TCP -}, - -980 {"v6-udp", -RTE_ETH_FLOW_NONFRAG_IPV6_UDP -}, - -981 {"v6-sùp", -RTE_ETH_FLOW_NONFRAG_IPV6_SCTP -}, - -982 {"v6-Ùh”", -RTE_ETH_FLOW_NONFRAG_IPV6_OTHER -}, - -983 {"l2_·ylßd", -RTE_ETH_FLOW_L2_PAYLOAD -}, - -986  -i - = 0; i < - `RTE_DIM -( -æowty³_¡r -); i++) { - -987 ià(! - `¡rcmp -( -æowty³_¡r -[ -i -]. -¡r -, -¡ršg -)) - -988  -æowty³_¡r -[ -i -]. -ty³ -; - -990  -RTE_ETH_FLOW_UNKNOWN -; - -991 - } -} - -993  -šlše -  - -994 - $·r£_æexby‹s -(cÚ¡ * -q_¬g -, -ušt8_t - * -æexby‹s -, -ušt16_t - -max_num -) - -996  -s -[256]; - -997 cÚ¡ * -p -, * -p0 - = -q_¬g -; - -998 * -’d -; - -999  -št_æd -; - -1000 * -¡r_æd -[ -max_num -]; - -1001  -i -; - -1002  -size -; - -1003  -»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 - >ð( -s -)) - -1017 - `¢´štf -( -s -, (s), "%.*s", -size -, -p -); - -1018 -»t - = - `¹e_¡r¥l™ -( -s -, (s), -¡r_æd -, -max_num -, ','); - -1019 ià( -»t - < 0 ||„‘ > -max_num -) - -1021  -i - = 0; i < -»t -; i++) { - -1022 -”ºo - = 0; - -1023 -št_æd - = - `¡¹oul -( -¡r_æd -[ -i -], & -’d -, 0); - -1024 ià( -”ºo - !ð0 || * -’d - !ð'\0' || -št_æd - > -UINT8_MAX -) - -1026 -æexby‹s -[ -i -] = ( -ušt8_t -) -št_æd -; - -1028  -»t -; - -1029 - } -} - -1032  - scmd_æow_dœeùÜ_»suÉ - { - -1033 -cmdlše_fixed_¡ršg_t - - mæow_dœeùÜ_fž‹r -; - -1034 -ušt8_t - - mpÜt_id -; - -1035 -cmdlše_fixed_¡ršg_t - - mmode -; - -1036 -cmdlše_fixed_¡ršg_t - - mmode_v®ue -; - -1037 -cmdlše_fixed_¡ršg_t - - mÝs -; - -1038 -cmdlše_fixed_¡ršg_t - - mæow -; - -1039 -cmdlše_fixed_¡ršg_t - - mæow_ty³ -; - -1040 -cmdlše_fixed_¡ršg_t - - m‘h” -; - -1041 -ušt16_t - - m‘h”_ty³ -; - -1042 -cmdlše_fixed_¡ršg_t - - m¤c -; - -1043 -cmdlše_addr_t - - m_¤c -; - -1044 -ušt16_t - - mpÜt_¤c -; - -1045 -cmdlše_fixed_¡ršg_t - - md¡ -; - -1046 -cmdlše_addr_t - - m_d¡ -; - -1047 -ušt16_t - - mpÜt_d¡ -; - -1048 -cmdlše_fixed_¡ršg_t - - mv”ify_g -; - -1049 -ušt32_t - - mv”ify_g_v®ue -; - -1050 -cmdlše_addr_t - - mtos -; - -1051 -ušt8_t - - mtos_v®ue -; - -1052 -cmdlše_addr_t - - m´Ùo -; - -1053 -ušt8_t - - m´Ùo_v®ue -; - -1054 -cmdlše_addr_t - - m‰l -; - -1055 -ušt8_t - - m‰l_v®ue -; - -1056 -cmdlše_fixed_¡ršg_t - - mvÏn -; - -1057 -ušt16_t - - mvÏn_v®ue -; - -1058 -cmdlše_fixed_¡ršg_t - - mæexby‹s -; - -1059 -cmdlše_fixed_¡ršg_t - - mæexby‹s_v®ue -; - -1060 -cmdlše_fixed_¡ršg_t - - mpf_vf -; - -1061 -cmdlše_fixed_¡ršg_t - - mdrÝ -; - -1062 -cmdlše_fixed_¡ršg_t - - mqueue -; - -1063 -ušt16_t - - mqueue_id -; - -1064 -cmdlše_fixed_¡ršg_t - - mfd_id -; - -1065 -ušt32_t - - mfd_id_v®ue -; - -1066 -cmdlše_fixed_¡ršg_t - - mmac -; - -1067  -‘h”_addr - - mmac_addr -; - -1068 -cmdlše_fixed_¡ršg_t - - mtu– -; - -1069 -cmdlše_fixed_¡ršg_t - - mtu–_ty³ -; - -1070 -cmdlše_fixed_¡ršg_t - - mtu–_id -; - -1071 -ušt32_t - - mtu–_id_v®ue -; - -1075 -cmd_æow_dœeùÜ_fž‹r_·r£d -(* -·r£d_»suÉ -, - -1076 -__©Œibu‹__ -(( -unu£d -)è -cmdlše - * -þ -, - -1077 -__©Œibu‹__ -(( -unu£d -)è* -d©a -) - -1079  -cmd_æow_dœeùÜ_»suÉ - * - g»s - = -·r£d_»suÉ -; - -1080  -¹e_‘h_fdœ_fž‹r - - g’Œy -; - -1081 -ušt8_t - - gæexby‹s -[ -RTE_ETH_FDIR_MAX_FLEXLEN -]; - -1082 * - g’d -; - -1083  - gvf_id -; - -1084  - g»t - = 0; - -1086 ià( - g’abË_hwlb -) { - -1087 -´štf -("Hash Filter is‡lready Defined !\n"); - -1088 -´štf -("Please undefine HWLD flag‡nd define " - -1093 - g»t - = -¹e_‘h_dev_fž‹r_suµÜ‹d -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_FDIR -); - -1094 ià( - g»t - < 0) { - -1095 -´štf -("flow director is‚ot supported on…ort %u.\n", - -1096 -»s --> -pÜt_id -); - -1099 -mem£t -( -æexby‹s -, 0, (flexbytes)); - -1100 -mem£t -(& -’Œy -, 0, ( -¹e_‘h_fdœ_fž‹r -)); - -1102 ià( - gfdœ_cÚf -. - gmode - =ð -RTE_FDIR_MODE_PERFECT_MAC_VLAN -) { - -1103 ià( -¡rcmp -( -»s --> -mode_v®ue -, "MAC-VLAN")) { - -1104 -´štf -("Please set modeo MAC-VLAN.\n"); - -1107 } ià( - gfdœ_cÚf -. - gmode - =ð -RTE_FDIR_MODE_PERFECT_TUNNEL -) { - -1108 ià( -¡rcmp -( -»s --> -mode_v®ue -, "Tunnel")) { - -1109 -´štf -("Please set modeo Tunnel.\n"); - -1113 ià( -¡rcmp -( -»s --> -mode_v®ue -, "IP")) { - -1114 -´štf -("Please set modeo IP.\n"); - -1119 - g’Œy -. - gšput -. - gæow_ty³ - = -¡r2æowty³ -( -»s --> -æow_ty³ -); - -1122 - g»t - = -·r£_æexby‹s -( -»s --> -æexby‹s_v®ue -, - -1123 -æexby‹s -, - -1124 -RTE_ETH_FDIR_MAX_FLEXLEN -); - -1125 ià( - g»t - < 0) { - -1126 -´štf -("error: Cannot…arse flexbytes input.\n"); - -1130  - g’Œy -. - gšput -. - gæow_ty³ -) { - -1131  - gRTE_ETH_FLOW_FRAG_IPV4 -: - -1132  -RTE_ETH_FLOW_NONFRAG_IPV4_OTHER -: - -1133 -’Œy -. -šput -. -æow -. -4_æow -. -´Ùo - = -»s --> -´Ùo_v®ue -; - -1134  - gRTE_ETH_FLOW_NONFRAG_IPV4_UDP -: - -1135  -RTE_ETH_FLOW_NONFRAG_IPV4_TCP -: - -1136 -IPV4_ADDR_TO_UINT -( -»s --> -_d¡ -, - -1137 -’Œy -. -šput -. -æow -. -4_æow -. -d¡_ -); - -1138 -IPV4_ADDR_TO_UINT -( -»s --> -_¤c -, - -1139 -’Œy -. -šput -. -æow -. -4_æow -. -¤c_ -); - -1140 - g’Œy -. - gšput -. - gæow -. - g4_æow -. - gtos - = -»s --> -tos_v®ue -; - -1141 - g’Œy -. - gšput -. - gæow -. - g4_æow -. - g‰l - = -»s --> -‰l_v®ue -; - -1143 - g’Œy -. - gšput -. - gæow -. - gudp4_æow -. - gd¡_pÜt - = - -1144 -¹e_ýu_to_be_16 -( -»s --> -pÜt_d¡ -); - -1145 - g’Œy -. - gšput -. - gæow -. - gudp4_æow -. - g¤c_pÜt - = - -1146 -¹e_ýu_to_be_16 -( -»s --> -pÜt_¤c -); - -1149  - gRTE_ETH_FLOW_NONFRAG_IPV4_SCTP -: - -1150 -IPV4_ADDR_TO_UINT -( -»s --> -_d¡ -, - -1151 -’Œy -. -šput -. -æow -. -sùp4_æow -. - -. -d¡_ -); - -1152 -IPV4_ADDR_TO_UINT -( -»s --> -_¤c -, - -1153 -’Œy -. -šput -. -æow -. -sùp4_æow -. - -. -¤c_ -); - -1154 - g’Œy -. - gšput -. - gæow -. - g4_æow -. - gtos - = -»s --> -tos_v®ue -; - -1155 - g’Œy -. - gšput -. - gæow -. - g4_æow -. - g‰l - = -»s --> -‰l_v®ue -; - -1157 - g’Œy -. - gšput -. - gæow -. - gsùp4_æow -. - gd¡_pÜt - = - -1158 -¹e_ýu_to_be_16 -( -»s --> -pÜt_d¡ -); - -1159 - g’Œy -. - gšput -. - gæow -. - gsùp4_æow -. - g¤c_pÜt - = - -1160 -¹e_ýu_to_be_16 -( -»s --> -pÜt_¤c -); - -1161 - g’Œy -. - gšput -. - gæow -. - gsùp4_æow -. - gv”ify_g - = - -1162 -¹e_ýu_to_be_32 -( -»s --> -v”ify_g_v®ue -); - -1165  - gRTE_ETH_FLOW_FRAG_IPV6 -: - -1166  -RTE_ETH_FLOW_NONFRAG_IPV6_OTHER -: - -1167 -’Œy -. -šput -. -æow -. -v6_æow -. -´Ùo - = -»s --> -´Ùo_v®ue -; - -1168  - gRTE_ETH_FLOW_NONFRAG_IPV6_UDP -: - -1169  -RTE_ETH_FLOW_NONFRAG_IPV6_TCP -: - -1170 -IPV6_ADDR_TO_ARRAY -( -»s --> -_d¡ -, - -1171 -’Œy -. -šput -. -æow -. -v6_æow -. -d¡_ -); - -1172 -IPV6_ADDR_TO_ARRAY -( -»s --> -_¤c -, - -1173 -’Œy -. -šput -. -æow -. -v6_æow -. -¤c_ -); - -1174 - g’Œy -. - gšput -. - gæow -. - gv6_æow -. - gtc - = -»s --> -tos_v®ue -; - -1175 - g’Œy -. - gšput -. - gæow -. - gv6_æow -. - ghÝ_lim™s - = -»s --> -‰l_v®ue -; - -1177 - g’Œy -. - gšput -. - gæow -. - gudp6_æow -. - gd¡_pÜt - = - -1178 -¹e_ýu_to_be_16 -( -»s --> -pÜt_d¡ -); - -1179 - g’Œy -. - gšput -. - gæow -. - gudp6_æow -. - g¤c_pÜt - = - -1180 -¹e_ýu_to_be_16 -( -»s --> -pÜt_¤c -); - -1183  - gRTE_ETH_FLOW_NONFRAG_IPV6_SCTP -: - -1184 -IPV6_ADDR_TO_ARRAY -( -»s --> -_d¡ -, - -1185 -’Œy -. -šput -. -æow -. -sùp6_æow -. - -. -d¡_ -); - -1186 -IPV6_ADDR_TO_ARRAY -( -»s --> -_¤c -, - -1187 -’Œy -. -šput -. -æow -. -sùp6_æow -. - -. -¤c_ -); - -1188 - g’Œy -. - gšput -. - gæow -. - gv6_æow -. - gtc - = -»s --> -tos_v®ue -; - -1189 - g’Œy -. - gšput -. - gæow -. - gv6_æow -. - ghÝ_lim™s - = -»s --> -‰l_v®ue -; - -1191 - g’Œy -. - gšput -. - gæow -. - gsùp6_æow -. - gd¡_pÜt - = - -1192 -¹e_ýu_to_be_16 -( -»s --> -pÜt_d¡ -); - -1193 - g’Œy -. - gšput -. - gæow -. - gsùp6_æow -. - g¤c_pÜt - = - -1194 -¹e_ýu_to_be_16 -( -»s --> -pÜt_¤c -); - -1195 - g’Œy -. - gšput -. - gæow -. - gsùp6_æow -. - gv”ify_g - = - -1196 -¹e_ýu_to_be_32 -( -»s --> -v”ify_g_v®ue -); - -1198  - gRTE_ETH_FLOW_L2_PAYLOAD -: - -1199 -’Œy -. -šput -. -æow -. -l2_æow -. -‘h”_ty³ - = - -1200 -¹e_ýu_to_be_16 -( -»s --> -‘h”_ty³ -); - -1206 ià( - gfdœ_cÚf -. - gmode - =ð -RTE_FDIR_MODE_PERFECT_MAC_VLAN -) - -1207 () -¹e_memýy -(& -’Œy -. -šput -. -æow -. -mac_vÏn_æow -. -mac_addr -, - -1208 & -»s --> -mac_addr -, - -1209 ( -‘h”_addr -)); - -1211 ià( - gfdœ_cÚf -. - gmode - =ð -RTE_FDIR_MODE_PERFECT_TUNNEL -) { - -1212 () -¹e_memýy -(& -’Œy -. -šput -. -æow -. -tu–_æow -. -mac_addr -, - -1213 & -»s --> -mac_addr -, - -1214 ( -‘h”_addr -)); - -1215 - g’Œy -. - gšput -. - gæow -. - gtu–_æow -. - gtu–_ty³ - = - -1216 -¡r2fdœ_tu–ty³ -( -»s --> -tu–_ty³ -); - -1217 - g’Œy -. - gšput -. - gæow -. - gtu–_æow -. - gtu–_id - = - -1218 -¹e_ýu_to_be_32 -( -»s --> -tu–_id_v®ue -); - -1222 () -¹e_memýy -( -’Œy -. -šput -. -æow_ext -. -æexby‹s -, - -1223 -æexby‹s -, - -1224 -RTE_ETH_FDIR_MAX_FLEXLEN -); - -1226 - g’Œy -. - gšput -. - gæow_ext -. - gvÏn_tci - = -¹e_ýu_to_be_16 -( -»s --> -vÏn_v®ue -); - -1228 - g’Œy -. - gaùiÚ -. - gæex_off - = 0; - -1229 ià(! -¡rcmp -( -»s --> -drÝ -, "drop")) - -1230 - g’Œy -. - gaùiÚ -. - gbehaviÜ - = -RTE_ETH_FDIR_REJECT -; - -1232 - g’Œy -. - gaùiÚ -. - gbehaviÜ - = -RTE_ETH_FDIR_ACCEPT -; - -1234 ià(! -¡rcmp -( -»s --> -pf_vf -, "pf")) - -1235 - g’Œy -. - gšput -. - gæow_ext -. - gis_vf - = 0; - -1236 ià(! -¡ºcmp -( -»s --> -pf_vf -, "vf", 2)) { - -1237  -¹e_‘h_dev_šfo - - gdev_šfo -; - -1239 -mem£t -(& -dev_šfo -, 0, (dev_info)); - -1240 -¹e_‘h_dev_šfo_g‘ -( -»s --> -pÜt_id -, & -dev_šfo -); - -1241 - g”ºo - = 0; - -1242 - gvf_id - = -¡¹oul -( -»s --> -pf_vf - + 2, & -’d -, 10); - -1243 ià( - g”ºo - !ð0 || * -’d - !ð'\0' || -vf_id - >ð -dev_šfo -. -max_vfs -) { - -1244 -´štf -("šv®id…¬am‘” %s.\n", -»s --> -pf_vf -); - -1247 - g’Œy -. - gšput -. - gæow_ext -. - gis_vf - = 1; - -1248 - g’Œy -. - gšput -. - gæow_ext -. - gd¡_id - = ( -ušt16_t -) -vf_id -; - -1250 -´štf -("šv®id…¬am‘” %s.\n", -»s --> -pf_vf -); - -1254 - g’Œy -. - gaùiÚ -. - g»pÜt_¡©us - = -RTE_ETH_FDIR_REPORT_ID -; - -1255 - g’Œy -. - gaùiÚ -. - grx_queue - = -»s --> -queue_id -; - -1256 - g’Œy -. - gsoá_id - = -»s --> -fd_id_v®ue -; - -1257 ià(! -¡rcmp -( -»s --> -Ýs -, "add")) - -1258 - g»t - = -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_FDIR -, - -1259 -RTE_ETH_FILTER_ADD -, & -’Œy -); - -1260 ià(! -¡rcmp -( -»s --> -Ýs -, "del")) - -1261 - g»t - = -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_FDIR -, - -1262 -RTE_ETH_FILTER_DELETE -, & -’Œy -); - -1264 - g»t - = -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_FDIR -, - -1265 -RTE_ETH_FILTER_UPDATE -, & -’Œy -); - -1266 ià( - g»t - < 0) - -1267 -´štf -("flow director…rogrammingƒrror: (%s)\n", - -1268 -¡»¼Ü -(- -»t -)); - -1274 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_fž‹r - = - -1275 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1276 -æow_dœeùÜ_fž‹r -, "flow_director_filter"); - -1278 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_pÜt_id - = - -1279 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1280 -pÜt_id -, -UINT8 -); - -1283 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_mode - = - -1284 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1285 -mode -, "mode"); - -1287 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_mode_ - = - -1288 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1289 -mode_v®ue -, "IP"); - -1291 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_Ýs - = - -1292 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1293 -Ýs -, "add#del#update"); - -1295 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_æow - = - -1296 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1297 -æow -, "flow"); - -1299 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_æow_ty³ - = - -1300 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1301 -æow_ty³ -, "ipv4-other#ipv4-frag#ipv4-tcp#ipv4-udp#ipv4-sctp#" - -1304 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_¤c - = - -1305 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1306 -¤c -, "src"); - -1307 -cmdlše_·r£_tok’_addr_t - - gcmd_æow_dœeùÜ__¤c - = - -1308 -TOKEN_IPADDR_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1309 -_¤c -); - -1310 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_pÜt_¤c - = - -1311 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1312 -pÜt_¤c -, -UINT16 -); - -1313 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_d¡ - = - -1314 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1315 -d¡ -, "dst"); - -1316 -cmdlše_·r£_tok’_addr_t - - gcmd_æow_dœeùÜ__d¡ - = - -1317 -TOKEN_IPADDR_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1318 -_d¡ -); - -1319 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_pÜt_d¡ - = - -1320 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1321 -pÜt_d¡ -, -UINT16 -); - -1323 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_tos - = - -1324 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1325 -tos -, "tos"); - -1326 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_tos_v®ue - = - -1327 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1328 -tos_v®ue -, -UINT8 -); - -1330 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_‰l - = - -1331 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1332 -‰l -, "ttl"); - -1333 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_‰l_v®ue - = - -1334 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1335 -‰l_v®ue -, -UINT8 -); - -1337 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_vÏn - = - -1338 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1339 -vÏn -, "vlan"); - -1340 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_vÏn_v®ue - = - -1341 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1342 -vÏn_v®ue -, -UINT16 -); - -1343 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_æexby‹s - = - -1344 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1345 -æexby‹s -, "flexbytes"); - -1346 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_æexby‹s_v®ue - = - -1347 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1348 -æexby‹s_v®ue -, -NULL -); - -1349 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_drÝ - = - -1350 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1351 -drÝ -, "drop#fwd"); - -1352 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_pf_vf - = - -1353 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1354 -pf_vf -, -NULL -); - -1355 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_queue - = - -1356 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1357 -queue -, "queue"); - -1358 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_queue_id - = - -1359 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1360 -queue_id -, -UINT16 -); - -1361 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_fd_id - = - -1362 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1363 -fd_id -, "fd_id"); - -1364 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_fd_id_v®ue - = - -1365 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1366 -fd_id_v®ue -, -UINT32 -); - -1369 -cmdlše_·r£_š¡_t - - gcmd_add_d–_udp_æow_dœeùÜ - = { - -1370 . -f - = -cmd_æow_dœeùÜ_fž‹r_·r£d -, - -1371 . - gd©a - = -NULL -, - -1372 . - gh–p_¡r - = "add or delete‡n udp/tcp flow directorƒntry on NIC", - -1373 . - gtok’s - = { - -1374 (*)& -cmd_æow_dœeùÜ_fž‹r -, - -1375 (*)& -cmd_æow_dœeùÜ_pÜt_id -, - -1376 (*)& -cmd_æow_dœeùÜ_mode -, - -1377 (*)& -cmd_æow_dœeùÜ_mode_ -, - -1378 (*)& -cmd_æow_dœeùÜ_Ýs -, - -1379 (*)& -cmd_æow_dœeùÜ_æow -, - -1380 (*)& -cmd_æow_dœeùÜ_æow_ty³ -, - -1381 (*)& -cmd_æow_dœeùÜ_¤c -, - -1382 (*)& -cmd_æow_dœeùÜ__¤c -, - -1383 (*)& -cmd_æow_dœeùÜ_pÜt_¤c -, - -1384 (*)& -cmd_æow_dœeùÜ_d¡ -, - -1385 (*)& -cmd_æow_dœeùÜ__d¡ -, - -1386 (*)& -cmd_æow_dœeùÜ_pÜt_d¡ -, - -1387 (*)& -cmd_æow_dœeùÜ_tos -, - -1388 (*)& -cmd_æow_dœeùÜ_tos_v®ue -, - -1389 (*)& -cmd_æow_dœeùÜ_‰l -, - -1390 (*)& -cmd_æow_dœeùÜ_‰l_v®ue -, - -1391 (*)& -cmd_æow_dœeùÜ_vÏn -, - -1392 (*)& -cmd_æow_dœeùÜ_vÏn_v®ue -, - -1393 (*)& -cmd_æow_dœeùÜ_æexby‹s -, - -1394 (*)& -cmd_æow_dœeùÜ_æexby‹s_v®ue -, - -1395 (*)& -cmd_æow_dœeùÜ_drÝ -, - -1396 (*)& -cmd_æow_dœeùÜ_pf_vf -, - -1397 (*)& -cmd_æow_dœeùÜ_queue -, - -1398 (*)& -cmd_æow_dœeùÜ_queue_id -, - -1399 (*)& -cmd_æow_dœeùÜ_fd_id -, - -1400 (*)& -cmd_æow_dœeùÜ_fd_id_v®ue -, - -1401 -NULL -, - -1405 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_æow_dœeùÜ_‘h” - = - -1406 -TOKEN_STRING_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1407 -‘h” -, "ether"); - -1408 -cmdlše_·r£_tok’_num_t - - gcmd_æow_dœeùÜ_‘h”_ty³ - = - -1409 -TOKEN_NUM_INITIALIZER -( -cmd_æow_dœeùÜ_»suÉ -, - -1410 -‘h”_ty³ -, -UINT16 -); - -1412 -cmdlše_·r£_š¡_t - - gcmd_add_d–_l2_æow_dœeùÜ - = { - -1413 . -f - = -cmd_æow_dœeùÜ_fž‹r_·r£d -, - -1414 . - gd©a - = -NULL -, - -1415 . - gh–p_¡r - = "add or delete‡ L2 flow directorƒntry on NIC", - -1416 . - gtok’s - = { - -1417 (*)& -cmd_æow_dœeùÜ_fž‹r -, - -1418 (*)& -cmd_æow_dœeùÜ_pÜt_id -, - -1419 (*)& -cmd_æow_dœeùÜ_mode -, - -1420 (*)& -cmd_æow_dœeùÜ_mode_ -, - -1421 (*)& -cmd_æow_dœeùÜ_Ýs -, - -1422 (*)& -cmd_æow_dœeùÜ_æow -, - -1423 (*)& -cmd_æow_dœeùÜ_æow_ty³ -, - -1424 (*)& -cmd_æow_dœeùÜ_‘h” -, - -1425 (*)& -cmd_æow_dœeùÜ_‘h”_ty³ -, - -1426 (*)& -cmd_æow_dœeùÜ_æexby‹s -, - -1427 (*)& -cmd_æow_dœeùÜ_æexby‹s_v®ue -, - -1428 (*)& -cmd_æow_dœeùÜ_drÝ -, - -1429 (*)& -cmd_æow_dœeùÜ_pf_vf -, - -1430 (*)& -cmd_æow_dœeùÜ_queue -, - -1431 (*)& -cmd_æow_dœeùÜ_queue_id -, - -1432 (*)& -cmd_æow_dœeùÜ_fd_id -, - -1433 (*)& -cmd_æow_dœeùÜ_fd_id_v®ue -, - -1434 -NULL -, - -1440  - scmd_£t_hash_šput_£t_»suÉ - { - -1441 -cmdlše_fixed_¡ršg_t - - g£t_hash_šput_£t -; - -1442 -ušt8_t - - gpÜt_id -; - -1443 -cmdlše_fixed_¡ršg_t - - gæow_ty³ -; - -1444 -cmdlše_fixed_¡ršg_t - - gš£t_f›ld0 -; - -1445 -cmdlše_fixed_¡ršg_t - - gš£t_f›ld1 -; - -1446 -cmdlše_fixed_¡ršg_t - - gš£t_f›ld2 -; - -1447 -cmdlše_fixed_¡ršg_t - - gš£t_f›ld3 -; - -1448 -cmdlše_fixed_¡ršg_t - - gš£t_f›ld4 -; - -1449 -cmdlše_fixed_¡ršg_t - - g£Ëù -; - -1452  -¹e_‘h_šput_£t_f›ld - - -1453 -¡r2š£t -(* -¡ršg -) - -1455 -ušt16_t - - gi -; - -1458  - g¡r -[32]; - -1459 -¹e_‘h_šput_£t_f›ld - - gš£t -; - -1460 } - gš£t_bË -[] = { - -1461 {"‘h”ty³", -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-v4", -RTE_ETH_INPUT_SET_L3_SRC_IP4 -}, - -1465 {"d¡-v4", -RTE_ETH_INPUT_SET_L3_DST_IP4 -}, - -1466 {"v4-tos", -RTE_ETH_INPUT_SET_L3_IP4_TOS -}, - -1467 {"v4-´Ùo", -RTE_ETH_INPUT_SET_L3_IP4_PROTO -}, - -1468 {"v4-‰l", -RTE_ETH_INPUT_SET_L3_IP4_TTL -}, - -1469 {"¤c-v6", -RTE_ETH_INPUT_SET_L3_SRC_IP6 -}, - -1470 {"d¡-v6", -RTE_ETH_INPUT_SET_L3_DST_IP6 -}, - -1471 {"v6-tc", -RTE_ETH_INPUT_SET_L3_IP6_TC -}, - -1472 {"v6-Ãxt-h—d”", -RTE_ETH_INPUT_SET_L3_IP6_NEXT_HEADER -}, - -1473 {"v6-hÝ-lim™s", -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”i-g", -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  - gi - = 0; i < -RTE_DIM -( -š£t_bË -); i++) { - -1494 ià(! -¡rcmp -( -¡ršg -, -š£t_bË -[ -i -]. -¡r -)) - -1495  - gš£t_bË -[ -i -]. - gš£t -; - -1498  - gRTE_ETH_INPUT_SET_UNKNOWN -; - -1502 -cmd_£t_hash_šput_£t_1_·r£d -(* -·r£d_»suÉ -, - -1503 -__¹e_unu£d -  -cmdlše - * -þ -, - -1504 -__¹e_unu£d - * -d©a -) - -1506  -cmd_£t_hash_šput_£t_»suÉ - * - g»s - = -·r£d_»suÉ -; - -1507  -¹e_‘h_hash_fž‹r_šfo - - gšfo -; - -1509 ià( - g’abË_æow_dœ -) { - -1510 -´štf -("FDIR Filter is Defined!\n"); - -1511 -´štf -("Please undefine FDIR_FILTER flag‡nd define " - -1516 -mem£t -(& -šfo -, 0, (info)); - -1517 - gšfo -. - gšfo_ty³ - = -RTE_ETH_HASH_FILTER_INPUT_SET_SELECT -; - -1518 - gšfo -.šfo. - gšput_£t_cÚf -. - gæow_ty³ - = -¡r2æowty³ -( -»s --> -æow_ty³ -); - -1520 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[0] = -¡r2š£t -( -»s --> -š£t_f›ld0 -); - -1521 - gšfo -.šfo. - gšput_£t_cÚf -. - gš£t_size - = 1; - -1523 ià(! -¡rcmp -( -»s --> -£Ëù -, "select")) - -1524 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_SELECT -; - -1525 ià(! -¡rcmp -( -»s --> -£Ëù -, "add")) - -1526 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_ADD -; - -1528 -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_HASH -, - -1529 -RTE_ETH_FILTER_SET -, & -šfo -); - -1535 -cmd_£t_hash_šput_£t_2_·r£d -(* -·r£d_»suÉ -, - -1536 -__¹e_unu£d -  -cmdlše - * -þ -, - -1537 -__¹e_unu£d - * -d©a -) - -1539  -cmd_£t_hash_šput_£t_»suÉ - * - g»s - = -·r£d_»suÉ -; - -1540  -¹e_‘h_hash_fž‹r_šfo - - gšfo -; - -1542 ià( - g’abË_æow_dœ -) { - -1543 -´štf -("FDIR Filter is Defined!\n"); - -1544 -´štf -("Please undefine FDIR_FILTER flag‡nd define " - -1549 -mem£t -(& -šfo -, 0, (info)); - -1550 - gšfo -. - gšfo_ty³ - = -RTE_ETH_HASH_FILTER_INPUT_SET_SELECT -; - -1551 - gšfo -.šfo. - gšput_£t_cÚf -. - gæow_ty³ - = -¡r2æowty³ -( -»s --> -æow_ty³ -); - -1553 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[0] = -¡r2š£t -( -»s --> -š£t_f›ld0 -); - -1554 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[1] = -¡r2š£t -( -»s --> -š£t_f›ld1 -); - -1556 - gšfo -.šfo. - gšput_£t_cÚf -. - gš£t_size - = 2; - -1558 ià(! -¡rcmp -( -»s --> -£Ëù -, "select")) - -1559 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_SELECT -; - -1560 ià(! -¡rcmp -( -»s --> -£Ëù -, "add")) - -1561 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_ADD -; - -1563 -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_HASH -, - -1564 -RTE_ETH_FILTER_SET -, & -šfo -); - -1571 -cmd_£t_hash_šput_£t_3_·r£d -(* -·r£d_»suÉ -, - -1572 -__¹e_unu£d -  -cmdlše - * -þ -, - -1573 -__¹e_unu£d - * -d©a -) - -1575  -cmd_£t_hash_šput_£t_»suÉ - * - g»s - = -·r£d_»suÉ -; - -1576  -¹e_‘h_hash_fž‹r_šfo - - gšfo -; - -1578 -mem£t -(& -šfo -, 0, (info)); - -1579 - gšfo -. - gšfo_ty³ - = -RTE_ETH_HASH_FILTER_INPUT_SET_SELECT -; - -1580 - gšfo -.šfo. - gšput_£t_cÚf -. - gæow_ty³ - = -¡r2æowty³ -( -»s --> -æow_ty³ -); - -1582 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[0] = -¡r2š£t -( -»s --> -š£t_f›ld0 -); - -1583 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[1] = -¡r2š£t -( -»s --> -š£t_f›ld1 -); - -1584 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[2] = -¡r2š£t -( -»s --> -š£t_f›ld2 -); - -1585 - gšfo -.šfo. - gšput_£t_cÚf -. - gš£t_size - = 3; - -1587 ià(! -¡rcmp -( -»s --> -£Ëù -, "select")) - -1588 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_SELECT -; - -1589 ià(! -¡rcmp -( -»s --> -£Ëù -, "add")) - -1590 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_ADD -; - -1592 -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_HASH -, - -1593 -RTE_ETH_FILTER_SET -, & -šfo -); - -1597 -cmd_£t_hash_šput_£t_4_·r£d -(* -·r£d_»suÉ -, - -1598 -__¹e_unu£d -  -cmdlše - * -þ -, - -1599 -__¹e_unu£d - * -d©a -) - -1601  -cmd_£t_hash_šput_£t_»suÉ - * - g»s - = -·r£d_»suÉ -; - -1602  -¹e_‘h_hash_fž‹r_šfo - - gšfo -; - -1604 ià( - g’abË_æow_dœ -) { - -1605 -´štf -("FDIR Filter is Defined!\n"); - -1606 -´štf -("Please undefine FDIR_FILTER flag‡nd define " - -1611 -mem£t -(& -šfo -, 0, (info)); - -1612 - gšfo -. - gšfo_ty³ - = -RTE_ETH_HASH_FILTER_INPUT_SET_SELECT -; - -1613 - gšfo -.šfo. - gšput_£t_cÚf -. - gæow_ty³ - = -¡r2æowty³ -( -»s --> -æow_ty³ -); - -1615 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[0] = -¡r2š£t -( -»s --> -š£t_f›ld0 -); - -1616 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[1] = -¡r2š£t -( -»s --> -š£t_f›ld1 -); - -1617 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[2] = -¡r2š£t -( -»s --> -š£t_f›ld2 -); - -1618 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[3] = -¡r2š£t -( -»s --> -š£t_f›ld3 -); - -1620 - gšfo -.šfo. - gšput_£t_cÚf -. - gš£t_size - = 4; - -1621 ià(! -¡rcmp -( -»s --> -£Ëù -, "select")) - -1622 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_SELECT -; - -1623 ià(! -¡rcmp -( -»s --> -£Ëù -, "add")) - -1624 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_ADD -; - -1626 -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_HASH -, - -1627 -RTE_ETH_FILTER_SET -, & -šfo -); - -1633 -cmd_£t_hash_šput_£t_5_·r£d -(* -·r£d_»suÉ -, - -1634 -__¹e_unu£d -  -cmdlše - * -þ -, - -1635 -__¹e_unu£d - * -d©a -) - -1637  -cmd_£t_hash_šput_£t_»suÉ - * - g»s - = -·r£d_»suÉ -; - -1638  -¹e_‘h_hash_fž‹r_šfo - - gšfo -; - -1640 -mem£t -(& -šfo -, 0, (info)); - -1641 - gšfo -. - gšfo_ty³ - = -RTE_ETH_HASH_FILTER_INPUT_SET_SELECT -; - -1642 - gšfo -.šfo. - gšput_£t_cÚf -. - gæow_ty³ - = -¡r2æowty³ -( -»s --> -æow_ty³ -); - -1644 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[0] = -¡r2š£t -( -»s --> -š£t_f›ld0 -); - -1645 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[1] = -¡r2š£t -( -»s --> -š£t_f›ld1 -); - -1646 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[2] = -¡r2š£t -( -»s --> -š£t_f›ld2 -); - -1647 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[3] = -¡r2š£t -( -»s --> -š£t_f›ld3 -); - -1648 - gšfo -.šfo. - gšput_£t_cÚf -. - gf›ld -[4] = -¡r2š£t -( -»s --> -š£t_f›ld4 -); - -1650 - gšfo -.šfo. - gšput_£t_cÚf -. - gš£t_size - = 5; - -1651 ià(! -¡rcmp -( -»s --> -£Ëù -, "select")) - -1652 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_SELECT -; - -1653 ià(! -¡rcmp -( -»s --> -£Ëù -, "add")) - -1654 - gšfo -.šfo. - gšput_£t_cÚf -. - gÝ - = -RTE_ETH_INPUT_SET_ADD -; - -1655 -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_HASH -, - -1656 -RTE_ETH_FILTER_SET -, & -šfo -); - -1660 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_šput_£t_cmd - = - -1661 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1662 -£t_hash_šput_£t -, "set_hash_input_set"); - -1663 -cmdlše_·r£_tok’_num_t - - gcmd_£t_hash_šput_£t_pÜt_id - = - -1664 -TOKEN_NUM_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1665 -pÜt_id -, -UINT8 -); - -1666 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_šput_£t_æow_ty³ - = - -1667 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1668 -æow_ty³ -, - -1672 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_šput_£t_f›ld0 - = - -1673 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1674 -š£t_f›ld0 -, - -1678 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_šput_£t_f›ld1 - = - -1679 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1680 -š£t_f›ld1 -, - -1684 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_šput_£t_f›ld2 - = - -1685 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1686 -š£t_f›ld2 -, - -1689 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_šput_£t_f›ld3 - = - -1690 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1691 -š£t_f›ld3 -, - -1694 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_šput_£t_f›ld4 - = - -1695 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1696 -š£t_f›ld4 -, "ipv4-proto#ipv6-next-header#none"); - -1699 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_šput_£t_£Ëù - = - -1700 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_šput_£t_»suÉ -, - -1701 -£Ëù -, "select#add"); - -1703 -cmdlše_·r£_š¡_t - - gcmd_£t_hash_šput_£t_1 - = { - -1704 . -f - = -cmd_£t_hash_šput_£t_1_·r£d -, - -1705 . - gd©a - = -NULL -, - -1706 . - gh–p_¡r - = "set_hash_input_set_1 " - -1712 . - gtok’s - = { - -1713 (*)& -cmd_£t_hash_šput_£t_cmd -, - -1714 (*)& -cmd_£t_hash_šput_£t_pÜt_id -, - -1715 (*)& -cmd_£t_hash_šput_£t_æow_ty³ -, - -1716 (*)& -cmd_£t_hash_šput_£t_f›ld0 -, - -1717 (*)& -cmd_£t_hash_šput_£t_£Ëù -, - -1718 -NULL -, - -1722 -cmdlše_·r£_š¡_t - - gcmd_£t_hash_šput_£t_2 - = { - -1723 . -f - = -cmd_£t_hash_šput_£t_2_·r£d -, - -1724 . - gd©a - = -NULL -, - -1725 . - gh–p_¡r - = "set_hash_input_set_2 " - -1732 . - gtok’s - = { - -1733 (*)& -cmd_£t_hash_šput_£t_cmd -, - -1734 (*)& -cmd_£t_hash_šput_£t_pÜt_id -, - -1735 (*)& -cmd_£t_hash_šput_£t_æow_ty³ -, - -1736 (*)& -cmd_£t_hash_šput_£t_f›ld0 -, - -1737 (*)& -cmd_£t_hash_šput_£t_f›ld1 -, - -1738 (*)& -cmd_£t_hash_šput_£t_£Ëù -, - -1739 -NULL -, - -1744 -cmdlše_·r£_š¡_t - - gcmd_£t_hash_šput_£t_3 - = { - -1745 . -f - = -cmd_£t_hash_šput_£t_3_·r£d -, - -1746 . - gd©a - = -NULL -, - -1747 . - gh–p_¡r - = "set_hash_input_set_3 " - -1757 . - gtok’s - = { - -1758 (*)& -cmd_£t_hash_šput_£t_cmd -, - -1759 (*)& -cmd_£t_hash_šput_£t_pÜt_id -, - -1760 (*)& -cmd_£t_hash_šput_£t_æow_ty³ -, - -1761 (*)& -cmd_£t_hash_šput_£t_f›ld0 -, - -1762 (*)& -cmd_£t_hash_šput_£t_f›ld1 -, - -1763 (*)& -cmd_£t_hash_šput_£t_f›ld2 -, - -1764 (*)& -cmd_£t_hash_šput_£t_£Ëù -, - -1765 -NULL -, - -1770 -cmdlše_·r£_š¡_t - - gcmd_£t_hash_šput_£t_4 - = { - -1771 . -f - = -cmd_£t_hash_šput_£t_4_·r£d -, - -1772 . - gd©a - = -NULL -, - -1773 . - gh–p_¡r - = "set_hash_input_set_4 " - -1782 . - gtok’s - = { - -1783 (*)& -cmd_£t_hash_šput_£t_cmd -, - -1784 (*)& -cmd_£t_hash_šput_£t_pÜt_id -, - -1785 (*)& -cmd_£t_hash_šput_£t_æow_ty³ -, - -1786 (*)& -cmd_£t_hash_šput_£t_f›ld0 -, - -1787 (*)& -cmd_£t_hash_šput_£t_f›ld1 -, - -1788 (*)& -cmd_£t_hash_šput_£t_f›ld2 -, - -1789 (*)& -cmd_£t_hash_šput_£t_f›ld3 -, - -1790 (*)& -cmd_£t_hash_šput_£t_£Ëù -, - -1791 -NULL -, - -1795 -cmdlše_·r£_š¡_t - - gcmd_£t_hash_šput_£t_5 - = { - -1796 . -f - = -cmd_£t_hash_šput_£t_5_·r£d -, - -1797 . - gd©a - = -NULL -, - -1798 . - gh–p_¡r - = "set_hash_input_set_5 " - -1808 . - gtok’s - = { - -1809 (*)& -cmd_£t_hash_šput_£t_cmd -, - -1810 (*)& -cmd_£t_hash_šput_£t_pÜt_id -, - -1811 (*)& -cmd_£t_hash_šput_£t_æow_ty³ -, - -1812 (*)& -cmd_£t_hash_šput_£t_f›ld0 -, - -1813 (*)& -cmd_£t_hash_šput_£t_f›ld1 -, - -1814 (*)& -cmd_£t_hash_šput_£t_f›ld2 -, - -1815 (*)& -cmd_£t_hash_šput_£t_f›ld3 -, - -1816 (*)& -cmd_£t_hash_šput_£t_f›ld4 -, - -1817 (*)& -cmd_£t_hash_šput_£t_£Ëù -, - -1818 -NULL -, - -1824  - scmd_£t_hash_glob®_cÚfig_»suÉ - { - -1825 -cmdlše_fixed_¡ršg_t - - g£t_hash_glob®_cÚfig -; - -1826 -ušt8_t - - gpÜt_id -; - -1827 -cmdlše_fixed_¡ršg_t - - ghash_func -; - -1828 -cmdlše_fixed_¡ršg_t - - gæow_ty³ -; - -1829 -cmdlše_fixed_¡ršg_t - - g’abË -; - -1833 -cmd_£t_hash_glob®_cÚfig_·r£d -(* -·r£d_»suÉ -, - -1834 -__¹e_unu£d -  -cmdlše - * -þ -, - -1835 -__¹e_unu£d - * -d©a -) - -1837  -cmd_£t_hash_glob®_cÚfig_»suÉ - * - g»s - = -·r£d_»suÉ -; - -1838  -¹e_‘h_hash_fž‹r_šfo - - gšfo -; - -1839 -ušt32_t - - gáy³ -, - gidx -, - goff£t -; - -1840  - g»t -; - -1842 ià( -¹e_‘h_dev_fž‹r_suµÜ‹d -( -»s --> -pÜt_id -, - -1843 -RTE_ETH_FILTER_HASH -) < 0) { - -1844 -´štf -("RTE_ETH_FILTER_HASH‚ot supported on…ort %d\n", - -1845 -»s --> -pÜt_id -); - -1848 -mem£t -(& -šfo -, 0, (info)); - -1849 - gšfo -. - gšfo_ty³ - = -RTE_ETH_HASH_FILTER_GLOBAL_CONFIG -; - -1850 ià(! -¡rcmp -( -»s --> -hash_func -, "toeplitz")) - -1851 - gšfo -.šfo. - gglob®_cÚf -. - ghash_func - = - -1852 -RTE_ETH_HASH_FUNCTION_TOEPLITZ -; - -1853 ià(! -¡rcmp -( -»s --> -hash_func -, "simple_xor")) - -1854 - gšfo -.šfo. - gglob®_cÚf -. - ghash_func - = - -1855 -RTE_ETH_HASH_FUNCTION_SIMPLE_XOR -; - -1856 ià(! -¡rcmp -( -»s --> -hash_func -, "default")) - -1857 - gšfo -.šfo. - gglob®_cÚf -. - ghash_func - = - -1858 -RTE_ETH_HASH_FUNCTION_DEFAULT -; - -1860 - gáy³ - = -¡r2æowty³ -( -»s --> -æow_ty³ -); - -1861 - gidx - = -áy³ - / ( -CHAR_BIT - * ( -ušt32_t -)); - -1862 - goff£t - = -áy³ - % ( -CHAR_BIT - * ( -ušt32_t -)); - -1863 - gšfo -.šfo. - gglob®_cÚf -. - gv®id_b™_mask -[ -idx -] |ð(1UL << -off£t -); - -1864 ià(! -¡rcmp -( -»s --> -’abË -, "enable")) - -1865 if( - gidx - < - gRTE_SYM_HASH_MASK_ARRAY_SIZE -) - -1866 - gšfo -.šfo. - gglob®_cÚf -. - gsym_hash_’abË_mask -[ -idx -] |= - -1867 (1UL << -off£t -); - -1868 - g»t - = -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_HASH -, - -1869 -RTE_ETH_FILTER_SET -, & -šfo -); - -1870 ià( - g»t - < 0) - -1871 -´štf -("Cannot set global hash configurations by…ort %d\n", - -1872 -»s --> -pÜt_id -); - -1874 -´štf -("Global hash configurations have been set " - -1875 "succûssfuÎy by…܈%d\n", -»s --> -pÜt_id -); - -1877 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_glob®_cÚfig_®l - = - -1878 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_glob®_cÚfig_»suÉ -, - -1879 -£t_hash_glob®_cÚfig -, "set_hash_global_config"); - -1880 -cmdlše_·r£_tok’_num_t - - gcmd_£t_hash_glob®_cÚfig_pÜt_id - = - -1881 -TOKEN_NUM_INITIALIZER -( -cmd_£t_hash_glob®_cÚfig_»suÉ -, - -1882 -pÜt_id -, -UINT8 -); - -1883 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_glob®_cÚfig_hash_func - = - -1884 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_glob®_cÚfig_»suÉ -, - -1885 -hash_func -, "toeplitz#simple_xor#default"); - -1886 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_glob®_cÚfig_æow_ty³ - = - -1887 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_glob®_cÚfig_»suÉ -, - -1888 -æow_ty³ -, - -1891 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_hash_glob®_cÚfig_’abË - = - -1892 -TOKEN_STRING_INITIALIZER -( -cmd_£t_hash_glob®_cÚfig_»suÉ -, - -1893 -’abË -, "enable#disable"); - -1895 -cmdlše_·r£_š¡_t - - gcmd_£t_hash_glob®_cÚfig - = { - -1896 . -f - = -cmd_£t_hash_glob®_cÚfig_·r£d -, - -1897 . - gd©a - = -NULL -, - -1898 . - gh–p_¡r - = "set_hash_global_config…ort_id " - -1903 . - gtok’s - = { - -1904 (*)& -cmd_£t_hash_glob®_cÚfig_®l -, - -1905 (*)& -cmd_£t_hash_glob®_cÚfig_pÜt_id -, - -1906 (*)& -cmd_£t_hash_glob®_cÚfig_hash_func -, - -1907 (*)& -cmd_£t_hash_glob®_cÚfig_æow_ty³ -, - -1908 (*)& -cmd_£t_hash_glob®_cÚfig_’abË -, - -1909 -NULL -, - -1914  - scmd_£t_sym_hash_’a_³r_pÜt_»suÉ - { - -1915 -cmdlše_fixed_¡ršg_t - - g£t_sym_hash_’a_³r_pÜt -; - -1916 -cmdlše_fixed_¡ršg_t - - g’abË -; - -1917 -ušt8_t - - gpÜt_id -; - -1921 -cmd_£t_sym_hash_³r_pÜt_·r£d -(* -·r£d_»suÉ -, - -1922 -__¹e_unu£d -  -cmdlše - * -þ -, - -1923 -__¹e_unu£d - * -d©a -) - -1925  -cmd_£t_sym_hash_’a_³r_pÜt_»suÉ - * - g»s - = -·r£d_»suÉ -; - -1926  -¹e_‘h_hash_fž‹r_šfo - - gšfo -; - -1927  - g»t -; - -1929 ià( -¹e_‘h_dev_fž‹r_suµÜ‹d -( -»s --> -pÜt_id -, - -1930 -RTE_ETH_FILTER_HASH -) < 0) { - -1931 -´štf -("RTE_ETH_FILTER_HASH‚ot supported on…ort: %d\n", - -1932 -»s --> -pÜt_id -); - -1936 -mem£t -(& -šfo -, 0, (info)); - -1937 - gšfo -. - gšfo_ty³ - = -RTE_ETH_HASH_FILTER_SYM_HASH_ENA_PER_PORT -; - -1939 ià(! -¡rcmp -( -»s --> -’abË -, "enable")) - -1940 - gšfo -.šfo. - g’abË - = 1; - -1942 - g»t - = -¹e_‘h_dev_fž‹r_ù¾ -( -»s --> -pÜt_id -, -RTE_ETH_FILTER_HASH -, - -1943 -RTE_ETH_FILTER_SET -, & -šfo -); - -1944 ià( - g»t - < 0) { - -1945 -´štf -("Cannot set symmetric hashƒnable…er…ort on " - -1946 "p܈%u\n", -»s --> -pÜt_id -); - -1949 -´štf -("Symmetric hash has been seto %s on…ort %u\n", - -1950 -»s --> -’abË -,„es-> -pÜt_id -); - -1953 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_sym_hash_’a_³r_pÜt_®l - = - -1954 -TOKEN_STRING_INITIALIZER -( -cmd_£t_sym_hash_’a_³r_pÜt_»suÉ -, - -1955 -£t_sym_hash_’a_³r_pÜt -, "set_sym_hash_ena_per_port"); - -1956 -cmdlše_·r£_tok’_num_t - - gcmd_£t_sym_hash_’a_³r_pÜt_pÜt_id - = - -1957 -TOKEN_NUM_INITIALIZER -( -cmd_£t_sym_hash_’a_³r_pÜt_»suÉ -, - -1958 -pÜt_id -, -UINT8 -); - -1959 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_£t_sym_hash_’a_³r_pÜt_’abË - = - -1960 -TOKEN_STRING_INITIALIZER -( -cmd_£t_sym_hash_’a_³r_pÜt_»suÉ -, - -1961 -’abË -, "enable#disable"); - -1963 -cmdlše_·r£_š¡_t - - gcmd_£t_sym_hash_’a_³r_pÜt - = { - -1964 . -f - = -cmd_£t_sym_hash_³r_pÜt_·r£d -, - -1965 . - gd©a - = -NULL -, - -1966 . - gh–p_¡r - = "set_sym_hash_ena_per_port…ort_idƒnable|disable", - -1967 . - gtok’s - = { - -1968 (*)& -cmd_£t_sym_hash_’a_³r_pÜt_®l -, - -1969 (*)& -cmd_£t_sym_hash_’a_³r_pÜt_pÜt_id -, - -1970 (*)& -cmd_£t_sym_hash_’a_³r_pÜt_’abË -, - -1971 -NULL -, - -1977 -­p_p–še_¬picmp_’Œy_dbg -( -­p_·¿ms - * -­p -, - -1978 -ušt32_t - -p–še_id -, -ušt8_t - * -msg -) - -1980  -p–še_¬picmp_’Œy_dbg_msg_»q - * - g»q -; - -1981  -p–še_¬picmp_’Œy_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–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -1998 ià( - gr¥ - =ð -NULL -) - -2002 ià( - gr¥ --> - g¡©us -) { - -2003 -­p_msg_ä“ -( -­p -, -r¥ -); - -2004 -´štf -("E¼Ü„¥->¡©u %d\n", -r¥ --> -¡©us -); - -2009 -­p_msg_ä“ -( -­p -, -r¥ -); - -2019  - scmd_’Œy_dbg_»suÉ - { - -2020 -cmdlše_fixed_¡ršg_t - - gp_¡ršg -; - -2021 -ušt32_t - - gp -; - -2022 -cmdlše_fixed_¡ršg_t - - g’Œy_¡ršg -; - -2023 -cmdlše_fixed_¡ršg_t - - gdbg_¡ršg -; - -2024 -ušt8_t - - gcmd -; - -2025 -ušt8_t - - gd1 -; - -2029 -cmd_’Œy_dbg_·r£d -(* -·r£d_»suÉ -, - -2030 -__¹e_unu£d -  -cmdlše - * -þ -, * -d©a -) - -2032  -cmd_’Œy_dbg_»suÉ - * - g·¿ms - = -·r£d_»suÉ -; - -2033  -­p_·¿ms - * - g­p - = -d©a -; - -2034 -ušt8_t - - gmsg -[2]; - -2035  - g¡©us -; - -2037 - gmsg -[0] = -·¿ms --> -cmd -; - -2038 - gmsg -[1] = -·¿ms --> -d1 -; - -2039 - g¡©us - = -­p_p–še_¬picmp_’Œy_dbg -( -­p -, -·¿ms --> -p -, -msg -); - -2041 ià( - g¡©us - != 0) { - -2042 -´štf -("Dbg Command failed\n"); - -2047  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_p_¡ršg - = - -2048 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -p_¡ršg -, "p"); - -2050  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_p - = - -2051 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -p -, -UINT32 -); - -2053  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_’Œy_¡ršg - = - -2054 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, - -2055 -’Œy_¡ršg -, "txrx"); - -2057  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_dbg_¡ršg - = - -2058 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -dbg_¡ršg -, - -2061  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_cmd - = - -2062 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -cmd -, -UINT8 -); - -2064  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_d1 - = - -2065 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -d1 -, -UINT8 -); - -2067  -cmdlše_·r£_š¡_t - - glb_cmd_’Œy_dbg - = { - -2068 . -f - = -cmd_’Œy_dbg_·r£d -, - -2069 . - gd©a - = -NULL -, - -2070 . - gh–p_¡r - = "ARPICMP dbg cmd", - -2071 . - gtok’s - = { - -2072 (*)& -lb_cmd_’Œy_dbg_p_¡ršg -, - -2073 (*)& -lb_cmd_’Œy_dbg_p -, - -2074 (*)& -lb_cmd_’Œy_dbg_’Œy_¡ršg -, - -2075 (*)& -lb_cmd_’Œy_dbg_dbg_¡ršg -, - -2076 (*)& -lb_cmd_’Œy_dbg_cmd -, - -2077 (*)& -lb_cmd_’Œy_dbg_d1 -, - -2078 -NULL -, - -2082  -cmdlše_·r£_ùx_t - - gp–še_cmds -[] = { - -2083 ( -cmdlše_·r£_š¡_t - *è& -lb_cmd_’Œy_dbg -, - -2084 ( -cmdlše_·r£_š¡_t - *è& -cmd_¬p_add -, - -2085 ( -cmdlše_·r£_š¡_t - *è& -cmd_¬p_d– -, - -2086 ( -cmdlše_·r£_š¡_t - *è& -cmd_¬p_»q -, - -2087 ( -cmdlše_·r£_š¡_t - *è& -cmd_icmp_echo_»q -, - -2088 ( -cmdlše_·r£_š¡_t - *è& -cmd_¬p_ls -, - -2089 ( -cmdlše_·r£_š¡_t - *è& -cmd_show_pÜts_šfo -, - -2091 ( -cmdlše_·r£_š¡_t - *è& -cmd_£t_fwd_mode -, - -2092 ( -cmdlše_·r£_š¡_t - *è& -cmd_add_d–_udp_æow_dœeùÜ -, - -2093 ( -cmdlše_·r£_š¡_t - *è& -cmd_add_d–_l2_æow_dœeùÜ -, - -2094 ( -cmdlše_·r£_š¡_t - *è& -cmd_£t_hash_šput_£t_1 -, - -2095 ( -cmdlše_·r£_š¡_t - *è& -cmd_£t_hash_šput_£t_2 -, - -2097 ( -cmdlše_·r£_š¡_t - *è& -cmd_£t_hash_šput_£t_4 -, - -2099 ( -cmdlše_·r£_š¡_t - *è& -cmd_£t_hash_glob®_cÚfig -, - -2100 ( -cmdlše_·r£_š¡_t - *è& -cmd_£t_sym_hash_’a_³r_pÜt -, - -2101 #iâdeà -VNF_ACL - - -2102 ( -cmdlše_·r£_š¡_t - *è& -cmd_¬p_dbg -, - -2103 ( -cmdlše_·r£_š¡_t - *è& -cmd_¬p_tim” -, - -2105 -NULL -, - -2108  -p–še_ã_Ýs - - gp–še_¬picmp_ã_Ýs - = { - -2109 . -f_š™ - = -NULL -, - -2110 . - gf_ä“ - = -NULL -, - -2111 . - gcmds - = -p–še_cmds -, - -2114  -p–še_ty³ - - gp–še_¬picmp - = { - -2115 . -Çme - = "ARPICMP", - -2116 . - gbe_Ýs - = & -p–še_¬picmp_be_Ýs -, - -2117 . - gã_Ýs - = & -p–še_¬picmp_ã_Ýs -, - - @VIL/pipeline_arpicmp/pipeline_arpicmp.h - -17 #iâdeà -__INCLUDE_PIPELINE_ARPICMP_H__ - - -18  - #__INCLUDE_PIPELINE_ARPICMP_H__ - - - ) - -20  - ~"p–še.h -" - -21  - ~"p–še_¬picmp_be.h -" - -26  -p–še_ty³ - -p–še_¬picmp -; - -28  - #MAX_PKT_BURST - 512 - - ) - -29  - #DEF_PKT_BURST - 32 - - ) - -32  -ušt8_t - - tpÜtid_t -; - -33  -ušt16_t - - tqueueid_t -; - -34  -ušt16_t - - t¡»amid_t -; - -39  - 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³”_addr -; - -54  - mrx_·ck‘s -; - -56  - mtx_·ck‘s -; - -58  - mfwd_drݳd -; - -60  - mrx_bad__csum -; - -62  - mrx_bad_l4_csum -; - -63 #ifdeà -RTE_TEST_PMD_RECORD_CORE_CYCLES - - -64 -ušt64_t - - mcÜe_cyþes -; - -66 #ifdeà -RTE_TEST_PMD_RECORD_BURST_STATS - - -67  -pkt_bur¡_¡©s - - mrx_bur¡_¡©s -; - -68  -pkt_bur¡_¡©s - - mtx_bur¡_¡©s -; - -86 (* - tpÜt_fwd_begš_t -)( - tpÜtid_t - - tpi -); - -87 (* - tpÜt_fwd_’d_t -)( - tpÜtid_t - - tpi -); - -88 (* - t·ck‘_fwd_t -)( - tfwd_¡»am - * - tfs -); - -89  - sfwd_’gše - { - -91 cÚ¡ * -fwd_mode_Çme -; - -93 -pÜt_fwd_begš_t - -pÜt_fwd_begš -; - -95 -pÜt_fwd_’d_t - -pÜt_fwd_’d -; - -97 -·ck‘_fwd_t - -·ck‘_fwd -; - -99  - #IPV4_ADDR_TO_UINT -( -_addr -, - -) \ - -101 ià(( -_addr -). -çmžy - =ð -AF_INET -) \ - -102 ( - -èð( -_addr -). -addr -. -v4 -. -s_addr -; \ - -104 - `´štf -("invalid…arameter.\n"); \ - -107 - } -} 0) - - ) - -109  - #IPV6_ADDR_TO_ARRAY -( -_addr -, - -) \ - -111 ià(( -_addr -). -çmžy - =ð -AF_INET6 -) \ - -112 () - `¹e_memýy -(&( - -), \ - -113 &(( -_addr -). -addr -. -v6 -), \ - -114 ( -š6_addr -)); \ - -116 - `´štf -("invalid…arameter.\n"); \ - -119 } 0) - - ) - -121  -£t_pkt_fÜw¬dšg_mode -(cÚ¡ * -fwd_mode_Çme -); - - @VIL/pipeline_arpicmp/pipeline_arpicmp_be.c - -17  - ~<¡ršg.h -> - -19  - ~<¡dio.h -> - -20  - ~<¡dlib.h -> - -21  - ~<¡dšt.h -> - -22  - ~<¡ršg.h -> - -23  - ~ - -25  - ~<­p.h -> - -26  - ~<¹e_commÚ.h -> - -27  - ~<¹e_m®loc.h -> - -28  - ~<¹e_.h -> - -29  - ~<¹e_by‹Üd”.h -> - -30  - ~<¹e_bË_¡ub.h -> - -31  - ~<¹e_bË_hash.h -> - -32  - ~<¹e_p–še.h -> - -33  - ~<¹e_¬p.h -> - -34  - ~<¹e_icmp.h -> - -35  - ~<¹e_hash.h -> - -36  - ~<¹e_jhash.h -> - -37  - ~<¹e_cyþes.h -> - -38  - ~<¹e_hexdump.h -> - -39  - ~"p–še_aùiÚs_commÚ.h -" - -40  - ~"hash_func.h -" - -41  - ~"vnf_commÚ.h -" - -42  - ~"p–še_commÚ_be.h -" - -43  - ~"p–še_¬picmp_be.h -" - -44  - ~"·r£r.h -" - -45  - ~"hash_func.h -" - -46  - ~"vnf_commÚ.h -" - -47  - ~"­p.h -" - -49  - ~"p–še_commÚ_ã.h -" - -50 #iâdeà -VNF_ACL - - -51  - ~"lib_¬p.h -" - -52  - ~"lib_icmpv6.h -" - -53  - ~"š‹rçû.h -" - -56 #ifdeà -VNF_ACL - - -58  - #NB_ARPICMP_MBUF - 64 - - ) - -59  - #NB_NDICMP_MBUF - 64 - - ) - -60  - #IP_VERSION_4 - 0x40 - - ) - -62  - #IP_HDRLEN - 0x05 - - ) - -63  - #IP_VHL_DEF - ( -IP_VERSION_4 - | -IP_HDRLEN -) - - ) - -65  - #is_muÉiÿ¡_v4_addr -( -v4_addr -) \ - -66 ((( - `¹e_be_to_ýu_32 -(( -v4_addr -)è>> 24è& 0x000000FFè=ð0xE0) - - ) - -70  - #INADDRSZ - 4 - - ) - -71  - #IN6ADDRSZ - 16 - - ) - -72  -my_š‘_±Ú_v6 -( -af -, cÚ¡ * -¤c -, * -d¡ -); - -73  -š‘_±Ú_v6 -(cÚ¡ * -¤c -, * -d¡ -); - -74  -š‘_±Ú_v4 -(cÚ¡ * -¤c -, * -d¡ -); - -76 -ušt8_t - - gvnf_commÚ_¬p_lib_š™ -; - -77 -ušt8_t - - gvnf_commÚ_nd_lib_š™ -; - -78 -ušt8_t - - glßdb_p–še_couÁ -; - -80 -ušt32_t - - gARPICMP_DEBUG -; - -81 -ušt32_t - - gNDIPV6_DEBUG -; - -83 -ušt32_t - - g¬p_rou‹_tbl_šdex -; - -84 -ušt32_t - - gnd_rou‹_tbl_šdex -; - -85 -ušt32_t - - glšk_hw_addr_¬¿y_idx -; - -87 -ušt32_t - - glib_¬p_g‘_mac_»q -; - -88 -ušt32_t - - glib_¬p_nh_found -; - -89 -ušt32_t - - glib_¬p_no_nh_found -; - -90 -ušt32_t - - glib_¬p_¬p_’Œy_found -; - -91 -ušt32_t - - glib_¬p_no_¬p_’Œy_found -; - -92 -ušt32_t - - glib_¬p_pÝuϋ_ÿÎed -; - -93 -ušt32_t - - glib_¬p_d–‘e_ÿÎed -; - -94 -ušt32_t - - glib_¬p_du¶iÿ‹_found -; - -96 -ušt32_t - - glib_nd_g‘_mac_»q -; - -97 -ušt32_t - - glib_nd_nh_found -; - -98 -ušt32_t - - glib_nd_no_nh_found -; - -99 -ušt32_t - - glib_nd_nd_’Œy_found -; - -100 -ušt32_t - - glib_nd_no_¬p_’Œy_found -; - -101 -ušt32_t - - glib_nd_pÝuϋ_ÿÎed -; - -102 -ušt32_t - - glib_nd_d–‘e_ÿÎed -; - -103 -ušt32_t - - glib_nd_du¶iÿ‹_found -; - -105  -¹e_mempoÞ - * - glib_¬p_pktmbuf_tx_poÞ -; - -106  -¹e_mempoÞ - * - glib_nd_pktmbuf_tx_poÞ -; - -108  -¹e_mbuf - * - glib_¬p_pkt -; - -109  -¹e_mbuf - * - glib_nd_pkt -; - -111  -¹e_hash_·¿m‘”s - - g¬p_hash_·¿ms - = { - -112 . -Çme - = "ARP", - -113 . - g’Œ›s - = 64, - -114 . - g»£rved - = 0, - -115 . - gkey_Ën - = ( -¬p_key_v4 -), - -116 . - ghash_func - = -¹e_jhash -, - -117 . - ghash_func_š™_v® - = 0, - -120  -¹e_hash_·¿m‘”s - - gnd_hash_·¿ms - = { - -121 . -Çme - = "ND", - -122 . - g’Œ›s - = 64, - -123 . - g»£rved - = 0, - -124 . - gkey_Ën - = ( -nd_key_v6 -), - -125 . - ghash_func - = -¹e_jhash -, - -126 . - ghash_func_š™_v® - = 0, - -129  -¹e_hash - * - g¬p_hash_hªdË -; - -130  -¹e_hash - * - gnd_hash_hªdË -; - -134  -­p_·¿ms - * - gmyAµ -; - -135  -¹e_p–še - * - gmyP -; - -136  -p–še_¬picmp - * - ggp_¬p -; - -137 -ušt8_t - - gnum_vnf_th»ads -; - -139 #ifdeà -VNF_ACL - - -141  - s¬p_pÜt_add»ss - { - -142 -ušt32_t - - m -; - -143 -ušt64_t - - mmac_addr -; - -146  -¬p_pÜt_add»ss - - g¬p_pÜt_add»s£s -[ -RTE_MAX_ETHPORTS -]; - -148 -ušt16_t - - g¬p_m‘a_off£t -; - -151  - sp–še_¬picmp - { - -152  -p–še - - mp -; - -153 -p–še_msg_»q_hªdËr - - -154 - mcu¡om_hªdËrs -[ -PIPELINE_ARPICMP_MSG_REQS -]; - -155 -ušt64_t - - m»ûivedPktCouÁ -; - -156 -ušt64_t - - mdrݳdPktCouÁ -; - -157 -ušt64_t - - m£ÁPktCouÁ -; - -158 -ušt8_t - - mlšks_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -159 -ušt8_t - - mouÜt_id -[ -PIPELINE_MAX_PORT_IN -]; - -160 -ušt8_t - - mp–še_num -; - -161 } - g__¹e_ÿche_®igÃd -; - -163 #ifdeà -VNF_ACL - - -165  - #MAX_NUM_ARP_ENTRIES - 64 - - ) - -166  - #MAX_NUM_ND_ENTRIES - 64 - - ) - -169  -lib_nd_rou‹_bË_’Œy - - glib_nd_rou‹_bË -[ -MAX_ND_RT_ENTRY -] = { - -204  -lib_¬p_rou‹_bË_’Œy - - glib_¬p_rou‹_bË -[ -MAX_ARP_RT_ENTRY -] = { - -227  - $p–šes_pÜt_šfo -() - -229  -­p_·¿ms - * -­p - = -myAµ -; - -230 -ušt8_t - -i -, -p–še -; - -231  -p–še - = 0;…–š< -­p --> -n_p–šes -;…ipeline++) { - -232 - `´štf -("*** PIPELINE %d ***\n\n", -p–še -); - -234 - `´štf -("*** OUTPORTs ***\n"); - -235  -i - = 1; i < -­p --> -p–še_·¿ms -[ -p–še -]. -n_pktq_out -; - -236 -i -++) { - -237  -­p --> -p–še_·¿ms -[ -p–še -]. -pktq_out -[ -i -]. - -238 -ty³ -) { - -239  -APP_PKTQ_OUT_SWQ -: - -240 - `´štf -("pktq_out[%d]:%s\n", -i -, - -241 -­p --> -swq_·¿ms -[­p-> -p–še_·¿ms - - -242 [ -p–še -]. - -243 -pktq_out -[ -i -]. -id -]. -Çme -); - -245  -APP_PKTQ_OUT_HWQ -: - -246 - `´štf -("pktq_out[%d]:%s\n", -i -, - -247 -­p --> -hwq_out_·¿ms -[­p-> -p–še_·¿ms - - -248 [ -p–še -]. -pktq_out - - -249 [ -i -]. -id -]. -Çme -); - -252 - `´štf -("Not OUT SWQ or HWQ\n"); - -255 - `´štf -("*** INPORTs ***\n"); - -256  -i - = 0; i < -­p --> -p–še_·¿ms -[ -p–še -]. -n_pktq_š -; i++) { - -257  -­p --> -p–še_·¿ms -[ -p–še -]. -pktq_š -[ -i -] - -258 . -ty³ -) { - -259  -APP_PKTQ_IN_SWQ -: - -260 - `´štf -("pktq_š[%d]:%s\n", -i -, - -261 -­p --> -swq_·¿ms -[­p-> -p–še_·¿ms - - -262 [ -p–še -]. - -263 -pktq_š -[ -i -]. -id -]. -Çme -); - -265  -APP_PKTQ_IN_HWQ -: - -266 - `´štf -("pktq_š[%d]:%s\n", -i -, - -267 -­p --> -hwq_š_·¿ms -[­p-> -p–še_·¿ms - - -268 [ -p–še -]. - -269 -pktq_š -[ -i -]. -id -]. -Çme -); - -272 - `´štf -("Not IN SWQ or HWQ\n"); - -276 - } -} - -278  - $p–šes_m­_šfo -() - -280  -i - = 0; - -282 - `´štf -("PIPELINE_MAX_PORT_IN %d\n", -PIPELINE_MAX_PORT_IN -); - -283 - `´štf -("lb_ouÜt_id[%d", -lb_ouÜt_id -[0]); - -284  -i - = 1; i < -PIPELINE_MAX_PORT_IN -; i++) - -285 - `´štf -(",%d", -lb_ouÜt_id -[ -i -]); - -286 - `´štf -("]\n"); - -288 - `´štf -("vnf_to_lßdb_m­[%d", -vnf_to_lßdb_m­ -[0]); - -289  -i - = 1; i < -PIPELINE_MAX_PORT_IN -; i++) - -290 - `´štf -(",%d", -vnf_to_lßdb_m­ -[ -i -]); - -291 - `´štf -("]\n"); - -293 - `´štf -("pÜt_to_lßdb_m­[%d", -pÜt_to_lßdb_m­ -[0]); - -294  -i - = 1; i < -PIPELINE_MAX_PORT_IN -; i++) - -295 - `´štf -(",%d", -pÜt_to_lßdb_m­ -[ -i -]); - -296 - `´štf -("]\n"); - -298 - `´štf -("lßdb_p–še_nums[%d", -lßdb_p–še_nums -[0]); - -299  -i - = 1; i < -PIPELINE_MAX_PORT_IN -; i++) - -300 - `´štf -(",%d", -lßdb_p–še_nums -[ -i -]); - -301 - `´štf -("]\n"); - -303 - `´štf -("lßdb_p–še[%p", -lßdb_p–še -[0]); - -304  -i - = 1; i < -PIPELINE_MAX_PORT_IN -; i++) - -305 - `´štf -(",%p", -lßdb_p–še -[ -i -]); - -306 - `´štf -("]\n"); - -307 - } -} - -309  - $»gi¡”_p–še_Qs -( -ušt8_t - -p–še_num -,  -p–še - * -p -) - -311  -¹e_pÜt_‘hdev_»ad” - * -hwq -; - -312  -¹e_pÜt_ršg_wr™” - * -out_swq -; - -313  -¹e_pÜt_ršg_»ad” - * -š_swq -; - -314  -¹e_p–še - * -¹e - = -p -->p; - -315 -ušt8_t - -pÜt_couÁ - = 0; - -316  -queue_out - = 0xff, -queue_š - = 0xff; - -318 - `´štf -("C®lšg„egi¡”_p–še_Q š PIPELINE%d\n", -p–še_num -); - -319  -pÜt_couÁ - = 0;…Üt_couÁ < -¹e --> -num_pÜts_out -;…ort_count++) { - -321  -myAµ --> -p–še_·¿ms -[ -p–še_num -]. - -322 -pktq_out -[ -pÜt_couÁ -]. -ty³ -){ - -324  -APP_PKTQ_OUT_SWQ -: - -326 ià( -pÜt_couÁ - >ð -¹e --> -num_pÜts_š -) { - -329 ià( -¹e --> -num_pÜts_out - %„‹-> -num_pÜts_š -) - -330 ià( -pÜt_couÁ - =ð -¹e --> -num_pÜts_out - - 1) - -332  -‹mp -; - -333 -‹mp - = (( -pÜt_couÁ -è% -¹e --> -num_pÜts_š -); - -335 -š_swq - = -¹e --> -pÜts_š -[ -‹mp -]. -h_pÜt -; - -336 -out_swq - = -¹e --> -pÜts_out -[ -pÜt_couÁ -]. -h_pÜt -; - -337 - `´štf -("in_swq : %s\n", - -338 -š_swq --> -ršg --> -Çme -); - -339  -¡©us - = - -340 - `ssÿnf -( -š_swq --> -ršg --> -Çme -, "SWQ%d", - -341 & -queue_š -); - -342 ià( -¡©us - < 0) { - -343 - `´štf -("Unableo„ead SWQ‚umber\n"); - -346 - `´štf -("out_swq: %s\n", - -347 -out_swq --> -ršg --> -Çme -); - -348 -¡©us - = - -349 - `ssÿnf -( -out_swq --> -ršg --> -Çme -, "SWQ%d", - -350 & -queue_out -); - -351 ià( -¡©us - < 0) { - -352 - `´štf -("Unableo„ead SWQ‚umber\n"); - -355 ià( -queue_š - < 128 && -queue_out - < 128) { - -356 -SWQ_to_PÜt_m­ -[ -queue_out -] = - -357 -SWQ_to_PÜt_m­ -[ -queue_š -]; - -358 - `´štf -("SWQ_to_PÜt_m­[%d]%d\n", -queue_out -, - -359 -SWQ_to_PÜt_m­ -[ -queue_out -]); - -364  -myAµ --> -p–še_·¿ms -[ -p–še_num -]. - -365 -pktq_š -[ -pÜt_couÁ -]. -ty³ -){ - -367  -APP_PKTQ_OUT_HWQ -: - -368 -hwq - = -¹e --> -pÜts_š -[ -pÜt_couÁ -]. -h_pÜt -; - -369 -out_swq - = -¹e --> -pÜts_out -[ -pÜt_couÁ -]. -h_pÜt -; - -370 - `´štf -("out_swq: %s\n", - -371 -out_swq --> -ršg --> -Çme -); - -372  -¡©us - = - -373 - `ssÿnf -( -out_swq --> -ršg --> -Çme -, "SWQ%d", - -374 & -queue_out -); - -376 ià( -¡©us - < 0) { - -377 - `´štf -("Unableo„ead SWQ‚umber\n"); - -380 ià( -queue_out - < 128) { - -381 -SWQ_to_PÜt_m­ -[ -queue_out -] = -hwq --> -pÜt_id -; - -382 - `´štf -("SWQ_to_PÜt_m­[%d]%d\n", -queue_out -, - -383 -SWQ_to_PÜt_m­ -[ -queue_out -]); - -387  -APP_PKTQ_OUT_SWQ -: - -388 -š_swq - = -¹e --> -pÜts_š -[ -pÜt_couÁ -]. -h_pÜt -; - -389 -out_swq - = -¹e --> -pÜts_out -[ -pÜt_couÁ -]. -h_pÜt -; - -390 - `´štf -("in_swq : %s\n", - -391 -š_swq --> -ršg --> -Çme -); - -392 -¡©us - = - -393 - `ssÿnf -( -š_swq --> -ršg --> -Çme -, "SWQ%d", - -394 & -queue_š -); - -395 ià( -¡©us - < 0) { - -396 - `´štf -("Unableo„ead SWQ‚umber\n"); - -399 - `´štf -("out_swq: %s\n", - -400 -out_swq --> -ršg --> -Çme -); - -401 -¡©us - = - -402 - `ssÿnf -( -out_swq --> -ršg --> -Çme -, "SWQ%d", - -403 & -queue_out -); - -404 ià( -¡©us - < 0) { - -405 - `´štf -("Unableo„ead SWQ‚umber\n"); - -408 ià( -queue_š - < 128 && -queue_out - < 128){ - -409 -SWQ_to_PÜt_m­ -[ -queue_out -] = - -410 -SWQ_to_PÜt_m­ -[ -queue_š -]; - -411 - `´štf -("SWQ_to_PÜt_m­[%d]%d\n", -queue_out -, - -412 -SWQ_to_PÜt_m­ -[ -queue_out -]); - -417 - `´štf -("This‚ever hits\n"); - -422  -APP_PKTQ_OUT_HWQ -: - -423 - `´štf -("This is HWQ\n"); - -427 - `´štf -("set_phy_outport_map: This‚ever hits\n"); - -430 - } -} - -432  - $£t_lšk_m­ -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -) - -434  -¹e_pÜt_‘hdev_wr™” - * -hwq -; - -435  -¹e_pÜt_ršg_wr™” - * -out_swq -; - -436  -¹e_p–še - * -¹e - = -p -->p; - -438 -ušt8_t - -pÜt_couÁ - = 0; - -439  -šdex - = 0, -queue_out - = 0xff; - -441 - `´štf -("C®lšg s‘_lšk_m­ iÀPIPELINE%d\n", -p–še_num -); - -442  -pÜt_couÁ - = 0;…Üt_couÁ < -¹e --> -num_pÜts_out -;…ort_count++) { - -444  -myAµ --> -p–še_·¿ms -[ -p–še_num -]. - -445 -pktq_out -[ -pÜt_couÁ -]. -ty³ -){ - -447  -APP_PKTQ_OUT_HWQ -: - -448 -hwq - = -¹e --> -pÜts_out -[ -pÜt_couÁ -]. -h_pÜt -; - -449 -m­ -[ -šdex -++] = -hwq --> -pÜt_id -; - -450 - `´štf -("lšks_m­[%d]:%d\n", -šdex - - 1, -m­ -[index - 1]); - -453  -APP_PKTQ_OUT_SWQ -: - -454 -out_swq - = -¹e --> -pÜts_out -[ -pÜt_couÁ -]. -h_pÜt -; - -455 - `´štf -("set_link_map out_swq: %s\n", - -456 -out_swq --> -ršg --> -Çme -); - -457  -¡©us - = - `ssÿnf -( -out_swq --> -ršg --> -Çme -, "SWQ%d", - -458 & -queue_out -); - -459 ià( -¡©us - < 0) { - -460 - `´štf -("Unableo„ead SWQ‚umber\n"); - -464 ià( -queue_out - < 128) { - -465 -m­ -[ -šdex -++] = -SWQ_to_PÜt_m­ -[ -queue_out -]; - -466 - `´štf -("lšks_m­[%s]:%d\n", -out_swq --> -ršg --> -Çme -, - -467 -m­ -[ -šdex - - 1]); - -472 - `´štf -("set_phy_outport_map: This‚ever hits\n"); - -475 - } -} - -477  - $£t_ouÜt_id -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -) - -479 -ušt8_t - -pÜt_couÁ - = 0; - -480  -queue_out - = 0xff, -šdex - = 0; - -482  -¹e_pÜt_‘hdev_wr™” - * -hwq -; - -483  -¹e_pÜt_ršg_wr™” - * -out_swq -; - -484  -¹e_p–še - * -¹e - = -p -->p; - -486 - `´štf -("\n**** set_outport_id() with…ipeline_num:%d ****\n\n", - -487 -p–še_num -); - -488  -pÜt_couÁ - = 0; - -489 -pÜt_couÁ - < -¹e --> -num_pÜts_out -; - -490 -pÜt_couÁ -++) { - -492  -myAµ --> -p–še_·¿ms -[ -p–še_num -]. - -493 -pktq_out -[ -pÜt_couÁ -]. -ty³ -) { - -495  -APP_PKTQ_OUT_HWQ -: - -496 -hwq - = -¹e --> -pÜts_out -[ -pÜt_couÁ -]. -h_pÜt -; - -499 -m­ -[ -hwq --> -pÜt_id -] = -šdex -; - -500 - `´štf -("hwq…ort_id:%d index:%d\n", - -501 -hwq --> -pÜt_id -, -šdex -); - -502 -m­ -[ -hwq --> -pÜt_id -] = -šdex -++; - -503 - `´štf -("hwq…ort_id:%d index:%d\n", - -504 -hwq --> -pÜt_id -, -šdex --1); - -505 - `´štf -("ouÜt_id[%d]:%d\n", -šdex - - 1, - -506 -m­ -[ -šdex - - 1]); - -510  -APP_PKTQ_OUT_SWQ -: - -513 ià( -pÜt_couÁ - >ð -¹e --> -num_pÜts_š -) - -514 ià( -¹e --> -num_pÜts_out - %„‹-> -num_pÜts_š -) - -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 - `´štf -("set_outport_id out_swq: %s\n", - -519 -out_swq --> -ršg --> -Çme -); - -520  -‹mp - = - `ssÿnf -( -out_swq --> -ršg --> -Çme -, "SWQ%d", - -521 & -queue_out -); - -522 ià( -‹mp - < 0) { - -523 - `´štf -("Unableo„ead SWQ‚umber\n"); - -527 ià( -queue_out - < 128 && -šdex - >= 0) { - -528 -m­ -[ -SWQ_to_PÜt_m­ -[ -queue_out -]] = -šdex -++; - -529 - `´štf -("ouÜt_id[%s]:%d\n", -out_swq --> -ršg --> -Çme -, - -530 -m­ -[ -SWQ_to_PÜt_m­ -[ -queue_out -]]); - -535 - `´štf -(" "); - -539 - } -} - -541  - $£t_phy_ouÜt_id -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -) - -543 -ušt8_t - -pÜt_couÁ - = 0; - -544  -šdex - = 0; - -546  -¹e_pÜt_‘hdev_wr™” - * -hwq -; - -547  -¹e_p–še - * -¹e - = -p -->p; - -549 - `´štf -("\n**** set_phy_outport_id() with…ipeline_num:%d ****\n\n", - -550 -p–še_num -); - -551  -pÜt_couÁ - = 0; - -552 -pÜt_couÁ - < -myAµ --> -p–še_·¿ms -[ -p–še_num -]. -n_pktq_out -; - -553 -pÜt_couÁ -++) { - -555  -myAµ --> -p–še_·¿ms -[ -p–še_num -]. - -556 -pktq_out -[ -pÜt_couÁ -]. -ty³ -) { - -558  -APP_PKTQ_OUT_HWQ -: - -559 -hwq - = -¹e --> -pÜts_out -[ -pÜt_couÁ -]. -h_pÜt -; - -560 -m­ -[ -hwq --> -pÜt_id -] = -šdex -++; - -561 - `´štf -("ouÜt_id[%d]:%d\n", -šdex - - 1, - -562 -m­ -[ -šdex - - 1]); - -566 - `´štf -(" "); - -570 - } -} - -572  - $£t_phy_špÜt_id -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -) - -574 -ušt8_t - -pÜt_couÁ - = 0; - -575  -šdex - = 0; - -577  -¹e_pÜt_‘hdev_»ad” - * -hwq -; - -578  -¹e_p–še - * -¹e - = -p -->p; - -580 - `´štf -("\n**** set_phy_inport_id() with…ipeline_num:%d ****\n\n", - -581 -p–še_num -); - -582  -pÜt_couÁ - = 0; - -583 -pÜt_couÁ - < -myAµ --> -p–še_·¿ms -[ -p–še_num -]. -n_pktq_š -; - -584 -pÜt_couÁ -++) { - -586  -myAµ --> -p–še_·¿ms -[ -p–še_num -]. - -587 -pktq_š -[ -pÜt_couÁ -]. -ty³ -) { - -589  -APP_PKTQ_OUT_HWQ -: - -590 -hwq - = -¹e --> -pÜts_š -[ -pÜt_couÁ -]. -h_pÜt -; - -591 -m­ -[ -hwq --> -pÜt_id -] = -šdex -++; - -592 - `´štf -("ouÜt_id[%d]:%d\n", -šdex - - 1, - -593 -m­ -[ -šdex - - 1]); - -597 - `´štf -(" "); - -601 - } -} - -603 #ifdeà -VNF_ACL - - -605 -ušt32_t - - $g‘_nh -( -ušt32_t - - -, ušt32_ˆ* -pÜt -) - -607  -i - = 0; - -608  -i - = 0; i < -MAX_ARP_RT_ENTRY -; i++) { - -609 ià((( -lib_¬p_rou‹_bË -[ -i -]. - -610 - - & -lib_¬p_rou‹_bË -[ -i -]. -mask -) == - -611 ( - - & -lib_¬p_rou‹_bË -[ -i -]. -mask -))) { - -613 * -pÜt - = -lib_¬p_rou‹_bË -[ -i -].port; - -614 -lib_¬p_nh_found -++; - -615  -lib_¬p_rou‹_bË -[ -i -]. -nh -; - -617 ià( -ARPICMP_DEBUG - > 1) - -618 - `´štf -("No‚h match ip 0x%x,…ort %u,_ip " - -620 - -, * -pÜt -, -lib_¬p_rou‹_bË -[ -i -].ip, - -621 -lib_¬p_rou‹_bË -[ -i -]. -pÜt -, - -622 -lib_¬p_rou‹_bË -[ -i -]. -mask -, - -623 ( -lib_¬p_rou‹_bË -[ -i -]. - - & - -624 -lib_¬p_rou‹_bË -[ -i -]. -mask -), - -625 ( - - & -lib_¬p_rou‹_bË -[ -i -]. -mask -)); - -627 ià( -ARPICMP_DEBUG - && - -) - -628 - `´štf -("NØNH - i°0x%x,…܈%u\n", - -, * -pÜt -); - -629 -lib_¬p_no_nh_found -++; - -631 - } -} - -634  - $g‘_nh_v6 -( -ušt8_t - -v6 -[], -ušt32_t - * -pÜt -, ušt8_ˆ -nhv6 -[]) - -636  -i - = 0; - -637 -ušt8_t - -Ãtmask_v6 -[16], -Ãt_nd -[16], -Ãt_š -[16]; - -638 -ušt8_t - -k - = 0, -l - = 0, -d•thæags - = 0, -d•thæags1 - = 0; - -639 - `mem£t -( -Ãtmask_v6 -, 0, (netmask_ipv6)); - -640 - `mem£t -( -Ãt_nd -, 0, (netip_nd)); - -641 - `mem£t -( -Ãt_š -, 0, (netip_in)); - -642 ià(! -v6 -) - -644  -i - = 0; i < -MAX_ARP_RT_ENTRY -; i++) { - -646 - `cÚv”t_´efixËn_to_Ãtmask_v6 -( - -647 -lib_nd_rou‹_bË -[ -i -]. -d•th -, - -648 -Ãtmask_v6 -); - -650  -k - = 0; k < 16; k++) { - -651 ià( -lib_nd_rou‹_bË -[ -i -]. -v6 -[ -k -] & -Ãtmask_v6 -[k]) { - -652 -d•thæags -++; - -653 -Ãt_nd -[ -k -] = -lib_nd_rou‹_bË -[ -i -]. -v6 -[k]; - -657  -l - = 0;† < 16;†++) { - -658 ià( -v6 -[ -l -] & -Ãtmask_v6 -[l]) { - -659 -d•thæags1 -++; - -660 -Ãt_š -[ -l -] = -v6 -[l]; - -663  -j - = 0; - -664 ià(( -d•thæags - =ð -d•thæags1 -) - -665 && ( - `memcmp -( -Ãt_nd -, -Ãt_š -, - -666 ( -Ãt_nd -)) == 0)) { - -668 * -pÜt - = -lib_nd_rou‹_bË -[ -i -].port; - -669 -lib_nd_nh_found -++; - -671  -j - = 0; j < 16; j++) - -672 -nhv6 -[ -j -] = -lib_nd_rou‹_bË -[ -i -].nhipv6[j]; - -677 ià( -NDIPV6_DEBUG - > 1) - -678 - `´štf -("No‚h match\n"); - -679 -d•thæags - = 0; - -680 -d•thæags1 - = 0; - -682 ià( -NDIPV6_DEBUG - && -v6 -) - -683 - `´štf -("NØNH - i°0x%x,…܈%u\n", -v6 -[0], * -pÜt -); - -684 -lib_nd_no_nh_found -++; - -685 - } -} - -688  - $g‘_de¡_mac_addr_pÜt -(cÚ¡ -ušt32_t - -addr -, - -689 -ušt32_t - * -phy_pÜt -,  -‘h”_addr - * -hw_addr -) - -691 -lib_¬p_g‘_mac_»q -++; - -692 -ušt32_t - -nh - = 0; - -694 -nh - = - `g‘_nh -( -addr -, -phy_pÜt -); - -695 ià( -nh - == 0) { - -696 ià( -ARPICMP_DEBUG - && -addr -) - -697 - `´štf -("ARPICMP‚o‚h found for ip %x,…ort %d\n", - -698 -addr -, * -phy_pÜt -); - -700  -NH_NOT_FOUND -; - -703  -¬p_’Œy_d©a - * -»t_¬p_d©a - = -NULL -; - -704  -¬p_key_v4 - -tmp_¬p_key -; - -705 -tmp_¬p_key -. -pÜt_id - = * -phy_pÜt -; - -706 -tmp_¬p_key -. - - = -nh -; - -708 -»t_¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -tmp_¬p_key -); - -709 ià( -»t_¬p_d©a - =ð -NULL -) { - -710 ià( -ARPICMP_DEBUG - && -addr -) { - -711 -´štf - - -713 -addr -, * -phy_pÜt -); - -714 - `´št_¬p_bË -(); - -716 -lib_¬p_no_¬p_’Œy_found -++; - -717  -ARP_NOT_FOUND -; - -719 - `‘h”_addr_cÝy -(& -»t_¬p_d©a --> -‘h_addr -, -hw_addr -); - -720 -lib_¬p_¬p_’Œy_found -++; - -721  -ARP_FOUND -; - -722 - } -} - -725  - $g‘_de¡_mac_add»ss_v6 -( -ušt8_t - -v6addr -[], -ušt32_t - -phy_pÜt -, - -726  -‘h”_addr - * -hw_addr -, -ušt8_t - -nhv6 -[]) - -728  -i - = 0, -j - = 0, -æag - = 0; - -729 -lib_nd_g‘_mac_»q -++; - -731 ià( -v6addr -) - -732 - `g‘_nh_v6 -( -v6addr -, & -phy_pÜt -, -nhv6 -); - -733  -j - = 0; j < 16; j++) { - -734 ià( -nhv6 -[ -j -]) - -735 -æag -++; - -737 ià( -æag - == 0) { - -738 ià( -v6addr -) { - -739 ià( -NDIPV6_DEBUG - && -v6addr -) - -740 - `´štf -("NDIPV6‚o‚h found for ipv6 " - -743 -v6addr -[0], ipv6addr[1], ipv6addr[2], ipv6addr[3], - -744 -v6addr -[4], ipv6addr[5], ipv6addr[6], ipv6addr[7], - -745 -v6addr -[8], ipv6addr[9], ipv6addr[10], - -746 -v6addr -[11], ipv6addr[12], ipv6addr[13], - -747 -v6addr -[14], ipv6addr[15], -phy_pÜt -); - -752  -nd_’Œy_d©a - * -»t_nd_d©a - = -NULL -; - -753  -nd_key_v6 - -tmp_nd_key -; - -754 -tmp_nd_key -. -pÜt_id - = -phy_pÜt -; - -756  -i - = 0; i < 16; i++) - -757 -tmp_nd_key -. -v6 -[ -i -] = -nhv6 -[i]; - -759 -»t_nd_d©a - = - `»Œ›ve_nd_’Œy -( -tmp_nd_key -); - -760 ià( -»t_nd_d©a - =ð -NULL -) { - -761 ià( -NDIPV6_DEBUG - && -v6addr -) { - -762 - `´štf -("NDIPV6‚o‚dƒntry found for ip %x,…ort %d\n", - -763 -v6addr -[0], -phy_pÜt -); - -765 -lib_nd_no_¬p_’Œy_found -++; - -768 - `‘h”_addr_cÝy -(& -»t_nd_d©a --> -‘h_addr -, -hw_addr -); - -769 -lib_nd_nd_’Œy_found -++; - -772 - } -} - -775  - $g‘_de¡_mac_add»ss_v6_pÜt -( -ušt8_t - -v6addr -[], -ušt32_t - * -phy_pÜt -, - -776  -‘h”_addr - * -hw_addr -, -ušt8_t - -nhv6 -[]) - -778  -i - = 0, -j - = 0, -æag - = 0; - -779 -lib_nd_g‘_mac_»q -++; - -781 - `g‘_nh_v6 -( -v6addr -, -phy_pÜt -, -nhv6 -); - -782  -j - = 0; j < 16; j++) { - -783 ià( -nhv6 -[ -j -]) - -784 -æag -++; - -786 ià( -æag - == 0) { - -787 ià( -NDIPV6_DEBUG - && -v6addr -) - -788 - `´štf -("NDIPV6‚o‚h found for ipv6 " - -791 -v6addr -[0], ipv6addr[1], ipv6addr[2], ipv6addr[3], - -792 -v6addr -[4], ipv6addr[5], ipv6addr[6], ipv6addr[7], - -793 -v6addr -[8], ipv6addr[9], ipv6addr[10], - -794 -v6addr -[11], ipv6addr[12], ipv6addr[13], - -795 -v6addr -[14], ipv6addr[15], * -phy_pÜt -); - -799  -nd_’Œy_d©a - * -»t_nd_d©a - = -NULL -; - -800  -nd_key_v6 - -tmp_nd_key -; - -801 -tmp_nd_key -. -pÜt_id - = * -phy_pÜt -; - -803  -i - = 0; i < 16; i++) - -804 -tmp_nd_key -. -v6 -[ -i -] = -nhv6 -[i]; - -806 -»t_nd_d©a - = - `»Œ›ve_nd_’Œy -( -tmp_nd_key -); - -807 ià( -»t_nd_d©a - =ð -NULL -) { - -808 ià( -NDIPV6_DEBUG - && -v6addr -) { - -809 - `´štf -("NDIPV6‚o‚dƒntry found for ip %x,…ort %d\n", - -810 -v6addr -[0], * -phy_pÜt -); - -812 -lib_nd_no_¬p_’Œy_found -++; - -815 - `‘h”_addr_cÝy -(& -»t_nd_d©a --> -‘h_addr -, -hw_addr -); - -816 -lib_nd_nd_’Œy_found -++; - -819 - } -} - -824  - slib_¬p_¬p_bË_’Œy - { - -825  -¹e_p–še_bË_’Œy - - mh—d -; - -826 -ušt64_t - - mmaÿddr -; - -829 cÚ¡ * - $¬p_Ý_Çme -( -ušt16_t - -¬p_Ý -) - -831  - `CHECK_ENDIAN_16 -( -¬p_Ý -)) { - -832 ( -ARP_OP_REQUEST -): - -834 ( -ARP_OP_REPLY -): - -836 ( -ARP_OP_REVREQUEST -): - -838 ( -ARP_OP_REVREPLY -): - -840 ( -ARP_OP_INVREQUEST -): - -842 ( -ARP_OP_INVREPLY -): - -848 - } -} - -850  - $´št_icmp_·ck‘ -( -icmp_hdr - * -icmp_h -) - -852 - `´štf -(" ICMP:ype=%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’t -), - -858 - `CHECK_ENDIAN_16 -( -icmp_h --> -icmp_£q_nb -)); - -859 - } -} - -861  - $´št_v4_h -( -v4_hdr - * -_h -) - -863  -icmp_hdr - * -icmp_h - = - -864 ( -icmp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -865 - `´štf -(" IPv4: Version=%d HLEN=%d Type=%d Length=%d\n", - -866 ( -_h --> -v”siÚ_ihl - & 0xf0) >> 4, (ip_h->version_ihl & 0x0f), - -867 -_h --> -ty³_of_£rviû -, - `¹e_ýu_to_be_16 -(_h-> -tÙ®_Ëngth -)); - -868 ià( -_h --> -Ãxt_´Ùo_id - =ð -IPPROTO_ICMP -) - -869 - `´št_icmp_·ck‘ -( -icmp_h -); - -870 - } -} - -872  - $´št_¬p_·ck‘ -( -¬p_hdr - * -¬p_h -) - -874 - `´štf -(" ARP: hrd=%d…roto=0x%04x hln=%d " - -876 - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_hrd -), - -877 - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_´o -),‡½_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 - `´štf -("incorrect‡rp_hrd format for IPv4 ARP (%d)\n", - -883 ( -¬p_h --> -¬p_hrd -)); - -884 } ià( - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_´o -è!ð -ETHER_TYPE_IPv4 -) { - -885 - `´štf -("incorrect‡rp_pro format for IPv4 ARP (%d)\n", - -886 ( -¬p_h --> -¬p_´o -)); - -887 } ià( -¬p_h --> -¬p_hÊ - != 6) { - -888 - `´štf -("incorrect‡rp_hln format for IPv4 ARP (%d)\n", - -889 -¬p_h --> -¬p_hÊ -); - -890 } ià( -¬p_h --> -¬p_¶n - != 4) { - -891 - `´štf -("incorrect‡rp_pln format for IPv4 ARP (%d)\n", - -892 -¬p_h --> -¬p_¶n -); - -895 - `´štf -(" sha=%02X:%02X:%02X:%02X:%02X:%02X", - -896 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[0], - -897 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[1], - -898 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[2], - -899 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[3], - -900 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[4], - -901 -¬p_h --> -¬p_d©a -. -¬p_sha -. -addr_by‹s -[5]); - -902 - `´štf -(" sip=%d.%d.%d.%d\n", - -903 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -) >> 24) & 0xFF, - -904 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -) >> 16) & 0xFF, - -905 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -) >> 8) & 0xFF, - -906 - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_s -) & 0xFF); - -907 - `´štf -("ha=%02X:%02X:%02X:%02X:%02X:%02X", - -908 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[0], - -909 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[1], - -910 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[2], - -911 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[3], - -912 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[4], - -913 -¬p_h --> -¬p_d©a -. -¬p_tha -. -addr_by‹s -[5]); - -914 - `´štf -("ip=%d.%d.%d.%d\n", - -915 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_t -) >> 24) & 0xFF, - -916 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_t -) >> 16) & 0xFF, - -917 ( - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_t -) >> 8) & 0xFF, - -918 - `CHECK_ENDIAN_32 -( -¬p_h --> -¬p_d©a -. -¬p_t -) & 0xFF); - -920 - } -} - -922  - $´št_‘h -( -‘h”_hdr - * -‘h_h -) - -924 - `´štf -(" ETH: src=%02X:%02X:%02X:%02X:%02X:%02X", - -925 -‘h_h --> -s_addr -. -addr_by‹s -[0], - -926 -‘h_h --> -s_addr -. -addr_by‹s -[1], - -927 -‘h_h --> -s_addr -. -addr_by‹s -[2], - -928 -‘h_h --> -s_addr -. -addr_by‹s -[3], - -929 -‘h_h --> -s_addr -. -addr_by‹s -[4],ƒth_h->s_addr.addr_bytes[5]); - -930 - `´štf -(" dst=%02X:%02X:%02X:%02X:%02X:%02X\n", - -931 -‘h_h --> -d_addr -. -addr_by‹s -[0], - -932 -‘h_h --> -d_addr -. -addr_by‹s -[1], - -933 -‘h_h --> -d_addr -. -addr_by‹s -[2], - -934 -‘h_h --> -d_addr -. -addr_by‹s -[3], - -935 -‘h_h --> -d_addr -. -addr_by‹s -[4],ƒth_h->d_addr.addr_bytes[5]); - -937 - } -} - -940 - $´št_mbuf -(cÚ¡ * -rx_tx -,  -pÜtid -,  -¹e_mbuf - * -mbuf -, - -941  -lše -) - -943  -‘h”_hdr - * -‘h_h - = - `¹e_pktmbuf_mtod -( -mbuf -, ether_hdr *); - -944  -¬p_hdr - * -¬p_h - = - -945 ( -¬p_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -946  -v4_hdr - * -v4_h - = - -947 ( -v4_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -949 - `´štf -("%s(%d): on…ort %d…kt-len=%u‚b-segs=%u\n", - -950 -rx_tx -, -lše -, -pÜtid -, -mbuf --> -pkt_Ën -, mbuf-> -nb_£gs -); - -951 - `´št_‘h -( -‘h_h -); - -952  - `¹e_ýu_to_be_16 -( -‘h_h --> -‘h”_ty³ -)) { - -953  -ETHER_TYPE_IPv4 -: - -954 - `´št_v4_h -( -v4_h -); - -956  -ETHER_TYPE_ARP -: - -957 - `´št_¬p_·ck‘ -( -¬p_h -); - -960 - `´štf -(" unknown…acketype\n"); - -963 - `fæush -( -¡dout -); - -964 - } -} - -966  -¬p_’Œy_d©a - * - $»Œ›ve_¬p_’Œy -( -¬p_key_v4 - -¬p_key -) - -968  -¬p_’Œy_d©a - * -»t_¬p_d©a - = -NULL -; - -969 -¬p_key -. -fžËr1 - = 0; - -970 -¬p_key -. -fžËr2 - = 0; - -971 -¬p_key -. -fžËr3 - = 0; - -973  -»t - = - `¹e_hash_lookup_d©a -( -¬p_hash_hªdË -, & -¬p_key -, - -974 (**)& -»t_¬p_d©a -); - -975 ià( -»t - < 0) { - -976 ià( -ARPICMP_DEBUG -) - -977 - `´štf -("arp-hash†ookup failed„et %d, " - -979 -»t -, -EINVAL -, -ENOENT -); - -981  -»t_¬p_d©a -; - -984  -NULL -; - -985 - } -} - -993  -nd_’Œy_d©a - * - $»Œ›ve_nd_’Œy -( -nd_key_v6 - -nd_key -) - -995  -nd_’Œy_d©a - * -»t_nd_d©a - = -NULL -; - -996 -nd_key -. -fžËr1 - = 0; - -997 -nd_key -. -fžËr2 - = 0; - -998 -nd_key -. -fžËr3 - = 0; - -1001  -»t - = - `¹e_hash_lookup_d©a -( -nd_hash_hªdË -, & -nd_key -, - -1002 (**)& -»t_nd_d©a -); - -1003 ià( -»t - < 0) { - -1004 ià( -NDIPV6_DEBUG -) - -1005 - `´štf -("nd-hash:‚o†ookup Entry Found - " - -1007 -»t -, -EINVAL -, -ENOENT -); - -1009  -»t_nd_d©a -; - -1012  -NULL -; - -1013 - } -} - -1015  - $´št_¬p_bË -() - -1017 cÚ¡ * -Ãxt_key -; - -1018 * -Ãxt_d©a -; - -1019 -ušt32_t - -™” - = 0; - -1021 - `´štf -("\tport hw‡ddr status ip‡ddr\n"); - -1023  - `¹e_hash_™”©e -( -¬p_hash_hªdË -, & -Ãxt_key -, & -Ãxt_d©a -, & -™” -) - -1026  -¬p_’Œy_d©a - * -tmp_¬p_d©a - = - -1027 ( -¬p_’Œy_d©a - *) -Ãxt_d©a -; - -1028  -¬p_key_v4 - -tmp_¬p_key -; - -1029 - `memýy -(& -tmp_¬p_key -, -Ãxt_key -, ( -¬p_key_v4 -)); - -1030 -´štf - - -1032 -tmp_¬p_d©a --> -pÜt -,mp_¬p_d©a-> -‘h_addr -. -addr_by‹s -[0], - -1033 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[1], - -1034 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[2], - -1035 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[3], - -1036 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[4], - -1037 -tmp_¬p_d©a --> -‘h_addr -. -addr_by‹s -[5], - -1038 -tmp_¬p_d©a --> -¡©us - == - -1039 -COMPLETE - ? "COMPLETE" : "INCOMPLETE", - -1040 ( -tmp_¬p_d©a --> - - >> 24), - -1041 (( -tmp_¬p_d©a --> - - & 0x00ff0000) >> 16), - -1042 (( -tmp_¬p_d©a --> - - & 0x0000ff00) >> 8), - -1043 (( -tmp_¬p_d©a --> - - & 0x000000ff))); - -1046 -ušt32_t - -i - = 0; - -1047 - `´štf -("\nARP„outšgabË ha %dƒÁr›s\n", -¬p_rou‹_tbl_šdex -); - -1048 - `´štf -("\nIP_Address Mask Port NH_IP_Address\n"); - -1049  -i - = 0; i < -¬p_rou‹_tbl_šdex -; i++) { - -1050 - `´štf -("0x%x 0x%x %d 0x%x\n", - -1051 -lib_¬p_rou‹_bË -[ -i -]. - -, - -1052 -lib_¬p_rou‹_bË -[ -i -]. -mask -, - -1053 -lib_¬p_rou‹_bË -[ -i -]. -pÜt -,†ib_¬p_rou‹_bË[i]. -nh -); - -1056 - `´štf -("\nARP Stats: Total Queries %u, ok_NH %u,‚o_NH %u, " - -1058 -lib_¬p_g‘_mac_»q -, -lib_¬p_nh_found -, -lib_¬p_no_nh_found -, - -1059 -lib_¬p_¬p_’Œy_found -, -lib_¬p_no_¬p_’Œy_found -, - -1060 -lib_¬p_pÝuϋ_ÿÎed -, -lib_¬p_d–‘e_ÿÎed -, - -1061 -lib_¬p_du¶iÿ‹_found -); - -1063 - `´štf -("ARPabË key†’ i %lu\n", ( -¬p_key_v4 -)); - -1064 - } -} - -1067  - $´št_nd_bË -() - -1069 cÚ¡ * -Ãxt_key -; - -1070 * -Ãxt_d©a -; - -1071 -ušt32_t - -™” - = 0; - -1072 -ušt8_t - -ii - = 0, -j - = 0, -k - = 0; - -1074 - `´štf -("\tport hw‡ddr status ip‡ddr\n"); - -1076  - `¹e_hash_™”©e -( -nd_hash_hªdË -, & -Ãxt_key -, & -Ãxt_d©a -, & -™” -) >= - -1079  -nd_’Œy_d©a - * -tmp_nd_d©a - = - -1080 ( -nd_’Œy_d©a - *) -Ãxt_d©a -; - -1081  -nd_key_v6 - -tmp_nd_key -; - -1082 - `memýy -(& -tmp_nd_key -, -Ãxt_key -, ( -nd_key_v6 -)); - -1083 - `´štf -("\t%4d %02X:%02X:%02X:%02X:%02X:%02X %10s\n", - -1084 -tmp_nd_d©a --> -pÜt -, - -1085 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[0], - -1086 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[1], - -1087 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[2], - -1088 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[3], - -1089 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[4], - -1090 -tmp_nd_d©a --> -‘h_addr -. -addr_by‹s -[5], - -1091 -tmp_nd_d©a --> -¡©us - == - -1092 -COMPLETE - ? "COMPLETE" : "INCOMPLETE"); - -1093 - `´štf -("\t\t\t\t\t\t"); - -1094  -ii - = 0; i˜< -ND_IPV6_ADDR_SIZE -; ii += 2) { - -1095 - `´štf -("%02X%02X ", -tmp_nd_d©a --> -v6 -[ -ii -], - -1096 -tmp_nd_d©a --> -v6 -[ -ii - + 1]); - -1098 - `´štf -("\n"); - -1101 -ušt32_t - -i - = 0; - -1102 - `´štf -("\n\nND IPV6„outingable has %dƒntries\n", - -1103 -nd_rou‹_tbl_šdex -); - -1104 - `´štf -("\nIP_Address Depth Port NH_IP_Address\n"); - -1105  -i - = 0; i < -nd_rou‹_tbl_šdex -; i++) { - -1106 - `´štf -("\n"); - -1108  -j - = 0; j < -ND_IPV6_ADDR_SIZE -; j += 2) { - -1109 - `´štf -("%02X%02X ", -lib_nd_rou‹_bË -[ -i -]. -v6 -[ -j -], - -1110 -lib_nd_rou‹_bË -[ -i -]. -v6 -[ -j - + 1]); - -1113 -´štf - - -1115 -lib_nd_rou‹_bË -[ -i -]. -d•th -,†ib_nd_rou‹_bË[i]. -pÜt -); - -1116 - `´štf -("\t\t\t\t\t\t\t\t\t"); - -1117  -k - = 0; k < -ND_IPV6_ADDR_SIZE -; k += 2) { - -1118 - `´štf -("%02X%02X ", -lib_nd_rou‹_bË -[ -i -]. -nhv6 -[ -k -], - -1119 -lib_nd_rou‹_bË -[ -i -]. -v6 -[ -k - + 1]); - -1122 - `´štf -("\nND IPV6 Stats:\nTotal Queries %u, ok_NH %u,‚o_NH %u," - -1124 -lib_nd_g‘_mac_»q -, -lib_nd_nh_found -, -lib_nd_no_nh_found -, - -1125 -lib_nd_nd_’Œy_found -, -lib_nd_no_¬p_’Œy_found -, - -1126 -lib_nd_pÝuϋ_ÿÎed -, -lib_nd_d–‘e_ÿÎed -, - -1127 -lib_nd_du¶iÿ‹_found -); - -1128 - `´štf -("NDabË key†’ i %lu\n\n", ( -nd_key_v6 -)); - -1129 - } -} - -1131  - $»move_¬p_’Œy -( -ušt32_t - -addr -, -ušt8_t - -pÜtid -) - -1136  -¬p_key_v4 - -¬p_key -; - -1137 -¬p_key -. -pÜt_id - = -pÜtid -; - -1138 -¬p_key -. - - = -addr -; - -1139 -¬p_key -. -fžËr1 - = 0; - -1140 -¬p_key -. -fžËr2 - = 0; - -1141 -¬p_key -. -fžËr3 - = 0; - -1143 -lib_¬p_d–‘e_ÿÎed -++; - -1145 ià( -ARPICMP_DEBUG -) - -1146 - `´štf -("»move_¬p_’Œy i°%x,…܈%d\n", -¬p_key -. - -, - -1147 -¬p_key -. -pÜt_id -); - -1148 - `¹e_hash_d–_key -( -¬p_hash_hªdË -, & -¬p_key -); - -1149 - } -} - -1152  - $»move_nd_’Œy_v6 -( -ušt8_t - -v6addr -[], ušt8_ˆ -pÜtid -) - -1156  -i - = 0; - -1157  -nd_key_v6 - -nd_key -; - -1158 -nd_key -. -pÜt_id - = -pÜtid -; - -1161  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -1162 -nd_key -. -v6 -[ -i -] = -v6addr -[i]; - -1164 -nd_key -. -fžËr1 - = 0; - -1165 -nd_key -. -fžËr2 - = 0; - -1166 -nd_key -. -fžËr3 - = 0; - -1168 -lib_nd_d–‘e_ÿÎed -++; - -1170 ià( -NDIPV6_DEBUG -) { - -1171 - `´štf -("Deletes„te hashable‚dƒntry for…ort %d ipv6=", - -1172 -nd_key -. -pÜt_id -); - -1173  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) - -1174 - `´štf -("%02X%02X ", -nd_key -. -v6 -[ -i -],‚d_key.ipv6[i + 1]); - -1176 - `¹e_hash_d–_key -( -nd_hash_hªdË -, & -nd_key -); - -1177 - } -} - -1180 - $pÝuϋ_¬p_’Œy -(cÚ¡  -‘h”_addr - * -hw_addr -, -ušt32_t - -addr -, - -1181 -ušt8_t - -pÜtid -) - -1185  -¬p_key_v4 - -¬p_key -; - -1186 -¬p_key -. -pÜt_id - = -pÜtid -; - -1187 -¬p_key -. - - = -addr -; - -1188 -¬p_key -. -fžËr1 - = 0; - -1189 -¬p_key -. -fžËr2 - = 0; - -1190 -¬p_key -. -fžËr3 - = 0; - -1192 -lib_¬p_pÝuϋ_ÿÎed -++; - -1194 ià( -ARPICMP_DEBUG -) - -1195 - `´štf -("pÝuϋ_¬p_’Œy i°%x,…܈%d\n", -¬p_key -. - -, - -1196 -¬p_key -. -pÜt_id -); - -1197  -¬p_’Œy_d©a - * -Ãw_¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -¬p_key -); - -1198 ià( -Ãw_¬p_d©a - - -1199 && - `is_§me_‘h”_addr -(& -Ãw_¬p_d©a --> -‘h_addr -, -hw_addr -)) { - -1200 ià( -ARPICMP_DEBUG -) - -1201 - `´štf -("¬p_’Œyƒxi¡ %x,…܈%d\n", -¬p_key -. - -, - -1202 -¬p_key -. -pÜt_id -); - -1203 -lib_¬p_du¶iÿ‹_found -++; - -1206 -Ãw_¬p_d©a - = ( -¬p_’Œy_d©a - *) - -1207 - `m®loc -(( -¬p_’Œy_d©a -)); - -1208 ià( -Ãw_¬p_d©a - =ð -NULL -) { - -1209 - `´štf -("populate_arp_entry:new_arp_data is NULL\n"); - -1212 -Ãw_¬p_d©a --> -‘h_addr - = * -hw_addr -; - -1213 -Ãw_¬p_d©a --> -¡©us - = -INCOMPLETE -; - -1214 -Ãw_¬p_d©a --> -pÜt - = -pÜtid -; - -1215 -Ãw_¬p_d©a --> - - = -addr -; - -1216 - `¹e_hash_add_key_d©a -( -¬p_hash_hªdË -, & -¬p_key -, -Ãw_¬p_d©a -); - -1218 ià( -ARPICMP_DEBUG -) { - -1220 - `´štf -("\tARP:able update - hwaddr= " - -1223 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[0], - -1224 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[1], - -1225 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[2], - -1226 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[3], - -1227 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[4], - -1228 -Ãw_¬p_d©a --> -‘h_addr -. -addr_by‹s -[5], - -1229 ( -¬p_key -. - - >> 24), - -1230 (( -¬p_key -. - - & 0x00ff0000) >> 16), - -1231 (( -¬p_key -. - - & 0x0000ff00) >> 8), - -1232 (( -¬p_key -. - - & 0x000000ff)), -pÜtid -); - -1234 - `puts -(""); - -1236 - } -} - -1245 - $pÝuϋ_nd_’Œy -(cÚ¡  -‘h”_addr - * -hw_addr -, -ušt8_t - -v6 -[], - -1246 -ušt8_t - -pÜtid -) - -1251 -ušt8_t - -i -; - -1252  -nd_key_v6 - -nd_key -; - -1253 -nd_key -. -pÜt_id - = -pÜtid -; - -1255  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++ ) - -1256 -nd_key -. -v6 -[ -i -] = ipv6[i]; - -1258 - `´štf -("\n"); - -1259 -nd_key -. -fžËr1 - = 0; - -1260 -nd_key -. -fžËr2 - = 0; - -1261 -nd_key -. -fžËr3 - = 0; - -1263 -lib_nd_pÝuϋ_ÿÎed -++; - -1268  -nd_’Œy_d©a - * -Ãw_nd_d©a - = - `»Œ›ve_nd_’Œy -( -nd_key -); - -1270 ià( -Ãw_nd_d©a - && - `is_§me_‘h”_addr -(&Ãw_nd_d©a-> -‘h_addr -, - -1271 -hw_addr -)) { - -1273 ià( -NDIPV6_DEBUG -) { - -1274 - `´štf -("nd_entryƒxists…ort %d ipv6 = ", - -1275 -nd_key -. -pÜt_id -); - -1276  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -1278 - `´štf -("%02X%02X ", -nd_key -. -v6 -[ -i -], - -1279 -nd_key -. -v6 -[ -i - + 1]); - -1283 -lib_nd_du¶iÿ‹_found -++; - -1284 ià( -NDIPV6_DEBUG -) - -1285 - `´štf -("nd_entryƒxists\n"); - -1289 -Ãw_nd_d©a - = ( -nd_’Œy_d©a - *) - -1290 - `m®loc -(( -nd_’Œy_d©a -)); - -1291 ià( -Ãw_nd_d©a - =ð -NULL -) { - -1292 - `´štf -("populate_nd_entry:‚ew_nd_data is NULL\n"); - -1295 -Ãw_nd_d©a --> -‘h_addr - = * -hw_addr -; - -1296 -Ãw_nd_d©a --> -¡©us - = -COMPLETE -; - -1297 -Ãw_nd_d©a --> -pÜt - = -pÜtid -; - -1299 ià( -NDIPV6_DEBUG -) - -1300 - `´štf -("populate_nd_entry ipv6="); - -1302  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++ ) - -1303 -Ãw_nd_d©a --> -v6 -[ -i -] = ipv6[i]; - -1305 ià( -NDIPV6_DEBUG -) { - -1306  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -1308 - `´štf -("%02X%02X ", -Ãw_nd_d©a --> -v6 -[ -i -], - -1309 -Ãw_nd_d©a --> -v6 -[ -i - + 1]); - -1314 - `¹e_hash_add_key_d©a -( -nd_hash_hªdË -, & -nd_key -, -Ãw_nd_d©a -); - -1316 ià( -NDIPV6_DEBUG -) - -1317 - `´štf -("\n....Added‡ key-data…air‡t„te hashable " - -1320 ià( -NDIPV6_DEBUG -) { - -1322 - `´štf -("\tND:able update - hwaddr= " - -1324 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[0], - -1325 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[1], - -1326 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[2], - -1327 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[3], - -1328 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[4], - -1329 -Ãw_nd_d©a --> -‘h_addr -. -addr_by‹s -[5], -pÜtid -); - -1330 - `´štf -("\tipv6="); - -1331  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -1332 -Ãw_nd_d©a --> -v6 -[ -i -] = ipv6[i]; - -1333 - `´štf -("%02X%02X ", -Ãw_nd_d©a --> -v6 -[ -i -], - -1334 -Ãw_nd_d©a --> -v6 -[ -i - + 1]); - -1337 - `´štf -("\n"); - -1339 - `puts -(""); - -1342 - } -} - -1344  - $´št_pkt1 -( -¹e_mbuf - * -pkt -) - -1346 -ušt8_t - * -rd - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, 0); - -1347  -i - = 0, -j - = 0; - -1348 - `´štf -("\nPacket Contents...\n"); - -1349  -i - = 0; i < 20; i++) { - -1350  -j - = 0; j < 20; j++) - -1351 - `´štf -("%02x ", -rd -[(20 * -i -è+ -j -]); - -1352 - `´štf -("\n"); - -1354 - } -} - -1356  -‘h”_addr - - gbrßdÿ¡_‘h”_addr - = { - -1357 . -addr_by‹s -[0] = 0xFF, - -1358 . - gaddr_by‹s -[1] = 0xFF, - -1359 . - gaddr_by‹s -[2] = 0xFF, - -1360 . - gaddr_by‹s -[3] = 0xFF, - -1361 . - gaddr_by‹s -[4] = 0xFF, - -1362 . - gaddr_by‹s -[5] = 0xFF, - -1365 cÚ¡  -‘h”_addr - - gnuÎ_‘h”_addr - = { - -1366 . -addr_by‹s -[0] = 0x00, - -1367 . - gaddr_by‹s -[1] = 0x00, - -1368 . - gaddr_by‹s -[2] = 0x00, - -1369 . - gaddr_by‹s -[3] = 0x00, - -1370 . - gaddr_by‹s -[4] = 0x00, - -1371 . - gaddr_by‹s -[5] = 0x00, - -1374  - #MAX_NUM_MAC_ADDRESS - 16 - - ) - -1375  -‘h”_addr - - glšk_hw_addr -[ -MAX_NUM_MAC_ADDRESS -] = { - -1376 {. -addr_by‹s - = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc8} }, - -1377 {. - gaddr_by‹s - = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc9} }, - -1378 {. - gaddr_by‹s - = {0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11} }, - -1379 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1380 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1381 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1382 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1383 {. - gaddr_by‹s - = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc9} }, - -1384 {. - gaddr_by‹s - = {0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11} }, - -1385 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1386 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1387 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1388 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1389 {. - gaddr_by‹s - = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} }, - -1390 {. - gaddr_by‹s - = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} }, - -1391 {. - gaddr_by‹s - = {0x18, 0x19, 0x1a, 0x1b, 0xcd, 0xef} } - -1394  -‘h”_addr - * - $g‘_lšk_hw_addr -( -ušt8_t - -out_pÜt -) - -1396  & -lšk_hw_addr -[ -out_pÜt -]; - -1397 - } -} - -1400 - $»que¡_icmp_echo -( -pÜt_id -, -ušt32_t - - -,  -‘h”_addr - * -gw_addr -) - -1402  -‘h”_hdr - * -‘h_h -; - -1403  -v4_hdr - * -_h -; - -1404  -icmp_hdr - * -icmp_h -; - -1406  -­p_lšk_·¿ms - * -lšk -; - -1407 -lšk - = & -myAµ --> -lšk_·¿ms -[ -pÜt_id -]; - -1408 -¬p_pÜt_add»s£s -[ -pÜt_id -]. - - = -lšk -->ip; - -1409 -¬p_pÜt_add»s£s -[ -pÜt_id -]. -mac_addr - = -lšk -->mac_addr; - -1411  -¹e_mbuf - * -icmp_pkt - = -lib_¬p_pkt -; - -1412 ià( -icmp_pkt - =ð -NULL -) { - -1413 ià( -ARPICMP_DEBUG -) - -1414 - `´štf -("Error‡llocating icmp_pkt„te_mbuf\n"); - -1418 -‘h_h - = - `¹e_pktmbuf_mtod -( -icmp_pkt -,  -‘h”_hdr - *); - -1419 - `‘h”_addr_cÝy -( -gw_addr -, & -‘h_h --> -d_addr -); - -1420 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -1421 & -¬p_pÜt_add»s£s -[ -pÜt_id -]. -mac_addr -, & -‘h_h --> -s_addr -); - -1422 -‘h_h --> -‘h”_ty³ - = - `CHECK_ENDIAN_16 -( -ETHER_TYPE_IPv4 -); - -1424 -_h - = ( -v4_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -1425 -icmp_h - = ( -icmp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -1427 -_h --> -v”siÚ_ihl - = -IP_VHL_DEF -; - -1428 -_h --> -ty³_of_£rviû - = 0; - -1429 -_h --> -tÙ®_Ëngth - = - -1430 - `¹e_ýu_to_be_16 -(( -v4_hdr -è+ ( -icmp_hdr -)); - -1431 -_h --> -·ck‘_id - = 0xaabb; - -1432 -_h --> -äagm’t_off£t - = 0x0000; - -1433 -_h --> -time_to_live - = 64; - -1434 -_h --> -Ãxt_´Ùo_id - = -IPPROTO_ICMP -; - -1435 -_h --> -¤c_addr - = - `¹e_bsw­32 -( -¬p_pÜt_add»s£s -[ -pÜt_id -]. - -); - -1436 -_h --> -d¡_addr - = - -; - -1438 -_h --> -hdr_checksum - = 0; - -1439 -_h --> -hdr_checksum - = - `¹e_v4_cksum -(ip_h); - -1441 -icmp_h --> -icmp_ty³ - = -IP_ICMP_ECHO_REQUEST -; - -1442 -icmp_h --> -icmp_code - = 0; - -1443 -icmp_h --> -icmp_id’t - = 0xdead; - -1444 -icmp_h --> -icmp_£q_nb - = 0xbeef; - -1446 -icmp_h --> -icmp_cksum - = ~ - `¹e_¿w_cksum -(icmp_h, ( -icmp_hdr -)); - -1448 -icmp_pkt --> -pkt_Ën - = - -1449 ( -‘h”_hdr -è+ ( -v4_hdr -) + - -1450 ( -icmp_hdr -); - -1451 -icmp_pkt --> -d©a_Ën - = icmp_pkt-> -pkt_Ën -; - -1453 ià( -ARPICMP_DEBUG -) { - -1454 - `´štf -("Sendingƒcho„equest\n"); - -1455 - `´št_mbuf -("TX", -pÜt_id -, -icmp_pkt -, -__LINE__ -); - -1458 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -gp_¬p --> -p -.p, - -1459 -gp_¬p --> -ouÜt_id -[ -pÜt_id -], -icmp_pkt -); - -1460 -gp_¬p --> -£ÁPktCouÁ -++; - -1461 - } -} - -1463  - $»que¡_echo -( -pÜt_id -, -ušt32_t - - -) - -1465 () -pÜt_id -; - -1466 () - -; - -1468  -‘h”_addr - -gw_addr -; - -1469 -ušt32_t - -de¡_ - = - `¹e_bsw­32 -( - -); - -1470 -ušt32_t - -phy_pÜt -; - -1472 ià( - `g‘_de¡_mac_addr_pÜt -( -de¡_ -, & -phy_pÜt -, & -gw_addr -è=ð -ARP_FOUND -) { - -1473 - `»que¡_icmp_echo -( -phy_pÜt -, - -, & -gw_addr -); - -1477 ià( -ARPICMP_DEBUG -) - -1478 - `´štf -("Sendingƒcho„equest ... get mac failed.\n"); - -1479 - } -} - -1481  - $»que¡_¬p -( -ušt8_t - -pÜt_id -, -ušt32_t - - -,  -¹e_p–še - * -¹e_p -) - -1483 () -pÜt_id -; - -1484 () - -; - -1486  -‘h”_hdr - * -‘h_h -; - -1487  -¬p_hdr - * -¬p_h -; - -1489  -­p_lšk_·¿ms - * -lšk -; - -1490 -lšk - = & -myAµ --> -lšk_·¿ms -[ -pÜt_id -]; - -1491 -¬p_pÜt_add»s£s -[ -pÜt_id -]. - - = -lšk -->ip; - -1492 -¬p_pÜt_add»s£s -[ -pÜt_id -]. -mac_addr - = -lšk -->mac_addr; - -1494  -¹e_mbuf - * -¬p_pkt - = -lib_¬p_pkt -; - -1496 ià( -¬p_pkt - =ð -NULL -) { - -1497 ià( -ARPICMP_DEBUG -) - -1498 - `´štf -("Error‡llocating‡rp_pkt„te_mbuf\n"); - -1502 -‘h_h - = - `¹e_pktmbuf_mtod -( -¬p_pkt -,  -‘h”_hdr - *); - -1504 - `‘h”_addr_cÝy -(& -brßdÿ¡_‘h”_addr -, & -‘h_h --> -d_addr -); - -1505 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -1506 & -¬p_pÜt_add»s£s -[ -pÜt_id -]. -mac_addr -, & -‘h_h --> -s_addr -); - -1507 -‘h_h --> -‘h”_ty³ - = - `CHECK_ENDIAN_16 -( -ETHER_TYPE_ARP -); - -1509 -¬p_h - = ( -¬p_hdr - *)((*) -‘h_h - + ( -‘h”_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 - = ( -ušt32_t -); - -1514 -¬p_h --> -¬p_Ý - = - `CHECK_ENDIAN_16 -( -ARP_OP_REQUEST -); - -1516 - `‘h”_addr_cÝy -(( -‘h”_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 - = - -1520 - `¹e_ýu_to_be_32 -( -¬p_pÜt_add»s£s -[ -pÜt_id -]. - -); - -1521 - `‘h”_addr_cÝy -(& -nuÎ_‘h”_addr -, & -¬p_h --> -¬p_d©a -. -¬p_tha -); - -1522 -¬p_h --> -¬p_d©a -. -¬p_t - = - `¹e_ýu_to_be_32 -( - -); - -1523 - `´štf -("¬°t:%x‡½ s :%x\n", -¬p_h --> -¬p_d©a -. -¬p_t -, - -1524 -¬p_h --> -¬p_d©a -. -¬p_s -); - -1530 -¬p_pkt --> -pkt_Ën - = 42; - -1531 -¬p_pkt --> -d©a_Ën - = 42; - -1533 ià( -ARPICMP_DEBUG -) { - -1534 - `´štf -("Sending‡rp„equest\n"); - -1535 - `´št_mbuf -("TX", -pÜt_id -, -¬p_pkt -, -__LINE__ -); - -1538 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -¹e_p -, -pÜt_id -, -¬p_pkt -); - -1539 -gp_¬p --> -£ÁPktCouÁ -++; - -1541 - } -} - -1543  - $»que¡_¬p_w¿p -( -ušt8_t - -pÜt_id -, -ušt32_t - - -) - -1545 - `»que¡_¬p -( -pÜt_id -, - -, -gp_¬p --> -p -.p); - -1546 - } -} - -1548  - $´oûss_¬picmp_pkt -( - -1549  -¹e_mbuf - * -pkt -, - -1550 -ušt32_t - -out_pÜt -, - -1551 -ušt32_t - -pkt_mask -) - -1553 -ušt8_t - -š_pÜt_id - = -pkt --> -pÜt -; - -1554  -­p_lšk_·¿ms - * -lšk -; - -1555  -‘h”_hdr - * -‘h_h -; - -1556  -¬p_hdr - * -¬p_h -; - -1557  -v4_hdr - * -_h -; - -1558  -icmp_hdr - * -icmp_h -; - -1559 -ušt32_t - -cksum -; - -1560 -ušt32_t - -_addr -; - -1561 -ušt32_t - -»q_t -; - -1564 -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -,  -‘h”_hdr - *); - -1566 ià( -‘h_h --> -‘h”_ty³ - =ð - `¹e_ýu_to_be_16 -( -ETHER_TYPE_ARP -)) { - -1567 -¬p_h - = - -1568 ( -¬p_hdr - *)((*) -‘h_h - + - -1569 ( -‘h”_hdr -)); - -1570 ià( - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_hrd -è!ð -ARP_HRD_ETHER -) - -1571 -´štf - - -1574 ià( - `CHECK_ENDIAN_16 -( -¬p_h --> -¬p_´o -è!ð -ETHER_TYPE_IPv4 -) - -1575 -´štf - - -1578 ià( -¬p_h --> -¬p_hÊ - != 6) - -1579 -´štf - - -1582 ià( -¬p_h --> -¬p_¶n - != 4) - -1583 -´štf - - -1587 -lšk - = & -myAµ --> -lšk_·¿ms -[ -š_pÜt_id -]; - -1588 -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. - - = -lšk -->ip; - -1589 -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. -mac_addr - = - -1590 -lšk --> -mac_addr -; - -1592 ià( -¬p_h --> -¬p_d©a -. -¬p_t - != - -1593 - `¹e_bsw­32 -( -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. - -)) { - -1594 -´štf - - -1597 - `´štf -("arp_tip = %x\n", - -1598 -¬p_h --> -¬p_d©a -. -¬p_t -); - -1599 - `´štf -("arp_port_addresses = %x\n", - -1600 -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. - -); - -1601 - `´štf -("š_pÜt_id = %x\n", -š_pÜt_id -); - -1602 - `´štf -("arp_port_addresses[0] = %x\n", - -1603 -¬p_pÜt_add»s£s -[0]. - -); - -1605 - `¹e_p–še_ah_·ck‘_drÝ -( -gp_¬p --> -p -.p, - -1606 -pkt_mask -); - -1607 -gp_¬p --> -drݳdPktCouÁ -++; - -1614 ià( -¬p_h --> -¬p_Ý - == - -1615 - `¹e_ýu_to_be_16 -( -ARP_OP_REQUEST -)) { - -1617 ià( -ARPICMP_DEBUG -) { - -1618 - `´štf -("arp_op %d, ARP_OP_REQUEST %d\n", - -1619 -¬p_h --> -¬p_Ý -, - -1620 - `¹e_ýu_to_be_16 -( -ARP_OP_REQUEST -)); - -1621 - `´št_mbuf -("RX", -š_pÜt_id -, -pkt -, -__LINE__ -); - -1624 - `pÝuϋ_¬p_’Œy -(( -‘h”_addr - *) - -1625 & -¬p_h --> -¬p_d©a -. -¬p_sha -, - -1626 -¹e_ýu_to_be_32 - - -1627 ( -¬p_h --> -¬p_d©a -. -¬p_s -), - -1628 -š_pÜt_id -); - -1631 -»q_t - = -¬p_h --> -¬p_d©a -. -¬p_t -; - -1632 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, &‘h_h-> -d_addr -); - -1635 - `‘h”_addr_cÝy -(( -‘h”_addr - *)& - -1636 -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. -mac_addr -, - -1637 & -‘h_h --> -s_addr -); - -1639 -¬p_h --> -¬p_Ý - = - `¹e_ýu_to_be_16 -( -ARP_OP_REPLY -); - -1640 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, - -1641 & -¬p_h --> -¬p_d©a -. -¬p_sha -); - -1642 -¬p_h --> -¬p_d©a -. -¬p_t - = - -1643 -¬p_h --> -¬p_d©a -. -¬p_s -; - -1644 -¬p_h --> -¬p_d©a -. -¬p_s - = -»q_t -; - -1645 - `‘h”_addr_cÝy -(& -‘h_h --> -d_addr -, - -1646 & -¬p_h --> -¬p_d©a -. -¬p_tha -); - -1648 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -gp_¬p --> -p -.p, - -1649 -out_pÜt -, -pkt -); - -1650 -gp_¬p --> -£ÁPktCouÁ -++; - -1652 } ià( -¬p_h --> -¬p_Ý - == - -1653 - `¹e_ýu_to_be_16 -( -ARP_OP_REPLY -)) { - -1656 ià( -ARPICMP_DEBUG -) { - -1657 - `´štf -("ARP_OP_REPLY„eceived"); - -1658 - `´št_mbuf -("RX", -š_pÜt_id -, -pkt -, - -1659 -__LINE__ -); - -1661 - `pÝuϋ_¬p_’Œy -(( -‘h”_addr - *) - -1662 & -¬p_h --> -¬p_d©a -. -¬p_sha -, - -1663 - `¹e_bsw­32 -( -¬p_h --> - -1664 -¬p_d©a -. -¬p_s -), - -1665 -š_pÜt_id -); - -1668 - `¹e_p–še_ah_·ck‘_drÝ -( -gp_¬p --> -p -.p, - -1669 -pkt_mask -); - -1670 -gp_¬p --> -drݳdPktCouÁ -++; - -1673 ià( -ARPICMP_DEBUG -) - -1674 - `´štf -("Invalid ARP opcode -‚ot " - -1676 -¬p_h --> -¬p_Ý -); - -1680 -_h - = - -1681 ( -v4_hdr - *)((*) -‘h_h - + - -1682 ( -‘h”_hdr -)); - -1683 -icmp_h - = - -1684 ( -icmp_hdr - *)((*) -_h - + ( -v4_hdr -)); - -1686 ià( -‘h_h --> -‘h”_ty³ - =ð - `¹e_ýu_to_be_16 -( -ETHER_TYPE_IPv4 -)) { - -1688 -lšk - = & -myAµ --> -lšk_·¿ms -[ -š_pÜt_id -]; - -1689 -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. - - = -lšk -->ip; - -1690 -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. -mac_addr - = - -1691 -lšk --> -mac_addr -; - -1693 ià(! - `is_§me_‘h”_addr -(( -‘h”_addr - *) - -1694 & -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. - -1695 -mac_addr -, & -‘h_h --> -d_addr -)) { - -1697 ià( -ARPICMP_DEBUG -) - -1698 - `´štf -("Ethernet frame‚ot destined " - -1702 } ià( -_h --> -Ãxt_´Ùo_id - !ð -IPPROTO_ICMP -) { - -1703 ià( -ARPICMP_DEBUG -) - -1704 - `´štf -("IP…rotocol ID is‚ot seto " - -1707 } ià(( -_h --> -v”siÚ_ihl - & 0xf0è!ð -IP_VERSION_4 -) { - -1708 ià( -ARPICMP_DEBUG -) - -1709 - `´štf -("IP version otherhan 4 - " - -1712 } ià(( -_h --> -v”siÚ_ihl - & 0x0fè!ð -IP_HDRLEN -) { - -1713 ià( -ARPICMP_DEBUG -) - -1714 - `´štf -("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 - `´št_mbuf -("RX", -š_pÜt_id -, - -1721 -pkt -, -__LINE__ -); - -1723 -_addr - = -_h --> -¤c_addr -; - -1724 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, - -1725 & -‘h_h --> -d_addr -); - -1726 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -1727 & -¬p_pÜt_add»s£s - - -1728 [ -š_pÜt_id -]. -mac_addr -, - -1729 & -‘h_h --> -s_addr -); - -1731 ià( -_h --> -d¡_addr - != - -1732 - `¹e_bsw­32 -( -¬p_pÜt_add»s£s - - -1733 [ -š_pÜt_id -]. - -)) { - -1734 ià( -ARPICMP_DEBUG -) { - -1735 - `´štf -("IPv4…acket‚ot destined for " - -1738 - `´štf -("ip_h->dst_addr = %u, " - -1741 -_h --> -d¡_addr -, -š_pÜt_id -, - -1742 -¬p_pÜt_add»s£s -[ -š_pÜt_id -]. - -); - -1746 ià( -is_muÉiÿ¡_v4_addr - - -1747 ( -_h --> -d¡_addr -)) { - -1748 -ušt32_t - -_¤c -; - -1750 -_¤c - = -¹e_be_to_ýu_32 - - -1751 ( -_addr -); - -1752 ià(( -_¤c - & 0x00000003) == 1) - -1753 -_¤c - = (ip_src & - -1757 -_¤c - = (ip_src & - -1761 -_h --> -¤c_addr - = - -1762 - `¹e_ýu_to_be_32 -( -_¤c -); - -1763 -_h --> -d¡_addr - = -_addr -; - -1765 -_h --> -hdr_checksum - = 0; - -1766 -_h --> -hdr_checksum - = ~ - `¹e_¿w_cksum -( - -1767 -_h -, ( - -1768 -v4_hdr -)); - -1770 -_h --> -¤c_addr - = ip_h-> -d¡_addr -; - -1771 -_h --> -d¡_addr - = -_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 - `´št_mbuf -("TX", -š_pÜt_id -, -pkt -, -__LINE__ -); - -1786 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -gp_¬p --> -p -.p, - -1787 -out_pÜt -, -pkt -); - -1788 -gp_¬p --> -£ÁPktCouÁ -++; - -1792 ià( -icmp_h --> -icmp_ty³ - =ð -IP_ICMP_ECHO_REPLY - - -1793 && -icmp_h --> -icmp_code - == 0) { - -1794 ià( -ARPICMP_DEBUG -) - -1795 - `´št_mbuf -("RX", -š_pÜt_id -, - -1796 -pkt -, -__LINE__ -); - -1798  -¬p_key_v4 - -¬p_key -; - -1799 -¬p_key -. -pÜt_id - = -š_pÜt_id -; - -1800 -¬p_key -. - - = - -1801 - `¹e_bsw­32 -( -_h --> -¤c_addr -); - -1802 -¬p_key -. -fžËr1 - = 0; - -1803 -¬p_key -. -fžËr2 - = 0; - -1804 -¬p_key -. -fžËr3 - = 0; - -1806  -¬p_’Œy_d©a - * -¬p_’Œy - = - -1807 - `»Œ›ve_¬p_’Œy -( -¬p_key -); - -1808 ià( -¬p_’Œy - =ð -NULL -) { - -1809 - `´štf -("Received unsolicited " - -1812 -¬p_key -. - -, - -1813 -¬p_key -. -pÜt_id -); - -1817 -¬p_’Œy --> -¡©us - = -COMPLETE -; - -1819 - `¹e_p–še_ah_·ck‘_drÝ -( -gp_¬p --> -p -.p, - -1820 -pkt_mask -); - -1821 -gp_¬p --> -drݳdPktCouÁ -++; - -1826 - } -} - -1841  - $my_š‘_±Ú_v6 -( -af -, cÚ¡ * -¤c -, * -d¡ -) - -1843  -af -) { - -1844  -AF_INET -: - -1845  - `š‘_±Ú_v4 -( -¤c -, -d¡ -); - -1846  -AF_INET6 -: - -1847  - `š‘_±Ú_v6 -( -¤c -, -d¡ -); - -1849 -”ºo - = -EAFNOSUPPORT -; - -1853 - } -} - -1865  - $š‘_±Ú_v4 -(cÚ¡ * -¤c -, * -d¡ -) - -1867 cÚ¡  -dig™s -[] = "0123456789"; - -1868  -§w_dig™ -, -où‘s -, -ch -; - -1869  -tmp -[ -INADDRSZ -], * - -; - -1871 -§w_dig™ - = 0; - -1872 -où‘s - = 0; - -1873 *( - - = -tmp -) = 0; - -1874 ( -ch - = * -¤c -++) != '\0') { - -1875 cÚ¡ * -pch -; - -1877 -pch - = - `¡rchr -( -dig™s -, -ch -); - -1878 ià( -pch - !ð -NULL -) { - -1879  -Ãw - = * - - * 10 + ( -pch - - -dig™s -); - -1881 ià( -Ãw - > 255) - -1883 ià(! -§w_dig™ -) { - -1884 ià(++ -où‘s - > 4) - -1886 -§w_dig™ - = 1; - -1888 * - - = () -Ãw -; - -1889 } ià( -ch - =ð'.' && -§w_dig™ -) { - -1890 ià( -où‘s - == 4) - -1892 *++ - - = 0; - -1893 -§w_dig™ - = 0; - -1897 ià( -où‘s - < 4) - -1900 - `memýy -( -d¡ -, -tmp -, -INADDRSZ -); - -1902 - } -} - -1917  - $š‘_±Ú_v6 -(cÚ¡ * -¤c -, * -d¡ -) - -1919 cÚ¡  -xdig™s_l -[] = "0123456789abcdef", - -1920 -xdig™s_u -[] = "0123456789ABCDEF"; - -1921  -tmp -[ -IN6ADDRSZ -], * - - = 0, * -’dp - = 0, * -cÞÚp - = 0; - -1922 cÚ¡ * -xdig™s - = 0, * -cu¹ok - = 0; - -1923  -ch - = 0, -§w_xdig™ - = 0, -couÁ_xdig™ - = 0; - -1924  -v® - = 0; - -1925  -dbloù_couÁ - = 0; - -1927 - `mem£t -(( - - = -tmp -), '\0', -IN6ADDRSZ -); - -1928 -’dp - = - - + -IN6ADDRSZ -; - -1929 -cÞÚp - = -NULL -; - -1931 ià(* -¤c - == ':') - -1932 ià(*++ -¤c - != ':') - -1934 -cu¹ok - = -¤c -; - -1935 -§w_xdig™ - = -couÁ_xdig™ - = 0; - -1936 -v® - = 0; - -1938 ( -ch - = * -¤c -++) != '\0') { - -1939 cÚ¡ * -pch -; - -1941 -pch - = - `¡rchr -(( -xdig™s - = -xdig™s_l -), -ch -); - -1942 ià( -pch - =ð -NULL -) - -1943 -pch - = - `¡rchr -(( -xdig™s - = -xdig™s_u -), -ch -); - -1944 ià( -pch - !ð -NULL -) { - -1945 ià( -couÁ_xdig™ - >= 4) - -1947 -v® - <<= 4; - -1948 -v® - |ð( -pch - - -xdig™s -); - -1949 ià( -v® - > 0xffff) - -1951 -§w_xdig™ - = 1; - -1952 -couÁ_xdig™ -++; - -1955 ià( -ch - == ':') { - -1956 -cu¹ok - = -¤c -; - -1957 ià(! -§w_xdig™ -) { - -1958 ià( -cÞÚp -) - -1960 -cÞÚp - = - -; - -1962 } ià(* -¤c - == '\0') { - -1965 ià( - - + ( -št16_t -è> -’dp -) - -1967 * - -++ = ()(( -v® - >> 8) & 0xff); - -1968 * - -++ = ()( -v® - & 0xff); - -1969 -§w_xdig™ - = 0; - -1970 -couÁ_xdig™ - = 0; - -1971 -v® - = 0; - -1972 -dbloù_couÁ -++; - -1975 ià( -ch - =ð'.' && (( - - + -INADDRSZ -è<ð -’dp -) && - -1976 - `š‘_±Ú_v4 -( -cu¹ok -, - -) > 0) { - -1977 - - +ð -INADDRSZ -; - -1978 -§w_xdig™ - = 0; - -1979 -dbloù_couÁ - += 2; - -1984 ià( -§w_xdig™ -) { - -1985 ià( - - + ( -št16_t -è> -’dp -) - -1987 * - -++ = ()(( -v® - >> 8) & 0xff); - -1988 * - -++ = ()( -v® - & 0xff); - -1989 -dbloù_couÁ -++; - -1991 ià( -cÞÚp - !ð -NULL -) { - -1995 ià( -dbloù_couÁ - == 8) - -2002 cÚ¡  -n - = - - - -cÞÚp -; - -2003  -i -; - -2005  -i - = 1; i <ð -n -; i++) { - -2006 -’dp -[- -i -] = -cÞÚp -[ -n - - i]; - -2007 -cÞÚp -[ -n - - -i -] = 0; - -2009 - - = -’dp -; - -2011 ià( - - !ð -’dp -) - -2013 - `memýy -( -d¡ -, -tmp -, -IN6ADDRSZ -); - -2015 - } -} - -2034 - $´oûss_icmpv6_pkt -( - -2035  -¹e_mbuf - * -pkt -, - -2036 -ušt32_t - -out_pÜt -, - -2037 -__¹e_unu£d - -ušt32_t - -pkt_num -) - -2040 -ušt8_t - -š_pÜt_id - = -pkt --> -pÜt -; - -2041  -­p_lšk_·¿ms - * -lšk -; - -2042  -‘h”_hdr - * -‘h_h -; - -2043  -v6_hdr - * -v6_h -; - -2044  -icmpv6_hdr - * -icmpv6_h -; - -2045  -icmpv6_nd_hdr - * -icmpv6_nd_h -; - -2046 -ušt8_t - -v6_addr -[16]; - -2047 -ušt8_t - -i - = 0, -æag - = 1; - -2048 -ušt8_t - -»q_tv6 -[16]; - -2050 -‘h_h - = - `¹e_pktmbuf_mtod -( -pkt -,  -‘h”_hdr - *); - -2051 -v6_h - = ( -v6_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -2052 -icmpv6_h - = - -2053 ( -icmpv6_hdr - *)((*) -v6_h - + ( -v6_hdr -)); - -2054  -¹e_mbuf - * -icmpv6_pkt - = -pkt -; - -2056 -lšk - = & -myAµ --> -lšk_·¿ms -[ -š_pÜt_id -]; - -2057 -icmpv6_pÜt_add»s£s -[ -š_pÜt_id -]. -mac_addr - = -lšk -->mac_addr; - -2059 ià(! -is_§me_‘h”_addr - - -2060 (( -‘h”_addr - *)& -icmpv6_pÜt_add»s£s -[ -š_pÜt_id -]. -mac_addr -, - -2061 & -‘h_h --> -d_addr -)) { - -2062 ià( -ARPICMP_DEBUG -) { - -2063 - `´štf -("Ethernet frame‚ot destined for MAC‡ddress " - -2067 ià(( -icmpv6_h --> -icmpv6_ty³ - =ð -ICMPV6_ECHO_REQUEST -) - -2068 && ( -icmpv6_h --> -icmpv6_code - == 0)) { - -2069  -i - = 0; i < 16; i++) - -2070 -v6_addr -[ -i -] = -v6_h --> -¤c_addr -[i]; - -2072  -i - = 0; i < 16; i++) { - -2073 ià( -v6_h --> -d¡_addr -[ -i -] != - -2074 -icmpv6_pÜt_add»s£s -[ -š_pÜt_id -]. -v6 -[ -i -]) { - -2075 -æag -++; - -2078 ià(! -æag -) { - -2079 - `´štf -("IPv6…acket‚ot destined for " - -2084 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, - -2085 & -‘h_h --> -d_addr -); - -2086 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -2087 & -icmpv6_pÜt_add»s£s - - -2088 [ -š_pÜt_id -]. -mac_addr -, - -2089 & -‘h_h --> -s_addr -); - -2091  -i - = 0; i < 16; i++) - -2092 -v6_h --> -¤c_addr -[ -i -] = - -2093 -v6_h --> -d¡_addr -[ -i -]; - -2094  -i - = 0; i < 16; i++) - -2095 -v6_h --> -d¡_addr -[ -i -] = - -2096 -v6_addr -[ -i -]; - -2098 -icmpv6_h --> -icmpv6_ty³ - = - -2099 -ICMPV6_ECHO_REPLY -; - -2101 -¹e_p–še_pÜt_out_·ck‘_š£¹ - - -2102 ( -gp_¬p --> -p -.p, -out_pÜt -, -icmpv6_pkt -); - -2103 -gp_¬p --> -£ÁPktCouÁ -++; - -2107 } ià(( -icmpv6_h --> -icmpv6_ty³ - =ð -ICMPV6_ECHO_REPLY -) - -2108 && ( -icmpv6_h --> -icmpv6_code - == 0)) { - -2109  -nd_key_v6 - -nd_key -; - -2110 -nd_key -. -pÜt_id - = -š_pÜt_id -; - -2112  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -2113 -nd_key -. -v6 -[ -i -] = -v6_h --> -¤c_addr -[i]; - -2115 -nd_key -. -fžËr1 - = 0; - -2116 -nd_key -. -fžËr2 - = 0; - -2117 -nd_key -. -fžËr3 - = 0; - -2122  -nd_’Œy_d©a - * -Ãw_nd_d©a - = - -2123 - `»Œ›ve_nd_’Œy -( -nd_key -); - -2125 ià( -Ãw_nd_d©a - =ð -NULL -) { - -2126 - `´štf -("Received unsolicited ICMPv6ƒcho " - -2128 -nd_key -. -pÜt_id -); - -2129  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i += 2) { - -2130 - `´štf -("%02X%02X ", -nd_key -. -v6 -[ -i -], - -2131 -nd_key -. -v6 -[ -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 ( -icmpv6_nd_hdr - *)((*) -icmpv6_h - + - -2144 ( -icmpv6_hdr -)); - -2145  -‘h”_addr - * -¤c_hw_addr - = & -‘h_h --> -s_addr -; - -2146 -ušt8_t - -¤c_v6 -[16], -d¡_v6 -[16]; - -2148  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -2149 -¤c_v6 -[ -i -] = -v6_h --> -¤c_addr -[i]; - -2150  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -2151 -d¡_v6 -[ -i -] = -v6_h --> -d¡_addr -[i]; - -2154 ià(( -IPV6_MULTICAST - - -2155 && (( -d¡_v6 -[0] << 8) | dst_ipv6[1]))) { - -2156 ià( -pÝuϋ_nd_’Œy - - -2157 ( -¤c_hw_addr -, -¤c_v6 -, -š_pÜt_id -)) { - -2160  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -2161 -»q_tv6 -[ -i -] = - -2162 -icmpv6_nd_h --> -rg‘_v6 -[ -i -]; - -2164 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, - -2165 & -‘h_h --> -d_addr -); - -2166 - `‘h”_addr_cÝy -(( -‘h”_addr - *) - -2167 & -icmpv6_pÜt_add»s£s - - -2168 [ -š_pÜt_id -]. -mac_addr -, - -2169 & -‘h_h --> -s_addr -); - -2172 - `‘h”_addr_cÝy -(& -‘h_h --> -s_addr -, - -2173 & -icmpv6_nd_h --> - -2174 -lšk_Ïy”_add»ss -); - -2175  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -2176 -v6_h --> -d¡_addr -[ -i -] = - -2177 -v6_h --> -¤c_addr -[ -i -]; - -2178  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -2179 -v6_h --> -¤c_addr -[ -i -] = - -2180 -»q_tv6 -[ -i -]; - -2181 -icmpv6_h --> -icmpv6_ty³ - = - -2182 -ICMPV6_NEIGHBOR_ADVERTISEMENT -; - -2183 -icmpv6_nd_h --> -ty³ - = - -2184 -e_T¬g‘_Lšk_Lay”_Add»ss -; - -2185 -icmpv6_nd_h --> -icmpv6_»£rved - |= - -2186 -¹e_ýu_to_be_32 - - -2187 ( -NEIGHBOR_SOLICITATION_SET -); - -2189 -¹e_p–še_pÜt_out_·ck‘_š£¹ - - -2190 ( -gp_¬p --> -p -.p, -out_pÜt -, -icmpv6_pkt -); - -2191 -gp_¬p --> -£ÁPktCouÁ -++; - -2194 ià( -ARPICMP_DEBUG -) { - -2195 - `´štf -("Non-Multicasted Neighbor " - -2198 - `´štf -("............Some oneƒlse " - -2204 ià(( -icmpv6_h --> -icmpv6_ty³ - =ð -ICMPV6_NEIGHBOR_ADVERTISEMENT -) - -2205 && ( -icmpv6_h --> -icmpv6_code - == 0)) { - -2206  -‘h”_addr - * -¤c_hw_addr - = & -‘h_h --> -s_addr -; - -2207 -ušt8_t - -v6 -[16]; - -2208  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -2209 -v6 -[ -i -] = -v6_h --> -¤c_addr -[i]; - -2211 ià( - `pÝuϋ_nd_’Œy -( -¤c_hw_addr -, -v6 -, -š_pÜt_id -)) - -2212 ià( -ARPICMP_DEBUG -) - -2213 - `´štf -("Now on, unicast IPv6raffic " - -2217 ià( -ARPICMP_DEBUG -) { - -2218 - `´štf -("ICMPv6 Type %d Not Supported yet !!!\n", - -2219 -icmpv6_h --> -icmpv6_ty³ -); - -2225 - } -} - -2227  - $»que¡_icmpv6_echo -( -ušt32_t - -pÜt_id -, -ušt8_t - -v6 -[]) - -2229 () -pÜt_id -; - -2230 () -v6 -; - -2231  -i -; - -2233  -‘h”_addr - -gw_addr -; - -2234 -ušt8_t - -nhv6 -[16]; - -2235 -ušt8_t - -de¡_v6 -[16]; - -2236 -ušt32_t - -phy_pÜt -; - -2238  -i - = 0; i < -ND_IPV6_ADDR_SIZE -; i++) - -2239 -de¡_v6 -[ -i -] = -v6 -[i]; - -2241 ià( - `g‘_de¡_mac_add»ss_v6_pÜt -( -de¡_v6 -, & -phy_pÜt -, - -2242 & -gw_addr -, -nhv6 -)) { - -2243 - `»que¡_icmpv6_echo_mes§ge -( -phy_pÜt -, -v6 -, & -gw_addr -); - -2247 ià( -ARPICMP_DEBUG -) - -2248 - `´štf -("Sending icmpv6ƒcho„equest ... get mac failed.\n"); - -2249 - } -} - -2252 - $»que¡_icmpv6_echo_mes§ge -( -ušt16_t - -pÜt_id -, -ušt8_t - -v6 -[], - -2253  -‘h”_addr - * -gw_addr -) - -2255  -‘h”_hdr - * -‘h_h -; - -2256  -v6_hdr - * -v6_h -; - -2257  -icmpv6_hdr - * -icmpv6_h -; - -2258  -icmpv6_šfo_hdr - * -icmpv6_šfo_h -; - -2259  -i -; - -2260  -­p_lšk_·¿ms - * -lšk -; - -2261 -lšk - = & -mylšk -[ -pÜt_id -]; - -2263  -i - = 0; i < 16; i++) - -2264 -icmpv6_pÜt_add»s£s -[ -pÜt_id -]. -v6 -[ -i -] = -lšk -->ipv6[i]; - -2266 -icmpv6_pÜt_add»s£s -[ -pÜt_id -]. -mac_addr - = -lšk -->mac_addr; - -2268  -¹e_mbuf - * -icmpv6_pkt - = -lib_icmpv6_pkt -; - -2269 ià( -icmpv6_pkt - =ð -NULL -) { - -2270 ià( -ARPICMP_DEBUG -) - -2271 - `´štf -("Error‡llocating icmpv6_pkt„te_mbuf\n"); - -2275 -‘h_h - = - `¹e_pktmbuf_mtod -( -icmpv6_pkt -,  -‘h”_hdr - *); - -2276 - `‘h”_addr_cÝy -( -gw_addr -, & -‘h_h --> -d_addr -); - -2277 - `‘h”_addr_cÝy -(( -‘h”_addr - *)& -icmpv6_pÜt_add»s£s -[ -pÜt_id -]. - -2278 -mac_addr -, & -‘h_h --> -s_addr -); - -2279 -‘h_h --> -‘h”_ty³ - = - `CHECK_ENDIAN_16 -( -ETHER_TYPE_IPv6 -); - -2281 -v6_h - = ( -v6_hdr - *)((*) -‘h_h - + ( -‘h”_hdr -)); - -2282 -icmpv6_h - = - -2283 ( -icmpv6_hdr - *)((*) -v6_h - + ( -v6_hdr -)); - -2284 -icmpv6_šfo_h - = - -2285 ( -icmpv6_šfo_hdr - *)((*) -icmpv6_h - + - -2286 ( -icmpv6_hdr -)); - -2288 -v6_h --> -vtc_æow - = 0x60000000; - -2289 -v6_h --> -·ylßd_Ën - = 64; - -2290 -v6_h --> -´Ùo - = 58; - -2291 -v6_h --> -hÝ_lim™s - = 64; - -2293  -i - = 0; i < 16; i++) { - -2294 -v6_h --> -¤c_addr -[ -i -] = -icmpv6_pÜt_add»s£s -[ -pÜt_id -]. -v6 -[i]; - -2295 -v6_h --> -d¡_addr -[ -i -] = -v6 -[i]; - -2298 -icmpv6_h --> -icmpv6_ty³ - = -ICMPV6_ECHO_REQUEST -; - -2299 -icmpv6_h --> -icmpv6_code - = 0; - -2300 -icmpv6_šfo_h --> -icmpv6_id’t - = 0x5151; - -2301 -icmpv6_šfo_h --> -icmpv6_£q_nb - = 0x1; - -2303 -icmpv6_h --> -icmpv6_cksum - = - -2304 ~ - `¹e_¿w_cksum -( -icmpv6_h -, ( -icmpv6_hdr -)); - -2306 -icmpv6_pkt --> -pkt_Ën - = - -2307 ( -‘h”_hdr -è+ ( -v6_hdr -) + - -2308 ( -icmpv6_hdr -); - -2309 -icmpv6_pkt --> -d©a_Ën - = icmpv6_pkt-> -pkt_Ën -; - -2311 ià( -ARPICMP_DEBUG -) - -2312 - `´štf -("Sending icmpv6ƒcho„equest\n"); - -2314 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -gp_¬p --> -p -.p, - -2315 -gp_¬p --> -ouÜt_id -[ -pÜt_id -], - -2316 -icmpv6_pkt -); - -2318 -gp_¬p --> -£ÁPktCouÁ -++; - -2319 - } -} - -2324 * -p–še_¬picmp_msg_»q_cu¡om_hªdËr -( -p–še - * -p -, - -2325 * -msg -); - -2327  -p–še_msg_»q_hªdËr - - ghªdËrs -[] = { - -2328 [ -PIPELINE_MSG_REQ_PING -] = - -2329 -p–še_msg_»q_pšg_hªdËr -, - -2330 [ -PIPELINE_MSG_REQ_STATS_PORT_IN -] = - -2331 -p–še_msg_»q_¡©s_pÜt_š_hªdËr -, - -2332 [ -PIPELINE_MSG_REQ_STATS_PORT_OUT -] = - -2333 -p–še_msg_»q_¡©s_pÜt_out_hªdËr -, - -2334 [ -PIPELINE_MSG_REQ_STATS_TABLE -] = - -2335 -p–še_msg_»q_¡©s_bË_hªdËr -, - -2336 [ -PIPELINE_MSG_REQ_PORT_IN_ENABLE -] = - -2337 -p–še_msg_»q_pÜt_š_’abË_hªdËr -, - -2338 [ -PIPELINE_MSG_REQ_PORT_IN_DISABLE -] = - -2339 -p–še_msg_»q_pÜt_š_di§bË_hªdËr -, - -2340 [ -PIPELINE_MSG_REQ_CUSTOM -] = - -2341 -p–še_¬picmp_msg_»q_cu¡om_hªdËr -, - -2345 * -p–še_¬picmp_msg_»q_’Œy_dbg_hªdËr -( -p–še - * -p -, - -2346 * -msg -); - -2347 * - $p–še_¬picmp_msg_»q_’Œy_dbg_hªdËr -( - -2348 -__¹e_unu£d -  -p–še - * -p -, - -2349 -__¹e_unu£d - * -msg -) - -2352  -NULL -; - -2353 - } -} - -2355  -__¹e_unu£d - -p–še_msg_»q_hªdËr - - gcu¡om_hªdËrs -[] = { - -2356 [ -PIPELINE_ARPICMP_MSG_REQ_ENTRY_DBG -] = - -2357 -p–še_¬picmp_msg_»q_’Œy_dbg_hªdËr -, - -2371 * - $p–še_¬picmp_msg_»q_cu¡om_hªdËr -( -p–še - * -p -, * -msg -) - -2373  -p–še_¬picmp - * -p_¬p - = (p–še_¬picm°*) -p -; - -2374  -p–še_cu¡om_msg_»q - * -»q - = -msg -; - -2375 -p–še_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–še_msg_»q_šv®id_hªdËr -; - -2381 ià( -f_hªdË - =ð -NULL -) - -2382 -f_hªdË - = -p–še_msg_»q_šv®id_hªdËr -; - -2384  - `f_hªdË -( -p -, -»q -); - -2385 - } -} - -2387 #ifdeà -VNF_ACL - - -2393 -p–še_¬picmp_·r£_¬gs -( -p–še_¬picmp - * -p -, - -2394  -p–še_·¿ms - * -·¿ms -); - -2396 - $p–še_¬picmp_·r£_¬gs -( - -2397 -__¹e_unu£d -  -p–še_¬picmp - * -p -, - -2398  -p–še_·¿ms - * -·¿ms -) - -2401 -ušt32_t - -i -; - -2402 -ušt32_t - -¬p_m‘a_off£t_´e£Á - = 0; - -2404 -ušt32_t - -¬p_rou‹_tbl_´e£Á - = 0; - -2405 -ušt32_t - -nd_rou‹_tbl_´e£Á - = 0; - -2406 -ušt32_t - -pÜts_mac_li¡_´e£Á - = 0; - -2407 -ušt32_t - -pktq_š_´v_´e£Á - = 0; - -2408 -ušt32_t - -´v_to_pub_m­_´e£Á - = 0; - -2410 -ušt8_t - -n_´v_š_pÜt - = 0; - -2411  -i - = 0; i < -PIPELINE_MAX_PORT_IN -; i++) { - -2412 -š_pÜt_dœ_a -[ -i -] = 0; - -2413 -´v_to_pub_m­ -[ -i -] = 0xff; - -2414 -pub_to_´v_m­ -[ -i -] = 0xff; - -2417  -i - = 0; i < -·¿ms --> -n_¬gs -; i++) { - -2418 * -¬g_Çme - = -·¿ms --> -¬gs_Çme -[ -i -]; - -2419 * -¬g_v®ue - = -·¿ms --> -¬gs_v®ue -[ -i -]; - -2421 ià( -ARPICMP_DEBUG - > 2) { - -2422 - `´štf -("ARP‡rgs[%d]: % %d, %s\n", -i -, -¬g_Çme -, - -2423 - `©oi -( -¬g_v®ue -),‡rg_value); - -2425 ià( - `¡rcmp -( -¬g_Çme -, "arp_meta_offset") == 0) { - -2426 ià( -¬p_m‘a_off£t_´e£Á -) { - -2427 - `´štf -("arp_meta_offset " - -2431 -¬p_m‘a_off£t_´e£Á - = 1; - -2432 -¬p_m‘a_off£t - = - `©oi -( -¬g_v®ue -); - -2436 ià( - `¡rcmp -( -¬g_Çme -, "pktq_in_prv") == 0) { - -2437 ià( -pktq_š_´v_´e£Á -) { - -2438 - `´štf -("Duplicate…ktq_in_prv ... " - -2442 -pktq_š_´v_´e£Á - = 1; - -2444  -rxpÜt - = 0, -j - = 0; - -2445  -phy_pÜt_num -[5]; - -2446 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "RXQ"); - -2447  -tok’ -) { - -2448 -j - = 0; - -2449 ( -j - < 4è&& ( -tok’ -[j] != '.')) { - -2450 -phy_pÜt_num -[ -j -] = -tok’ -[j]; - -2451 -j -++; - -2453 -phy_pÜt_num -[ -j -] = '\0'; - -2454 -rxpÜt - = - `©oi -( -phy_pÜt_num -); - -2455 - `´štf -("token: %s,…hy_port_str: %s, " - -2457 -tok’ -, -phy_pÜt_num -, -rxpÜt -); - -2459 -´v_š_pÜt_a -[ -n_´v_š_pÜt -++] = -rxpÜt -; - -2461 if( -rxpÜt - < -PIPELINE_MAX_PORT_IN -) - -2462 -š_pÜt_dœ_a -[ -rxpÜt -] = 1; - -2463 -tok’ - = - `¡¹ok -( -NULL -, "RXQ"); - -2466 ià( -n_´v_š_pÜt - == 0) { - -2467 -´štf - - -2476 ià( - `¡rcmp -( -¬g_Çme -, "prv_to_pub_map") == 0) { - -2477 ià( -´v_to_pub_m­_´e£Á -) { - -2478 -´štf - - -2483 -´v_to_pub_m­_´e£Á - = 1; - -2485  -rxpÜt - = 0, -txpÜt - = 0, -j - = 0, -k - = 0; - -2486  -rx_phy_pÜt_num -[5]; - -2487  -tx_phy_pÜt_num -[5]; - -2488 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "("); - -2489  -tok’ -) { - -2490 -j - = 0; - -2491 ( -j - < 4è&& ( -tok’ -[j] != ',')) { - -2492 -rx_phy_pÜt_num -[ -j -] = -tok’ -[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 ( -k - < 4è&& ( -tok’ -[ -j - + k] != ')')) { - -2501 -tx_phy_pÜt_num -[ -k -] = -tok’ -[ -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 - `´štf -("token: %s," - -2510 -tok’ -, -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 ( -š_pÜt_dœ_a -[ -rxpÜt -] != 1)) { - -2518 - `´štf -("CG-NAPT…arseƒrror - " - -2521 -rxpÜt -, -txpÜt -, -š_pÜt_dœ_a -[rxport]); - -2525 -´v_to_pub_m­ -[ -rxpÜt -] = -txpÜt -; - -2526 -pub_to_´v_m­ -[ -txpÜt -] = -rxpÜt -; - -2527 -tok’ - = - `¡¹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št32_t - -i - = 0, -j - = 0, -k - = 0, -MAC_NUM_BYTES - = 6; - -2546  -by‹SŒ -[ -MAC_NUM_BYTES -][3]; - -2547 -ušt32_t - -by‹ -[ -MAC_NUM_BYTES -]; - -2549 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, " "); - -2550  -tok’ -) { - -2551 -k - = 0; - -2552  -i - = 0; i < -MAC_NUM_BYTES -; i++) { - -2553  -j - = 0; j < 2; j++) - -2554 -by‹SŒ -[ -i -][ -j -] = -tok’ -[ -k -++]; - -2555 -by‹SŒ -[ -i -][ -j -] = '\0'; - -2556 -k -++; - -2559  -i - = 0; i < -MAC_NUM_BYTES -; i++) - -2560 -by‹ -[ -i -] = - `¡¹oul -( -by‹SŒ -[i], -NULL -, 16); - -2562 ià( -ARPICMP_DEBUG -) { - -2563 - `´štf -("tok’: %s", -tok’ -); - -2564  -i - = 0; i < -MAC_NUM_BYTES -; i++) - -2565 - `´štf -(", by‹[%u] %u", -i -, - -2566 -by‹ -[ -i -]); - -2567 - `´štf -("\n"); - -2570  -i - = 0; i < -MAC_NUM_BYTES -; i++) - -2571 -lšk_hw_addr - - -2572 [ -lšk_hw_addr_¬¿y_idx -]. -addr_by‹s - - -2573 [ -i -] = -by‹ -[i]; - -2575 -lšk_hw_addr_¬¿y_idx -++; - -2576 -tok’ - = - `¡¹ok -( -NULL -, " "); - -2583 ià( - `¡rcmp -( -¬g_Çme -, "arp_route_tbl") == 0) { - -2584 -¬p_rou‹_tbl_´e£Á - = 1; - -2586 -ušt32_t - -de¡_ - = 0, -mask - = 0, -tx_pÜt - = 0, -nh_ - = - -2587 0, -i - = 0, -j - = 0, -k - = 0, -l - = 0; - -2588 -ušt32_t - -¬p_rou‹_tbl_¡r_max_Ën - = 10; - -2589  -de¡__¡r -[ -¬p_rou‹_tbl_¡r_max_Ën -]; - -2590  -mask_¡r -[ -¬p_rou‹_tbl_¡r_max_Ën -]; - -2591  -tx_pÜt_¡r -[ -¬p_rou‹_tbl_¡r_max_Ën -]; - -2592  -nh__¡r -[ -¬p_rou‹_tbl_¡r_max_Ën -]; - -2593 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "("); - -2594  -tok’ -) { - -2595 -i - = 0; - -2596 ( -i - < ( -¬p_rou‹_tbl_¡r_max_Ën - - 1)) - -2597 && ( -tok’ -[ -i -] != ',')) { - -2598 -de¡__¡r -[ -i -] = -tok’ -[i]; - -2599 -i -++; - -2601 -de¡__¡r -[ -i -] = '\0'; - -2602 -de¡_ - = - `¡¹oul -( -de¡__¡r -, -NULL -, 16); - -2604 -i -++; - -2605 -j - = 0; - -2606 ( -j - < ( -¬p_rou‹_tbl_¡r_max_Ën - - 1)) - -2607 && ( -tok’ -[ -i - + -j -] != ',')) { - -2608 -mask_¡r -[ -j -] = -tok’ -[ -i - + j]; - -2609 -j -++; - -2611 -mask_¡r -[ -j -] = '\0'; - -2612 -mask - = - `¡¹oul -( -mask_¡r -, -NULL -, 16); - -2614 -j -++; - -2615 -k - = 0; - -2616 ( -k - < ( -¬p_rou‹_tbl_¡r_max_Ën - - 1)) - -2617 && ( -tok’ -[ -i - + -j - + -k -] != ',')) { - -2618 -tx_pÜt_¡r -[ -k -] = -tok’ -[ -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 ( -l - < ( -¬p_rou‹_tbl_¡r_max_Ën - - 1)) - -2628 && ( -tok’ -[ -i - + -j - + -k - + -l -] != ')')) { - -2629 -nh__¡r -[ -l -] = -tok’ -[ -i - + -j - + -k - +†]; - -2630 -l -++; - -2632 -nh__¡r -[ -l -] = '\0'; - -2634 -nh_ - = - `¡¹oul -( -nh__¡r -, -NULL -, 16); - -2636 ià( -ARPICMP_DEBUG -) { - -2637 - `´štf -("token: %s, " - -2642 -tok’ -, -de¡__¡r -, -de¡_ -, - -2643 -mask_¡r -, -mask -, -tx_pÜt_¡r -, - -2644 -tx_pÜt -, -nh__¡r -, -nh_ -); - -2647 ià( -tx_pÜt - >ð -·¿ms --> -n_pÜts_out -) { - -2648 - `´štf -("ARP-ICMP…arseƒrror - " - -2650 -tx_pÜt -, -·¿ms --> -n_pÜts_out -); - -2656 -lib_¬p_rou‹_bË -[ -¬p_rou‹_tbl_šdex -]. - - = - -2657 -de¡_ -; - -2658 -lib_¬p_rou‹_bË -[ -¬p_rou‹_tbl_šdex -]. -mask - = - -2659 -mask -; - -2660 -lib_¬p_rou‹_bË -[ -¬p_rou‹_tbl_šdex -]. -pÜt - = - -2661 -tx_pÜt -; - -2662 -lib_¬p_rou‹_bË -[ -¬p_rou‹_tbl_šdex -]. -nh - = - -2663 -nh_ -; - -2664 -¬p_rou‹_tbl_šdex -++; - -2665 -tok’ - = - `¡¹ok -( -NULL -, "("); - -2672 ià( - `¡rcmp -( -¬g_Çme -, "nd_route_tbl") == 0) { - -2673 -nd_rou‹_tbl_´e£Á - = 1; - -2675 -ušt8_t - -de¡_v6 -[16], -d•th - = 0, -tx_pÜt - = - -2676 0, -nh_v6 -[16], -i - = 0, -j - = 0, -k - = 0, -l - = 0; - -2677 -ušt8_t - -nd_rou‹_tbl_¡r_max_Ën - = 128; - -2678  -de¡_v6_¡r -[ -nd_rou‹_tbl_¡r_max_Ën -]; - -2679  -d•th_¡r -[ -nd_rou‹_tbl_¡r_max_Ën -]; - -2680  -tx_pÜt_¡r -[ -nd_rou‹_tbl_¡r_max_Ën -]; - -2681  -nh_v6_¡r -[ -nd_rou‹_tbl_¡r_max_Ën -]; - -2682 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "("); - -2683  -tok’ -) { - -2684 -i - = 0; - -2685 ( -i - < ( -nd_rou‹_tbl_¡r_max_Ën - - 1)) - -2686 && ( -tok’ -[ -i -] != ',')) { - -2687 -de¡_v6_¡r -[ -i -] = -tok’ -[i]; - -2688 -i -++; - -2690 -de¡_v6_¡r -[ -i -] = '\0'; - -2691 - `my_š‘_±Ú_v6 -( -AF_INET6 -, -de¡_v6_¡r -, - -2692 & -de¡_v6 -); - -2694 -i -++; - -2695 -j - = 0; - -2696 ( -j - < ( -nd_rou‹_tbl_¡r_max_Ën - - 1)) - -2697 && ( -tok’ -[ -i - + -j -] != ',')) { - -2698 -d•th_¡r -[ -j -] = -tok’ -[ -i - + j]; - -2699 -j -++; - -2701 -d•th_¡r -[ -j -] = '\0'; - -2703  -s -; - -2704  -s - = 0; -d•th_¡r -[s] != '\0'; ++s) - -2705 -d•th - = d•th * 10 + -d•th_¡r -[ -s -] - '0'; - -2707 -j -++; - -2708 -k - = 0; - -2709 ( -k - < ( -nd_rou‹_tbl_¡r_max_Ën - - 1)) - -2710 && ( -tok’ -[ -i - + -j - + -k -] != ',')) { - -2711 -tx_pÜt_¡r -[ -k -] = -tok’ -[ -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 ( -l - < ( -nd_rou‹_tbl_¡r_max_Ën - - 1)) - -2721 && ( -tok’ -[ -i - + -j - + -k - + -l -] != ')')) { - -2722 -nh_v6_¡r -[ -l -] = -tok’ -[ -i - + -j - + -k - +†]; - -2723 -l -++; - -2725 -nh_v6_¡r -[ -l -] = '\0'; - -2726 - `my_š‘_±Ú_v6 -( -AF_INET6 -, -nh_v6_¡r -, - -2727 & -nh_v6 -); - -2730  -i - = 0; i < 16; i++) { - -2731 -lib_nd_rou‹_bË - - -2732 [ -nd_rou‹_tbl_šdex -]. -v6 -[ -i -] = - -2733 -de¡_v6 -[ -i -]; - -2734 -lib_nd_rou‹_bË - - -2735 [ -nd_rou‹_tbl_šdex -]. -nhv6 -[ -i -] = - -2736 -nh_v6 -[ -i -]; - -2738 -lib_nd_rou‹_bË -[ -nd_rou‹_tbl_šdex -]. -d•th - = - -2739 -d•th -; - -2740 -lib_nd_rou‹_bË -[ -nd_rou‹_tbl_šdex -]. -pÜt - = - -2741 -tx_pÜt -; - -2743 -nd_rou‹_tbl_šdex -++; - -2744 -tok’ - = - `¡¹ok -( -NULL -, "("); - -2754 ià(! -¬p_m‘a_off£t_´e£Á -) { - -2755 - `´štf -("ARPICMP:‡rp_meta_offset‚ot initialized\n"); - -2760 ià(! -¬p_rou‹_tbl_´e£Á - && ! -nd_rou‹_tbl_´e£Á -) { - -2761 - `´štf -("Neither‡rp_route_tbl_present‚or " - -2766 ià(! -pktq_š_´v_´e£Á -) { - -2767 - `´štf -("pktq_in_prv‚ot declared\n"); - -2771 ià(! -pÜts_mac_li¡_´e£Á -) { - -2772 - `´štf -("ports_mac_list‚ot declared\n"); - -2777 - } -} - -2781 -ušt32_t - - g¬picmp_pkt_´št_couÁ -; - -2782  -šlše -  - -2783 - $pkt_key_¬picmp -( -¹e_mbuf - * -pkt -, -ušt32_t - -pkt_num -, * -¬g -) - -2786  -p–še_¬picmp_š_pÜt_h_¬g - * -­ - = -¬g -; - -2787  -p–še_¬picmp - * -p_¬p - = (p–še_¬picm°*) -­ --> -p -; - -2789 -p_¬p --> -»ûivedPktCouÁ -++; - -2791 -ušt8_t - -š_pÜt_id - = -pkt --> -pÜt -; - -2792 #ifdeà -VNF_ACL - - -2793  -­p_lšk_·¿ms - * -lšk -; - -2795 -ušt8_t - * -´ÙocÞ -; - -2796 -ušt32_t - -pkt_mask - = 1 << -pkt_num -; - -2797 -ušt32_t - -‘h_´Ùo_off£t - = -MBUF_HDR_ROOM - + 12; - -2799 -ušt32_t - -´Ù_off£t - = - -2800 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_PROTOCOL_OFST -; - -2802 #ifdeà -VNF_ACL - - -2803 -ušt32_t - -out_pÜt -; - -2806 -ušt16_t - * -‘h_´Ùo - = - -2807 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -, -‘h_´Ùo_off£t -); - -2810 #ifdeà -VNF_ACL - - -2811 -ušt32_t - -d¡_addr_off£t - = - -2812 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -2813 -ušt32_t - * -d¡_addr - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, -d¡_addr_off£t -); - -2816 #ifdeà -IPV6 - - -2817 -ušt32_t - -´Ù_off£t_v6 - = - -2818 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IPV6_HDR_PROTOCOL_OFST -; - -2820 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo -è=ð -ETHER_TYPE_IPv6 -) - -2821 -´ÙocÞ - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -´Ù_off£t_v6 -); - -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_´št_couÁ - < 10)) { - -2830 - `´št_pkt1 -( -pkt -); - -2831 -¬picmp_pkt_´št_couÁ -++; - -2832 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -2834 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo -), * -´ÙocÞ -, -ETH_TYPE_ARP -, - -2835 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -2838 #ifdeà -VNF_ACL - - -2839 -lšk - = & -myAµ --> -lšk_·¿ms -[ -š_pÜt_id -]; - -2843 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo -è=ð -ETH_TYPE_ARP -) || - -2844 (( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo -è=ð -ETH_TYPE_IPV4 -) - -2845 && (* -´ÙocÞ - =ð -IP_PROTOCOL_ICMP -) - -2846 #ifdeà -VNF_ACL - - -2847 && ( -lšk --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr -)) - -2851 #ifdeà -VNF_ACL - - -2852 -out_pÜt - = -p_¬p --> -ouÜt_id -[ -š_pÜt_id -]; - -2853 - `´oûss_¬picmp_pkt -( -pkt -, -out_pÜt -, -pkt_mask -); - -2855 - `´oûss_¬picmp_pkt -( -pkt -, - `ifm_g‘_pÜt -( -š_pÜt_id -)); - -2859 #ifdeà -IPV6 - - -2860 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo -è=ð -ETH_TYPE_IPV6 -) - -2861 && (* -´ÙocÞ - =ð -ICMPV6_PROTOCOL_ID -)) { - -2862 #ifdeà -VNF_ACL - - -2863 -out_pÜt - = -p_¬p --> -ouÜt_id -[ -š_pÜt_id -]; - -2864 - `´oûss_icmpv6_pkt -( -pkt -, -out_pÜt -, -pkt_mask -); - -2866 - `´oûss_icmpv6_pkt -( -pkt -, - `ifm_g‘_pÜt -( -š_pÜt_id -)); - -2874 - `¹e_p–še_ah_·ck‘_drÝ -( -p_¬p --> -p -.p, -pkt_mask -); - -2875 -p_¬p --> -drݳdPktCouÁ -++; - -2877 - } -} - -2879  -šlše -  - -2880 - $pkt4_key_¬picmp -( -¹e_mbuf - ** -pkt -, -ušt32_t - -pkt_num -, * -¬g -) - -2883  -p–še_¬picmp_š_pÜt_h_¬g - * -­ - = -¬g -; - -2884  -p–še_¬picmp - * -p_¬p - = (p–še_¬picm°*) -­ --> -p -; - -2886 -p_¬p --> -»ûivedPktCouÁ - += 4; - -2888 -ušt32_t - -‘h_´Ùo_off£t - = -MBUF_HDR_ROOM - + 12; - -2889 -ušt8_t - -š_pÜt_id - = -pkt -[0]-> -pÜt -; - -2891 -ušt32_t - -´Ù_off£t - = - -2892 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_PROTOCOL_OFST -; - -2895 #ifdeà -VNF_ACL - - -2896 -ušt32_t - -d¡_addr_off£t - = - -2897 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -2900 -ušt32_t - -pkt_mask0 - = 1 << -pkt_num -; - -2901 -ušt32_t - -pkt_mask1 - = 1 << ( -pkt_num - + 1); - -2902 -ušt32_t - -pkt_mask2 - = 1 << ( -pkt_num - + 2); - -2903 -ušt32_t - -pkt_mask3 - = 1 << ( -pkt_num - + 3); - -2905 #ifdeà -VNF_ACL - - -2906 -ušt32_t - -out_pÜt0 -; - -2907 -ušt32_t - -out_pÜt1 -; - -2908 -ušt32_t - -out_pÜt2 -; - -2909 -ušt32_t - -out_pÜt3 -; - -2912 -ušt16_t - * -‘h_´Ùo0 - = - -2913 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -[0], -‘h_´Ùo_off£t -); - -2914 -ušt16_t - * -‘h_´Ùo1 - = - -2915 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -[1], -‘h_´Ùo_off£t -); - -2916 -ušt16_t - * -‘h_´Ùo2 - = - -2917 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -[2], -‘h_´Ùo_off£t -); - -2918 -ušt16_t - * -‘h_´Ùo3 - = - -2919 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -[3], -‘h_´Ùo_off£t -); - -2921 -ušt8_t - * -´ÙocÞ0 -; - -2922 -ušt8_t - * -´ÙocÞ1 -; - -2923 -ušt8_t - * -´ÙocÞ2 -; - -2924 -ušt8_t - * -´ÙocÞ3 -; - -2926 #ifdeà -VNF_ACL - - -2927 -ušt32_t - * -d¡_addr0 - = - -2928 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[0], -d¡_addr_off£t -); - -2929 -ušt32_t - * -d¡_addr1 - = - -2930 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[1], -d¡_addr_off£t -); - -2931 -ušt32_t - * -d¡_addr2 - = - -2932 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[2], -d¡_addr_off£t -); - -2933 -ušt32_t - * -d¡_addr3 - = - -2934 - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[3], -d¡_addr_off£t -); - -2936  -­p_lšk_·¿ms - * -lšk0 -; - -2937  -­p_lšk_·¿ms - * -lšk1 -; - -2938  -­p_lšk_·¿ms - * -lšk2 -; - -2939  -­p_lšk_·¿ms - * -lšk3 -; - -2941 -lšk0 - = & -myAµ --> -lšk_·¿ms -[ -pkt -[0]-> -pÜt -]; - -2942 -lšk1 - = & -myAµ --> -lšk_·¿ms -[ -pkt -[1]-> -pÜt -]; - -2943 -lšk2 - = & -myAµ --> -lšk_·¿ms -[ -pkt -[2]-> -pÜt -]; - -2944 -lšk3 - = & -myAµ --> -lšk_·¿ms -[ -pkt -[3]-> -pÜt -]; - -2947 #ifdeà -IPV6 - - -2948 -ušt32_t - -´Ù_off£t_v6 - = - -2949 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IPV6_HDR_PROTOCOL_OFST -; - -2953 #ifdeà -IPV6 - - -2955 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo0 -è=ð -ETHER_TYPE_IPv6 -) - -2956 -´ÙocÞ0 - = - -2957 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[0], -´Ù_off£t_v6 -); - -2959 -´ÙocÞ0 - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[0], -´Ù_off£t -); - -2962 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo1 -è=ð -ETHER_TYPE_IPv6 -) - -2963 -´ÙocÞ1 - = - -2964 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[1], -´Ù_off£t_v6 -); - -2966 -´ÙocÞ1 - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[1], -´Ù_off£t -); - -2969 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo2 -è=ð -ETHER_TYPE_IPv6 -) - -2970 -´ÙocÞ2 - = - -2971 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[2], -´Ù_off£t_v6 -); - -2973 -´ÙocÞ2 - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[2], -´Ù_off£t -); - -2976 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo3 -è=ð -ETHER_TYPE_IPv6 -) - -2977 -´ÙocÞ3 - = - -2978 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[3], -´Ù_off£t_v6 -); - -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_´št_couÁ - < 10)) { - -2989 - `´št_pkt1 -( -pkt -[0]); - -2990 -¬picmp_pkt_´št_couÁ -++; - -2991 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -2993 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo0 -), * -´ÙocÞ0 -, -ETH_TYPE_ARP -, - -2994 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -2998 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo0 -è=ð -ETH_TYPE_ARP -) || - -2999 (( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo0 -è=ð -ETH_TYPE_IPV4 -) - -3000 && (* -´ÙocÞ0 - =ð -IP_PROTOCOL_ICMP -) - -3001 #ifdeà -VNF_ACL - - -3002 && ( -lšk0 --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr0 -)) - -3006 #ifdeà -VNF_ACL - - -3007 -out_pÜt0 - = -p_¬p --> -ouÜ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‘_pÜt -( -š_pÜt_id -)); - -3013  -PKT1 -; - -3015 #ifdeà -IPV6 - - -3016 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo0 -è=ð -ETH_TYPE_IPV6 -) - -3017 && (* -´ÙocÞ0 - =ð -ICMPV6_PROTOCOL_ID -)) { - -3019 #ifdeà -VNF_ACL - - -3020 -out_pÜt0 - = -p_¬p --> -ouÜ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‘_pÜt -( -š_pÜt_id -)); - -3026  -PKT1 -; - -3031 - `¹e_p–še_ah_·ck‘_drÝ -( -p_¬p --> -p -.p, -pkt_mask0 -); - -3032 -p_¬p --> -drݳdPktCouÁ -++; - -3034 -PKT1 -: - -3035 ià(( -ARPICMP_DEBUG - > 2è&& ( -¬picmp_pkt_´št_couÁ - < 10)) { - -3036 - `´št_pkt1 -( -pkt -[1]); - -3037 -¬picmp_pkt_´št_couÁ -++; - -3038 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -3040 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo1 -), * -´ÙocÞ1 -, -ETH_TYPE_ARP -, - -3041 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -3044 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo1 -è=ð -ETH_TYPE_ARP -) || - -3045 (( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo1 -è=ð -ETH_TYPE_IPV4 -) - -3046 && (* -´ÙocÞ1 - =ð -IP_PROTOCOL_ICMP -) - -3047 #ifdeà -VNF_ACL - - -3048 && ( -lšk1 --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr1 -)) - -3052 #ifdeà -VNF_ACL - - -3053 -out_pÜt1 - = -p_¬p --> -ouÜ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‘_pÜt -( -š_pÜt_id -)); - -3058  -PKT2 -; - -3060 #ifdeà -IPV6 - - -3061 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo1 -è=ð -ETH_TYPE_IPV6 -) - -3062 && (* -´ÙocÞ1 - =ð -ICMPV6_PROTOCOL_ID -)) { - -3064 #ifdeà -VNF_ACL - - -3065 -out_pÜt1 - = -p_¬p --> -ouÜ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‘_pÜt -( -š_pÜt_id -)); - -3071  -PKT2 -; - -3076 - `¹e_p–še_ah_·ck‘_drÝ -( -p_¬p --> -p -.p, -pkt_mask1 -); - -3077 -p_¬p --> -drݳdPktCouÁ -++; - -3079 -PKT2 -: - -3080 ià(( -ARPICMP_DEBUG - > 2è&& ( -¬picmp_pkt_´št_couÁ - < 10)) { - -3081 - `´št_pkt1 -( -pkt -[2]); - -3082 -¬picmp_pkt_´št_couÁ -++; - -3083 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -3085 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo2 -), * -´ÙocÞ2 -, -ETH_TYPE_ARP -, - -3086 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -3089 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo2 -è=ð -ETH_TYPE_ARP -) || - -3090 (( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo2 -è=ð -ETH_TYPE_IPV4 -) - -3091 && (* -´ÙocÞ2 - =ð -IP_PROTOCOL_ICMP -) - -3092 #ifdeà -VNF_ACL - - -3093 && ( -lšk2 --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr2 -)) - -3097 #ifdeà -VNF_ACL - - -3098 -out_pÜt2 - = -p_¬p --> -ouÜ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‘_pÜt -( -š_pÜt_id -)); - -3104  -PKT3 -; - -3106 #ifdeà -IPV6 - - -3107 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo2 -è=ð -ETH_TYPE_IPV6 -) - -3108 && (* -´ÙocÞ2 - =ð -ICMPV6_PROTOCOL_ID -)) { - -3110 #ifdeà -VNF_ACL - - -3111 -out_pÜt2 - = -p_¬p --> -ouÜ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‘_pÜt -( -š_pÜt_id -)); - -3117  -PKT3 -; - -3122 - `¹e_p–še_ah_·ck‘_drÝ -( -p_¬p --> -p -.p, -pkt_mask2 -); - -3123 -p_¬p --> -drݳdPktCouÁ -++; - -3125 -PKT3 -: - -3126 ià(( -ARPICMP_DEBUG - > 2è&& ( -¬picmp_pkt_´št_couÁ - < 10)) { - -3127 - `´št_pkt1 -( -pkt -[3]); - -3128 -¬picmp_pkt_´št_couÁ -++; - -3129 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -3131 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo3 -), * -´ÙocÞ3 -, -ETH_TYPE_ARP -, - -3132 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -3135 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo3 -è=ð -ETH_TYPE_ARP -) || - -3136 (( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo3 -è=ð -ETH_TYPE_IPV4 -) - -3137 && (* -´ÙocÞ3 - =ð -IP_PROTOCOL_ICMP -) - -3139 #ifdeà -VNF_ACL - - -3140 && ( -lšk3 --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr3 -)) - -3144 #ifdeà -VNF_ACL - - -3145 -out_pÜt3 - = -p_¬p --> -ouÜ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‘_pÜt -( -š_pÜt_id -)); - -3153 #ifdeà -IPV6 - - -3154 ià(( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo3 -è=ð -ETH_TYPE_IPV6 -) - -3155 && (* -´ÙocÞ3 - =ð -ICMPV6_PROTOCOL_ID -)) { - -3157 #ifdeà -VNF_ACL - - -3158 -out_pÜt3 - = -p_¬p --> -ouÜ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‘_pÜt -( -š_pÜt_id -)); - -3168 - `¹e_p–še_ah_·ck‘_drÝ -( -p_¬p --> -p -.p, -pkt_mask3 -); - -3169 -p_¬p --> -drݳdPktCouÁ -++; - -3172 - } -} - -3174 -PIPELINE_ARPICMP_KEY_PORT_IN_AH -( - -3175 -pÜt_š_ah_¬picmp -, - -3176 -pkt_key_¬picmp -, - -3177 -pkt4_key_¬picmp -); - -3179 * - $p–še_¬picmp_š™ -( -p–še_·¿ms - * -·¿ms -, - -3180 -__¹e_unu£d - * -¬g -) - -3182  -p–še - * -p -; - -3183  -p–še_¬picmp - * -p_¬p -; - -3184 -ušt32_t - -size -, -i -, -š_pÜts_¬g_size -; - -3186 - `´štf -("Start…ipeline_arpicmp_init\n"); - -3189 ià(( -·¿ms - =ð -NULL -) || - -3190 ( -·¿ms --> -n_pÜts_š - == 0) || - -3191 ( -·¿ms --> -n_pÜts_out - == 0)) - -3192  -NULL -; - -3195 -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -p–še_¬picmp -)); - -3196 -p - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -3197 -p_¬p - = ( -p–še_¬picmp - *) -p -; - -3198 ià( -p - =ð -NULL -) - -3199  -NULL -; - -3202  -­p_·¿ms - * -­p - = (­p_·¿m *) -¬g -; - -3203 -myAµ - = -¬g -; - -3205 - `PLOG -( -p -, -HIGH -, "ARPICMP"); - -3206 - `¡rýy -( -p --> -Çme -, -·¿ms -->name); - -3207 -p --> -log_Ëv– - = -·¿ms -->log_level; - -3209 -p_¬p --> -»ûivedPktCouÁ - = 0; - -3210 -p_¬p --> -drݳdPktCouÁ - = 0; - -3212 #ifdeà -VNF_ACL - - -3213  -i - = 0; i < -PIPELINE_MAX_PORT_IN -; i++) - -3214 -p_¬p --> -lšks_m­ -[ -i -] = 0xff; - -3216 -p_¬p --> -p–še_num - = 0; - -3219 ià( - `p–še_¬picmp_·r£_¬gs -( -p_¬p -, -·¿ms -)) - -3220  -NULL -; - -3222 #iâdeà -VNF_ACL - - -3223 - `lib_¬p_š™ -( -·¿ms -, -­p -); - -3228  -¹e_p–še_·¿ms - -p–še_·¿ms - = { - -3229 . -Çme - = "ARPICMP", - -3230 . -sock‘_id - = -·¿ms -->socket_id, - -3231 . -off£t_pÜt_id - = 0, - -3235 -p -->°ð - `¹e_p–še_ü—‹ -(& -p–še_·¿ms -); - -3236 ià( -p -->°=ð -NULL -) { - -3237 - `¹e_ä“ -( -p -); - -3238  -NULL -; - -3242 -p --> -n_pÜts_š - = -·¿ms -->n_ports_in; - -3243 -p --> -n_pÜts_out - = -·¿ms -->n_ports_out; - -3244 -p --> -n_bËs - = 1; - -3247 -š_pÜts_¬g_size - = - `RTE_CACHE_LINE_ROUNDUP -( - -3248 (( -p–še_¬picmp_š_pÜt_h_¬g -)) * - -3249 ( -·¿ms --> -n_pÜts_š -)); - -3250  -p–še_¬picmp_š_pÜt_h_¬g - * -­ - = - -3251 ( -p–še_¬picmp_š_pÜt_h_¬g - *) - `¹e_zm®loc -( -NULL -, - -3252 -š_pÜts_¬g_size -, - -3253 -RTE_CACHE_LINE_SIZE -); - -3254 ià( -­ - =ð -NULL -) - -3255  -NULL -; - -3258  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -3260 ( -­ -[ -i -]). -p - = -p_¬p -; - -3261 ( -­ -[ -i -]). -š_pÜt_id - = i; - -3262  -¹e_p–še_pÜt_š_·¿ms - -pÜt_·¿ms - = { - -3263 . -Ýs - = - -3264 - `p–še_pÜt_š_·¿ms_g‘_Ýs -(& -·¿ms --> - -3265 -pÜt_š -[ -i -]), - -3266 . -¬g_ü—‹ - = - -3267 - `p–še_pÜt_š_·¿ms_cÚv”t -(& -·¿ms --> - -3268 -pÜt_š -[ -i -]), - -3269 . -f_aùiÚ - = -NULL -, - -3270 . -¬g_ah - = &( -­ -[ -i -]), - -3271 . -bur¡_size - = -·¿ms --> -pÜt_š -[ -i -].burst_size, - -3274 -pÜt_·¿ms -. -f_aùiÚ - = -pÜt_š_ah_¬picmp -; - -3276  -¡©us - = - `¹e_p–še_pÜt_š_ü—‹ -( -p -->p, - -3277 & -pÜt_·¿ms -, - -3278 & -p --> -pÜt_š_id -[ -i -]); - -3280 ià( -¡©us -) { - -3281 - `¹e_p–še_ä“ -( -p -->p); - -3282 - `¹e_ä“ -( -p -); - -3283  -NULL -; - -3288  -i - = 0; i < -p --> -n_pÜts_out -; i++) { - -3289  -¹e_p–še_pÜt_out_·¿ms - -pÜt_·¿ms - = { - -3290 . -Ýs - = - -3291 - `p–še_pÜt_out_·¿ms_g‘_Ýs -(& -·¿ms --> - -3292 -pÜt_out -[ -i -]), - -3293 . -¬g_ü—‹ - = - -3294 - `p–še_pÜt_out_·¿ms_cÚv”t -(& -·¿ms --> - -3295 -pÜt_out -[ -i -]), - -3296 . -f_aùiÚ - = -NULL -, - -3297 . -¬g_ah - = -NULL -, - -3300  -¡©us - = - `¹e_p–še_pÜt_out_ü—‹ -( -p -->p, - -3301 & -pÜt_·¿ms -, - -3302 & -p --> -pÜt_out_id -[ -i -]); - -3304 ià( -¡©us -) { - -3305 - `¹e_p–še_ä“ -( -p -->p); - -3306 - `¹e_ä“ -( -p -); - -3307  -NULL -; - -3310  -p–še_num - = 0; - -3312  -¡©us - = - `ssÿnf -( -·¿ms --> -Çme -, "PIPELINE%d", & -p–še_num -); - -3314 ià( -¡©us - < 0) { - -3315  -NULL -; - -3316 - `´štf -("Unableo„ead…ipeline‚umber\n"); - -3319 -p_¬p --> -p–še_num - = ( -ušt8_t -)…ipeline_num; - -3321 - `»gi¡”_p–še_Qs -( -p_¬p --> -p–še_num -, -p -); - -3322 - `£t_phy_ouÜt_id -( -p_¬p --> -p–še_num -, -p -,…_¬p-> -ouÜt_id -); - -3326  -¹e_p–še_bË_·¿ms - -bË_·¿ms - = { - -3327 . -Ýs - = & -¹e_bË_¡ub_Ýs -, - -3328 . -¬g_ü—‹ - = -NULL -, - -3329 . -f_aùiÚ_h™ - = -NULL -, - -3330 . -f_aùiÚ_miss - = -NULL -, - -3331 . -¬g_ah - = -NULL -, - -3332 . -aùiÚ_d©a_size - = 0, - -3335  -¡©us - = - `¹e_p–še_bË_ü—‹ -( -p -->p, - -3336 & -bË_·¿ms -, - -3337 & -p --> -bË_id -[0]); - -3339 ià( -¡©us -) { - -3340 - `¹e_p–še_ä“ -( -p -->p); - -3341 - `¹e_ä“ -( -p -); - -3342  -NULL -; - -3347  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -3349  -¡©us - = - `¹e_p–še_pÜt_š_cÚÃù_to_bË -( -p -->p, - -3350 -p --> - -3351 -pÜt_š_id - - -3352 [ -i -], - -3353 -p --> - -3354 -bË_id -[0]); - -3356 ià( -¡©us -) { - -3357 - `¹e_p–še_ä“ -( -p -->p); - -3358 - `¹e_ä“ -( -p -); - -3359  -NULL -; - -3365  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -3366  -¡©us - = - `¹e_p–še_pÜt_š_’abË -( -p -->p, - -3367 -p --> -pÜt_š_id -[ -i -]); - -3369 ià( -¡©us -) { - -3370 - `¹e_p–še_ä“ -( -p -->p); - -3371 - `¹e_ä“ -( -p -); - -3372  -NULL -; - -3377 ià( - `¹e_p–še_check -( -p -->p) < 0) { - -3378 - `¹e_p–še_ä“ -( -p -->p); - -3379 - `¹e_ä“ -( -p -); - -3380  -NULL -; - -3384 -p --> -n_msgq - = -·¿ms -->n_msgq; - -3385  -i - = 0; i < -p --> -n_msgq -; i++) - -3386 -p --> -msgq_š -[ -i -] = -·¿ms -->msgq_in[i]; - -3387  -i - = 0; i < -p --> -n_msgq -; i++) - -3388 -p --> -msgq_out -[ -i -] = -·¿ms -->msgq_out[i]; - -3391 - `memýy -( -p --> -hªdËrs -, handlers, (p->handlers)); - -3393 #ifdeà -VNF_ACL - - -3396 -lib_¬p_pktmbuf_tx_poÞ - = - `¹e_pktmbuf_poÞ_ü—‹ -( - -3398 -NB_ARPICMP_MBUF -, 32, - -3399 0, -RTE_MBUF_DEFAULT_BUF_SIZE -, - -3400 - `¹e_sock‘_id -()); - -3402 ià( -lib_¬p_pktmbuf_tx_poÞ - =ð -NULL -) { - -3403 - `´štf -("ARP mbuf…ool create failed.\n"); - -3404  -NULL -; - -3407 -lib_¬p_pkt - = - `¹e_pktmbuf_®loc -( -lib_¬p_pktmbuf_tx_poÞ -); - -3408 ià( -lib_¬p_pkt - =ð -NULL -) { - -3409 - `´štf -("ARP†ib_arp_pkt‡lloc failed.\n"); - -3410  -NULL -; - -3414 -¬p_hash_·¿ms -. -sock‘_id - = - `¹e_sock‘_id -(); - -3415 -¬p_hash_·¿ms -. -’Œ›s - = -MAX_NUM_ARP_ENTRIES -; - -3416 -¬p_hash_hªdË - = - `¹e_hash_ü—‹ -(& -¬p_hash_·¿ms -); - -3418 ià( -¬p_hash_hªdË - =ð -NULL -) { - -3419 - `´štf -("ARP„te_hash_create failed. socket %d ...\n", - -3420 -¬p_hash_·¿ms -. -sock‘_id -); - -3421  -NULL -; - -3423 - `´štf -("¬p_hash_hªdË %p\n\n", (*) -¬p_hash_hªdË -); - -3426 -nd_hash_·¿ms -. -sock‘_id - = - `¹e_sock‘_id -(); - -3427 -nd_hash_·¿ms -. -’Œ›s - = -MAX_NUM_ND_ENTRIES -; - -3428 -nd_hash_hªdË - = - `¹e_hash_ü—‹ -(& -nd_hash_·¿ms -); - -3430 ià( -nd_hash_hªdË - =ð -NULL -) { - -3431 - `´štf -("ND„te_hash_create failed. socket %d ...\n", - -3432 -nd_hash_·¿ms -. -sock‘_id -); - -3433  -NULL -; - -3436 - `´štf -("nd_hash_hªdË %p\n\n", (*) -nd_hash_hªdË -); - -3438  -p -; - -3439 - } -} - -3441  - $p–še_¬picmp_ä“ -(* -p–še -) - -3443  -p–še - * -p - = (pipeline *)pipeline; - -3446 ià( -p - =ð -NULL -) - -3450 - `¹e_p–še_ä“ -( -p -->p); - -3451 - `¹e_ä“ -( -p -); - -3453 - } -} - -3455  - $p–še_¬picmp_tim” -(* -p–še -) - -3457  -p–še - * -p - = (pipeline *)pipeline; - -3459 - `p–še_msg_»q_hªdË -( -p -); - -3460 - `¹e_p–še_æush -( -p -->p); - -3463 - } -} - -3466 - $p–še_¬picmp_Œack -(* -p–še -, -ušt32_t - -pÜt_š -, ušt32_ˆ* -pÜt_out -) - -3468  -p–še - * -p - = (pipeline *)pipeline; - -3471 ià(( -p - =ð -NULL -è|| ( -pÜt_š - >ðp-> -n_pÜts_š -è|| ( -pÜt_out - == NULL)) - -3474 * -pÜt_out - = -pÜt_š - / -p --> -n_pÜts_š -; - -3476 - } -} - -3478  -p–še_be_Ýs - - gp–še_¬picmp_be_Ýs - = { - -3479 . -f_š™ - = -p–še_¬picmp_š™ -, - -3480 . - gf_ä“ - = -p–še_¬picmp_ä“ -, - -3481 . - gf_run - = -NULL -, - -3482 . - gf_tim” - = -p–še_¬picmp_tim” -, - -3483 . - gf_Œack - = -p–še_¬picmp_Œack -, - - @VIL/pipeline_arpicmp/pipeline_arpicmp_be.h - -17 #iâdeà -__INCLUDE_PIPELINE_ARPICMP_BE_H__ - - -18  - #__INCLUDE_PIPELINE_ARPICMP_BE_H__ - - - ) - -20  - ~"p–še_commÚ_be.h -" - -21  - #PIPELINE_ARPICMP_KEY_PORT_IN_AH -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -23 - `f_ah -( \ - -24 -__¹e_unu£d -  -¹e_p–še - * -¹e_p -, \ - -25  -¹e_mbuf - ** -pkts -, \ - -26 -ušt32_t - -n_pkts -, \ - -27 * -¬g -) \ - -29 -ušt32_t - -i -, -j -; \ - -31  -j - = 0; j < -n_pkts -; j++) \ - -32 - `¹e_´eãtch0 -( -pkts -[ -j -]); \ - -34  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) \ - -35 - `f_pkt4_wÜk -(& -pkts -[ -i -], i, -¬g -); \ - -37  ; -i - < -n_pkts -; i++) \ - -38 - `f_pkt_wÜk -( -pkts -[ -i -], i, -¬g -); \ - -42 } - - ) - -44  -­p_·¿ms - * -myAµ -; - -45  -´št_pkt1 -( -¹e_mbuf - * -pkt -); - -46  -‘h”_addr - * -g‘_lšk_hw_addr -( -ušt8_t - -out_pÜt -); - -47 #ifdeà -VNF_ACL - - -49  - ~<¹e_p–še.h -> - -50  - ~"¹e_‘h”.h -" - -51  - ~"­p.h -" - -53 #ià( -RTE_BYTE_ORDER - =ð -RTE_LITTLE_ENDIAN -) - -56  - #CHECK_ENDIAN_16 -( -x -è - `¹e_be_to_ýu_16 -(x) - - ) - -57  - #CHECK_ENDIAN_32 -( -x -è - `¹e_be_to_ýu_32 -(x) - - ) - -59  - #CHECK_ENDIAN_16 -( -x -è(x) - - ) - -60  - #CHECK_ENDIAN_32 -( -x -è(x) - - ) - -64  - #MAX_ARP_RT_ENTRY - 16 - - ) - -65  - #MAX_ND_RT_ENTRY - 16 - - ) - -67  - #ND_IPV6_ADDR_SIZE - 16 - - ) - -70 - mARP_FOUND -, - -71 - mARP_NOT_FOUND -, - -72 - mNH_NOT_FOUND -, - -75 - e¬p_key_ty³ - { - -76 - mARP_IPV4 -, - -78 - mND_IPV6 -, - -81  - s¬p_key_v4 - { - -82 -ušt32_t - - m -; - -83 -ušt8_t - - mpÜt_id -; - -84 -ušt8_t - - mfžËr1 -; - -85 -ušt8_t - - mfžËr2 -; - -86 -ušt8_t - - mfžËr3 -; - -90  - snd_key_v6 - { - -93 -ušt8_t - - mv6 -[ -ND_IPV6_ADDR_SIZE -]; - -94 -ušt8_t - - mpÜt_id -; - -95 -ušt8_t - - mfžËr1 -; - -96 -ušt8_t - - mfžËr2 -; - -97 -ušt8_t - - mfžËr3 -; - -100  - s¬p_key - { - -101 -¬p_key_ty³ - - mty³ -; - -103  -¬p_key_v4 - - mv4 -; - -104 } - mkey -; - -107  - slib_¬p_rou‹_bË_’Œy - { - -108 -ušt32_t - - m -; - -109 -ušt32_t - - mmask -; - -110 -ušt32_t - - mpÜt -; - -111 -ušt32_t - - mnh -; - -114  - slib_nd_rou‹_bË_’Œy - { - -115 -ušt8_t - - mv6 -[16]; - -116 -ušt8_t - - md•th -; - -117 -ušt32_t - - mpÜt -; - -118 -ušt8_t - - mnhv6 -[16]; - -120  -lib_¬p_rou‹_bË_’Œy - -lib_¬p_rou‹_bË -[ -MAX_ARP_RT_ENTRY -]; - -121  -lib_nd_rou‹_bË_’Œy - -lib_nd_rou‹_bË -[ -MAX_ND_RT_ENTRY -]; - -123 -ušt8_t - -´v_š_pÜt_a -[ -PIPELINE_MAX_PORT_IN -]; - -124  -cÚv”t_´efixËn_to_Ãtmask_v6 -( -ušt32_t - -d•th -, - -125 -ušt8_t - -Ãtmask_v6 -[]); - -126 -ušt32_t - -g‘_nh -(uint32_t, uint32_t*); - -127  -g‘_nh_v6 -( -ušt8_t - -v6 -[], -ušt32_t - * -pÜt -, ušt8_ˆ -nhv6 -[]); - -129 -ušt32_t - -ARPICMP_DEBUG -; - -133  - #COMPLETE - 1 - - ) - -135  - #INCOMPLETE - 0 - - ) - -138 -ušt32_t - -NDIPV6_DEBUG -; - -141  - #ICMPv6_COMPLETE - 1 - - ) - -143  - #ICMPv6_INCOMPLETE - 0 - - ) - -145  - s¬p_’Œy_d©a - { - -146  -‘h”_addr - - m‘h_addr -; - -147 -ušt8_t - - mpÜt -; - -148 -ušt8_t - - m¡©us -; - -149 -ušt32_t - - m -; - -150 } -__©Œibu‹__ - (( -__·cked__ -)); - -153  - snd_’Œy_d©a - { - -154  -‘h”_addr - - m‘h_addr -; - -155 -ušt8_t - - mpÜt -; - -156 -ušt8_t - - m¡©us -; - -157 -ušt8_t - - mv6 -[ -ND_IPV6_ADDR_SIZE -]; - -158 } -__©Œibu‹__ - (( -__·cked__ -)); - -160  -g‘_de¡_mac_add»ss -(cÚ¡ -ušt32_t - -addr -, cÚ¡ ušt32_ˆ -phy_pÜt -, - -161  -‘h”_addr - * -hw_addr -, -ušt32_t - * -nh -); - -162  -g‘_de¡_mac_addr -(cÚ¡ -ušt32_t - -addr -, cÚ¡ ušt32_ˆ -phy_pÜt -, - -163  -‘h”_addr - * -hw_addr -); - -165  -g‘_de¡_mac_add»ss_v6 -( -ušt8_t - -v6addr -[], -ušt32_t - -phy_pÜt -, - -166  -‘h”_addr - * -hw_addr -, -ušt8_t - -nhv6 -[]); - -168  -lib_¬p_»que¡_¬p -( - -169 cÚ¡ -ušt32_t - -addr -, - -170 cÚ¡ -ušt32_t - -phy_pÜt -, - -171  -¹e_p–še - * -¹e_p -); - -173  -´št_¬p_bË -(); - -174  -´št_nd_bË -(); - -175  -»move_¬p_’Œy -( -ušt32_t - -addr -, -ušt8_t - -pÜtid -); - -176  -»move_nd_’Œy_v6 -( -ušt8_t - -v6addr -[], ušt8_ˆ -pÜtid -); - -177  -pÝuϋ_¬p_’Œy -(cÚ¡  -‘h”_addr - * -hw_addr -, -ušt32_t - -addr -, - -178 -ušt8_t - -pÜtid -); - -180  -pÝuϋ_nd_’Œy -(cÚ¡  -‘h”_addr - * -hw_addr -, -ušt8_t - - -[], - -181 -ušt8_t - -pÜtid -); - -182  -»que¡_¬p -( -ušt8_t - -pÜt_id -, -ušt32_t - - -,  -¹e_p–še - * -¹e_p -); - -183  -»que¡_¬p_w¿p -( -ušt8_t - -pÜt_id -, -ušt32_t - - -); - -184  -»que¡_echo -( -pÜt_id -, -ušt32_t - - -); - -186  -´oûss_¬picmp_pkt -( -¹e_mbuf - * -pkt -, -ušt32_t - -out_pÜt -, - -187 -ušt32_t - -pkt_num -); - -189  -¬p_’Œy_d©a - * -»Œ›ve_¬p_’Œy -(cÚ¡  -¬p_key_v4 - -¬p_key -); - -190  -nd_’Œy_d©a - * -»Œ›ve_nd_’Œy -( -nd_key_v6 - -nd_key -); - -192  -nd_’Œy_d©a - * -»Œ›ve_nd_’Œy -( -nd_key_v6 - -nd_key -); - -194  -lib_nd_š™ -Ð -­p_·¿ms - * -­p -); - -195  -´št_pkt1 -( -¹e_mbuf - * -pkt -); - -199 -ušt8_t - - glb_ouÜt_id -[ -PIPELINE_MAX_PORT_IN -]; - -200  -p–še - * - glßdb_p–še -[ -PIPELINE_MAX_PORT_IN -]; - -201  -p–še - * - g®l_p–še -[ -PIPELINE_MAX_PORT_IN -]; - -202 -ušt8_t - - gvnf_to_lßdb_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -203 -ušt8_t - - gpÜt_to_lßdb_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -204 -ušt8_t - - glßdb_p–še_nums -[ -PIPELINE_MAX_PORT_IN -]; - -207 -ušt8_t - - glb_ouÜt_id -[ -PIPELINE_MAX_PORT_IN -]; - -208  -p–še - * - g¬p_p–še -[ -PIPELINE_MAX_PORT_IN -]; - -209 -ušt8_t - - gvnf_to_¬p_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -210 -ušt8_t - - gpÜt_to_¬p_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -211 -ušt8_t - - g¬p_p–še_nums -[ -PIPELINE_MAX_PORT_IN -]; - -214  -£t_pÜt_to_lßdb_m­ -( -ušt8_t - -p–še_num -); - -215 -ušt8_t - -g‘_pÜt_to_lßdb_m­ -(ušt8_ˆ -phy_pÜt_id -); - -218  -£t_phy_špÜt_m­ -( -ušt8_t - -p–še_num -, ušt8_ˆ* -m­ -); - -219  -£t_phy_ouÜt_m­ -( -ušt8_t - -p–še_num -, ušt8_ˆ* -m­ -); - -221  -£t_ouÜt_id -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -); - -223 -ušt8_t - -g‘_lßdb_ouÜt_id -(ušt8_ˆ -aùu®_phy_pÜt -); - -225 -ušt8_t - -g‘_vnf_£t_num -(ušt8_ˆ -p–še_num -); - -227  -p–šes_pÜt_šfo -(); - -228  -p–šes_m­_šfo -(); - -229  -»gi¡”_lßdb_to_¬p -( -ušt8_t - -p–še_num -,  -p–še - * -p -, - -230 -__¹e_unu£d -  -­p_·¿ms - * -­p -); - -232 -ušt8_t - - gSWQ_to_PÜt_m­ -[128]; - -234  -p–še_be_Ýs - -p–še_¬picmp_be_Ýs -; - -235  -»gi¡”_p–še_Qs -( -ušt8_t - -p–še_num -,  -p–še - * -p -); - -236  -£t_lšk_m­ -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -); - -237  -£t_ouÜt_id -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -); - -238  -£t_phy_ouÜt_id -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -); - -239  -£t_phy_špÜt_id -( -ušt8_t - -p–še_num -,  -p–še - * -p -, ušt8_ˆ* -m­ -); - -244 - ep–še_¬picmp_msg_»q_ty³ - { - -245 - mPIPELINE_ARPICMP_MSG_REQ_ENTRY_DBG -, - -246 - mPIPELINE_ARPICMP_MSG_REQS - - -252  - sp–še_¬picmp_’Œy_dbg_msg_»q - { - -253 -p–še_msg_»q_ty³ - - mty³ -; - -254 -p–še_¬picmp_msg_»q_ty³ - - msubty³ -; - -257 -ušt8_t - - md©a -[2]; - -264  - sp–še_¬picmp_š_pÜt_h_¬g - { - -265  -p–še_¬picmp - * - mp -; - -266 -ušt8_t - - mš_pÜt_id -; - -269  - sp–še_¬picmp_’Œy_dbg_msg_r¥ - { - -270  - m¡©us -; - -273 #ifdeà -VNF_ACL - - -276  - sicmpv6_hdr - { - -277 -ušt8_t - - micmpv6_ty³ -; - -278 -ušt8_t - - micmpv6_code -; - -279 -ušt16_t - - micmpv6_cksum -; - -280 } -__©Œibu‹__ - (( -__·cked__ -)); - -285  - sicmpv6_šfo_hdr - { - -286 -ušt16_t - - micmpv6_id’t -; - -287 -ušt16_t - - micmpv6_£q_nb -; - -288 } -__©Œibu‹__ - (( -__·cked__ -)); - -293  - sicmpv6_nd_hdr - { - -295 -ušt32_t - - micmpv6_»£rved -; - -298 -ušt8_t - - mrg‘_v6 -[16]; - -300 -ušt8_t - - mty³ -; - -301 -ušt8_t - - mËngth -; - -302  -‘h”_addr - - mlšk_Ïy”_add»ss -; - -303 } -__©Œibu‹__ - (( -__·cked__ -)); - -306  - #ICMPV6_PROTOCOL_ID - 58 - - ) - -307  - #ICMPV6_ECHO_REQUEST - 0x0080 - - ) - -308  - #ICMPV6_ECHO_REPLY - 0x0081 - - ) - -309  - #ICMPV6_NEIGHBOR_SOLICITATION - 0x0087 - - ) - -310  - #ICMPV6_NEIGHBOR_ADVERTISEMENT - 0x0088 - - ) - -311  - #IPV6_MULTICAST - 0xFF02 - - ) - -313  - #NEIGHBOR_SOLICITATION_SET - 0x40000000 - - ) - -314 - eicmpv6_lšk_Ïy”_Add»ss_ty³ - { - -315 - me_Sourû_Lšk_Lay”_Add»ss - = 1, - -316 - me_T¬g‘_Lšk_Lay”_Add»ss -, - -317 - me_Lšk_Lay”_Add»ss - - -320 -ušt8_t - -is_muÉiÿ¡_v6_addr -(ušt8_ˆ -v6 -[]); - -321  - sicmpv6_pÜt_add»ss - { - -322 -ušt32_t - - mv6 -[16]; - -323 -ušt64_t - - mmac_addr -; - -326  -icmpv6_pÜt_add»ss - - gicmpv6_pÜt_add»s£s -[ -RTE_MAX_ETHPORTS -]; - -328  - #MAX_NUM_ICMPv6_ENTRIES - 64 - - ) - -330  -¹e_mbuf - * - glib_icmpv6_pkt -; - -331  -»que¡_icmpv6_echo -( -ušt32_t - -pÜt_id -, -ušt8_t - -v6 -[]); - -332  -»que¡_icmpv6_echo_mes§ge -( -ušt16_t - -pÜt_id -, -ušt8_t - -v6 -[], - -333  -‘h”_addr - * -gw_addr -); - -335 -´oûss_icmpv6_pkt -( -¹e_mbuf - * -pkt -, -ušt32_t - -out_pÜt -, ušt32_ˆ -pkt_num -); - -337  -g‘_de¡_mac_addr_pÜt -(cÚ¡ -ušt32_t - -addr -, - -338 -ušt32_t - * -phy_pÜt -,  -‘h”_addr - * -hw_addr -); - -340  -g‘_de¡_mac_add»ss_v6_pÜt -( -ušt8_t - -v6addr -[], -ušt32_t - * -phy_pÜt -, - -341  -‘h”_addr - * -hw_addr -, -ušt8_t - -nhv6 -[]); - - @VIL/pipeline_common/pipeline_common_be.c - -17  - ~<¹e_commÚ.h -> - -18  - ~<¹e_ršg.h -> - -19  - ~<¹e_m®loc.h -> - -21  - ~"p–še_commÚ_be.h -" - -24 - $p–še_msg_»q_pšg_hªdËr -( -__¹e_unu£d -  -p–še - * -p -, - -25 * -msg -) - -27  -p–še_msg_r¥ - * -r¥ - = -msg -; - -29 -r¥ --> -¡©us - = 0; - -31  -r¥ -; - -32 - } -} - -35 - $p–še_msg_»q_¡©s_pÜt_š_hªdËr -( -p–še - * -p -, - -36 * -msg -) - -38  -p–še_¡©s_msg_»q - * -»q - = -msg -; - -39  -p–še_¡©s_pÜt_š_msg_r¥ - * -r¥ - = -msg -; - -40 -ušt32_t - -pÜt_id -; - -43 ià( -»q --> -id - >ð -p --> -n_pÜts_š -) { - -44 -r¥ --> -¡©us - = -1; - -45  -r¥ -; - -47 -pÜt_id - = -p --> -pÜt_š_id -[ -»q --> -id -]; - -50 -r¥ --> -¡©us - = - `¹e_p–še_pÜt_š_¡©s_»ad -( -p -->p, - -51 -pÜt_id -, - -52 & -r¥ --> -¡©s -, - -55  -r¥ -; - -56 - } -} - -59 - $p–še_msg_»q_¡©s_pÜt_out_hªdËr -( -p–še - * -p -, - -60 * -msg -) - -62  -p–še_¡©s_msg_»q - * -»q - = -msg -; - -63  -p–še_¡©s_pÜt_out_msg_r¥ - * -r¥ - = -msg -; - -64 -ušt32_t - -pÜt_id -; - -67 ià( -»q --> -id - >ð -p --> -n_pÜts_out -) { - -68 -r¥ --> -¡©us - = -1; - -69  -r¥ -; - -71 -pÜt_id - = -p --> -pÜt_out_id -[ -»q --> -id -]; - -74 -r¥ --> -¡©us - = - `¹e_p–še_pÜt_out_¡©s_»ad -( -p -->p, - -75 -pÜt_id -, - -76 & -r¥ --> -¡©s -, - -79  -r¥ -; - -80 - } -} - -83 - $p–še_msg_»q_¡©s_bË_hªdËr -( -p–še - * -p -, - -84 * -msg -) - -86  -p–še_¡©s_msg_»q - * -»q - = -msg -; - -87  -p–še_¡©s_bË_msg_r¥ - * -r¥ - = -msg -; - -88 -ušt32_t - -bË_id -; - -91 ià( -»q --> -id - >ð -p --> -n_bËs -) { - -92 -r¥ --> -¡©us - = -1; - -93  -r¥ -; - -95 -bË_id - = -p -->bË_id[ -»q --> -id -]; - -98 -r¥ --> -¡©us - = - `¹e_p–še_bË_¡©s_»ad -( -p -->p, - -99 -bË_id -, - -100 & -r¥ --> -¡©s -, - -103  -r¥ -; - -104 - } -} - -107 - $p–še_msg_»q_pÜt_š_’abË_hªdËr -( -p–še - * -p -, - -108 * -msg -) - -110  -p–še_pÜt_š_msg_»q - * -»q - = -msg -; - -111  -p–še_msg_r¥ - * -r¥ - = -msg -; - -112 -ušt32_t - -pÜt_id -; - -115 ià( -»q --> -pÜt_id - >ð -p --> -n_pÜts_š -) { - -116 -r¥ --> -¡©us - = -1; - -117  -r¥ -; - -119 -pÜt_id - = -p --> -pÜt_š_id -[ -»q -->port_id]; - -122 -r¥ --> -¡©us - = - `¹e_p–še_pÜt_š_’abË -( -p -->p, - -123 -pÜt_id -); - -125  -r¥ -; - -126 - } -} - -129 - $p–še_msg_»q_pÜt_š_di§bË_hªdËr -( -p–še - * -p -, - -130 * -msg -) - -132  -p–še_pÜt_š_msg_»q - * -»q - = -msg -; - -133  -p–še_msg_r¥ - * -r¥ - = -msg -; - -134 -ušt32_t - -pÜt_id -; - -137 ià( -»q --> -pÜt_id - >ð -p --> -n_pÜts_š -) { - -138 -r¥ --> -¡©us - = -1; - -139  -r¥ -; - -141 -pÜt_id - = -p --> -pÜt_š_id -[ -»q -->port_id]; - -144 -r¥ --> -¡©us - = - `¹e_p–še_pÜt_š_di§bË -( -p -->p, - -145 -pÜt_id -); - -147  -r¥ -; - -148 - } -} - -151 - $p–še_msg_»q_šv®id_hªdËr -( -__¹e_unu£d -  -p–še - * -p -, - -152 * -msg -) - -154  -p–še_msg_r¥ - * -r¥ - = -msg -; - -156 -r¥ --> -¡©us - = -1; - -158  -r¥ -; - -159 - } -} - -162 - $p–še_msg_»q_hªdË -( -p–še - * -p -) - -164 -ušt32_t - -msgq_id -; - -166  -msgq_id - = 0; msgq_id < -p --> -n_msgq -; msgq_id++) { - -168  -p–še_msg_»q - * -»q -; - -169 -p–še_msg_»q_hªdËr - -f_hªdË -; - -171 -»q - = - `p–še_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–še_msg_»q_šv®id_hªdËr -; - -179 ià( -f_hªdË - =ð -NULL -) - -180 -f_hªdË - = -p–še_msg_»q_šv®id_hªdËr -; - -182 - `p–še_msg_£nd -( -p -, - -183 -msgq_id -, - -184 - `f_hªdË -( -p -, (*è -»q -)); - -189 - } -} - - @VIL/pipeline_common/pipeline_common_be.h - -17 #iâdeà -__INCLUDE_PIPELINE_COMMON_BE_H__ - - -18  - #__INCLUDE_PIPELINE_COMMON_BE_H__ - - - ) - -20  - ~<¹e_commÚ.h -> - -21  - ~<¹e_ršg.h -> - -22  - ~<¹e_p–še.h -> - -24  - ~"p–še_be.h -" - -26  - gp–še -; - -28 - ep–še_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 *(* - tp–še_msg_»q_hªdËr -)( - tp–še - * - tp -, * - tmsg -); - -41  - sp–še - { - -42  -¹e_p–še - * - mp -; - -43 -ušt32_t - - mpÜt_š_id -[ -PIPELINE_MAX_PORT_IN -]; - -44 -ušt32_t - - mpÜt_out_id -[ -PIPELINE_MAX_PORT_OUT -]; - -45 -ušt32_t - - mbË_id -[ -PIPELINE_MAX_TABLES -]; - -46  -¹e_ršg - * - mmsgq_š -[ -PIPELINE_MAX_MSGQ_IN -]; - -47  -¹e_ršg - * - mmsgq_out -[ -PIPELINE_MAX_MSGQ_OUT -]; - -49 -ušt32_t - - mn_pÜts_š -; - -50 -ušt32_t - - mn_pÜts_out -; - -51 -ušt32_t - - mn_bËs -; - -52 -ušt32_t - - mn_msgq -; - -54 -p–še_msg_»q_hªdËr - - mhªdËrs -[ -PIPELINE_MSG_REQS -]; - -55  - mÇme -[ -PIPELINE_NAME_SIZE -]; - -56 -ušt32_t - - mlog_Ëv– -; - -59 - ep–še_log_Ëv– - { - -60 - mPIPELINE_LOG_LEVEL_HIGH - = 1, - -61 - mPIPELINE_LOG_LEVEL_LOW -, - -62 - mPIPELINE_LOG_LEVELS - - -65  - #PLOG -( -p -, -Ëv– -, -fmt -, ...) \ - -67 ià( -p --> -log_Ëv– - >ð -PIPELINE_LOG_LEVEL_ - ## -Ëv– -) \ - -68 - `årštf -( -¡dout -, "[%s] " -fmt - "\n", -p --> -Çme -, ## -__VA_ARGS__ -);\ - -69 } 0) - - ) - -71  -šlše - * - -72 - $p–še_msg_»cv -( -p–še - * -p -, - -73 -ušt32_t - -msgq_id -) - -75  -¹e_ršg - * -r - = -p --> -msgq_š -[ -msgq_id -]; - -76 * -msg -; - -77  -¡©us - = - `¹e_ršg_sc_dequeue -( -r -, & -msg -); - -79 ià( -¡©us - != 0) - -80  -NULL -; - -82  -msg -; - -83 - } -} - -85  -šlše -  - -86 - $p–še_msg_£nd -( -p–še - * -p -, - -87 -ušt32_t - -msgq_id -, - -88 * -msg -) - -90  -¹e_ršg - * -r - = -p --> -msgq_out -[ -msgq_id -]; - -91  -¡©us -; - -94 -¡©us - = - `¹e_ršg_¥_’queue -( -r -, -msg -); - -95 }  -¡©us - =ð- -ENOBUFS -); - -96 - } -} - -98  - sp–še_msg_»q - { - -99 -p–še_msg_»q_ty³ - - mty³ -; - -102  - sp–še_¡©s_msg_»q - { - -103 -p–še_msg_»q_ty³ - - mty³ -; - -104 -ušt32_t - - mid -; - -107  - sp–še_pÜt_š_msg_»q - { - -108 -p–še_msg_»q_ty³ - - mty³ -; - -109 -ušt32_t - - mpÜt_id -; - -112  - sp–še_cu¡om_msg_»q - { - -113 -p–še_msg_»q_ty³ - - mty³ -; - -114 -ušt32_t - - msubty³ -; - -117  - sp–še_msg_r¥ - { - -118  - m¡©us -; - -121  - sp–še_¡©s_pÜt_š_msg_r¥ - { - -122  - m¡©us -; - -123  -¹e_p–še_pÜt_š_¡©s - - m¡©s -; - -126  - sp–še_¡©s_pÜt_out_msg_r¥ - { - -127  - m¡©us -; - -128  -¹e_p–še_pÜt_out_¡©s - - m¡©s -; - -131  - sp–še_¡©s_bË_msg_r¥ - { - -132  - m¡©us -; - -133  -¹e_p–še_bË_¡©s - - m¡©s -; - -136 * -p–še_msg_»q_pšg_hªdËr -( -p–še - * -p -, * -msg -); - -137 * -p–še_msg_»q_¡©s_pÜt_š_hªdËr -( -p–še - * -p -, * -msg -); - -138 * -p–še_msg_»q_¡©s_pÜt_out_hªdËr -( -p–še - * -p -, * -msg -); - -139 * -p–še_msg_»q_¡©s_bË_hªdËr -( -p–še - * -p -, * -msg -); - -140 * -p–še_msg_»q_pÜt_š_’abË_hªdËr -( -p–še - * -p -, * -msg -); - -141 * -p–še_msg_»q_pÜt_š_di§bË_hªdËr -( -p–še - * -p -, * -msg -); - -142 * -p–še_msg_»q_šv®id_hªdËr -( -p–še - * -p -, * -msg -); - -144  -p–še_msg_»q_hªdË -( -p–še - * -p -); - - @VIL/pipeline_common/pipeline_common_fe.c - -17  - ~<¡dio.h -> - -18  - ~ - -19  - ~ - -21  - ~<¹e_commÚ.h -> - -22  - ~<¹e_ršg.h -> - -23  - ~<¹e_m®loc.h -> - -24  - ~ - -25  - ~ - -26  - ~ - -27  - ~ - -28  - ~ - -29  - ~ - -30  - ~ - -31  - ~ - -33  - ~"p–še_commÚ_ã.h -" - -34 #iâdeà -VNF_ACL - - -35  - ~"š‹rçû.h -" - -39 - $­p_p–še_pšg -( -­p_·¿ms - * -­p -, - -40 -ušt32_t - -p–še_id -) - -42  -­p_p–še_·¿ms - * -p -; - -43  -p–še_msg_»q - * -»q -; - -44  -p–še_msg_r¥ - * -r¥ -; - -45  -¡©us - = 0; - -48 ià( -­p - =ð -NULL -) - -51 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, "PIPELINE", -p–še_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–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -65 ià( -r¥ - =ð -NULL -) - -69 -¡©us - = -r¥ -->status; - -72 - `­p_msg_ä“ -( -­p -, -r¥ -); - -74  -¡©us -; - -75 - } -} - -78 - $­p_p–še_¡©s_pÜt_š -( -­p_·¿ms - * -­p -, - -79 -ušt32_t - -p–še_id -, - -80 -ušt32_t - -pÜt_id -, - -81  -¹e_p–še_pÜt_š_¡©s - * -¡©s -) - -83  -­p_p–še_·¿ms - * -p -; - -84  -p–še_¡©s_msg_»q - * -»q -; - -85  -p–še_¡©s_pÜt_š_msg_r¥ - * -r¥ -; - -86  -¡©us - = 0; - -89 ià(( -­p - =ð -NULL -) || - -90 ( -¡©s - =ð -NULL -)) - -93 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, "PIPELINE", -p–še_id -, -p -); - -94 ià(( -p - =ð -NULL -) || - -95 ( -pÜt_id - >ð -p --> -n_pktq_š -)) - -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¥ - = ( -p–še_¡©s_pÜt_š_msg_r¥ - *) - -109 - `­p_msg_£nd_»cv -( -­p -, -p–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -110 ià( -r¥ - =ð -NULL -) - -114 -¡©us - = -r¥ -->status; - -115 ià( -¡©us - == 0) - -116 - `memýy -( -¡©s -, & -r¥ -->stats, (rsp->stats)); - -119 - `­p_msg_ä“ -( -­p -, -r¥ -); - -121  -¡©us -; - -122 - } -} - -125 - $­p_p–še_¡©s_pÜt_out -( -­p_·¿ms - * -­p -, - -126 -ušt32_t - -p–še_id -, - -127 -ušt32_t - -pÜt_id -, - -128  -¹e_p–še_pÜt_out_¡©s - * -¡©s -) - -130  -­p_p–še_·¿ms - * -p -; - -131  -p–še_¡©s_msg_»q - * -»q -; - -132  -p–še_¡©s_pÜt_out_msg_r¥ - * -r¥ -; - -133  -¡©us - = 0; - -136 ià(( -­p - =ð -NULL -) || - -137 ( -p–še_id - >ð -­p --> -n_p–šes -) || - -138 ( -¡©s - =ð -NULL -)) - -141 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, "PIPELINE", -p–še_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–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -157 ià( -r¥ - =ð -NULL -) - -161 -¡©us - = -r¥ -->status; - -162 ià( -¡©us - == 0) - -163 - `memýy -( -¡©s -, & -r¥ -->stats, (rsp->stats)); - -166 - `­p_msg_ä“ -( -­p -, -r¥ -); - -168  -¡©us -; - -169 - } -} - -172 - $­p_p–še_¡©s_bË -( -­p_·¿ms - * -­p -, - -173 -ušt32_t - -p–še_id -, - -174 -ušt32_t - -bË_id -, - -175  -¹e_p–še_bË_¡©s - * -¡©s -) - -177  -­p_p–še_·¿ms - * -p -; - -178  -p–še_¡©s_msg_»q - * -»q -; - -179  -p–še_¡©s_bË_msg_r¥ - * -r¥ -; - -180  -¡©us - = 0; - -183 ià(( -­p - =ð -NULL -) || - -184 ( -¡©s - =ð -NULL -)) - -187 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, "PIPELINE", -p–še_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 - = -bË_id -; - -201 -r¥ - = - `­p_msg_£nd_»cv -( -­p -, -p–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -202 ià( -r¥ - =ð -NULL -) - -206 -¡©us - = -r¥ -->status; - -207 ià( -¡©us - == 0) - -208 - `memýy -( -¡©s -, & -r¥ -->stats, (rsp->stats)); - -211 - `­p_msg_ä“ -( -­p -, -r¥ -); - -213  -¡©us -; - -214 - } -} - -217 - $­p_p–še_pÜt_š_’abË -( -­p_·¿ms - * -­p -, - -218 -ušt32_t - -p–še_id -, - -219 -ušt32_t - -pÜt_id -) - -221  -­p_p–še_·¿ms - * -p -; - -222  -p–še_pÜt_š_msg_»q - * -»q -; - -223  -p–še_msg_r¥ - * -r¥ -; - -224  -¡©us - = 0; - -227 ià( -­p - =ð -NULL -) - -230 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, "PIPELINE", -p–še_id -, -p -); - -231 ià(( -p - =ð -NULL -) || - -232 ( -pÜt_id - >ð -p --> -n_pktq_š -)) - -236 -»q - = - `­p_msg_®loc -( -­p -); - -237 ià( -»q - =ð -NULL -) - -241 -»q --> -ty³ - = -PIPELINE_MSG_REQ_PORT_IN_ENABLE -; - -242 -»q --> -pÜt_id - =…ort_id; - -245 -r¥ - = - `­p_msg_£nd_»cv -( -­p -, -p–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -246 ià( -r¥ - =ð -NULL -) - -250 -¡©us - = -r¥ -->status; - -253 - `­p_msg_ä“ -( -­p -, -r¥ -); - -255  -¡©us -; - -256 - } -} - -259 - $­p_p–še_pÜt_š_di§bË -( -­p_·¿ms - * -­p -, - -260 -ušt32_t - -p–še_id -, - -261 -ušt32_t - -pÜt_id -) - -263  -­p_p–še_·¿ms - * -p -; - -264  -p–še_pÜt_š_msg_»q - * -»q -; - -265  -p–še_msg_r¥ - * -r¥ -; - -266  -¡©us - = 0; - -269 ià( -­p - =ð -NULL -) - -272 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, "PIPELINE", -p–še_id -, -p -); - -273 ià(( -p - =ð -NULL -) || - -274 ( -pÜt_id - >ð -p --> -n_pktq_š -)) - -278 -»q - = - `­p_msg_®loc -( -­p -); - -279 ià( -»q - =ð -NULL -) - -283 -»q --> -ty³ - = -PIPELINE_MSG_REQ_PORT_IN_DISABLE -; - -284 -»q --> -pÜt_id - =…ort_id; - -287 -r¥ - = - `­p_msg_£nd_»cv -( -­p -, -p–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -288 ià( -r¥ - =ð -NULL -) - -292 -¡©us - = -r¥ -->status; - -295 - `­p_msg_ä“ -( -­p -, -r¥ -); - -297  -¡©us -; - -298 - } -} - -301 - $­p_lšk_cÚfig -( -­p_·¿ms - * -­p -, - -302 -ušt32_t - -lšk_id -, - -303 -ušt32_t - - -, - -304 -ušt32_t - -d•th -) - -306  -­p_lšk_·¿ms - * -p -; - -307 -ušt32_t - -i -, -Ãtmask -, -ho¡ -, -bÿ¡ -; - -310 ià( -­p - =ð -NULL -) - -313 - `APP_PARAM_FIND_BY_ID -( -­p --> -lšk_·¿ms -, "LINK", -lšk_id -, -p -); - -314 ià( -p - =ð -NULL -) { - -315 - `APP_LOG -( -­p -, -HIGH -, "LINK%" -PRIu32 - " is‚ot‡ valid†ink", - -316 -lšk_id -); - -320 ià( -p --> -¡©e -) { - -321 - `APP_LOG -( -­p -, -HIGH -, "%s is UP,…lease bring it DOWN first", - -322 -p --> -Çme -); - -326 -Ãtmask - = (~0Uè<< (32 - -d•th -); - -327 -ho¡ - = - - & -Ãtmask -; - -328 -bÿ¡ - = -ho¡ - | (~ -Ãtmask -); - -330 ià(( - - == 0) || - -331 ( - - =ð -UINT32_MAX -) || - -332 ( - - =ð -ho¡ -) || - -333 ( - - =ð -bÿ¡ -)) { - -334 - `APP_LOG -( -­p -, -HIGH -, "Illegal IP‡ddress"); - -338  -i - = 0; i < -­p --> -n_lšks -; i++) { - -339  -­p_lšk_·¿ms - * -lšk - = & -­p --> -lšk_·¿ms -[ -i -]; - -340 -mylšk -[ -i -] = * -lšk -; - -341 ià( - `¡rcmp -( -p --> -Çme -, -lšk -->name) == 0) - -344 ià( -lšk --> - - == ip) { - -345 - `APP_LOG -( -­p -, -HIGH -, - -347 -lšk --> -Çme -); - -352 ià(( -d•th - == 0) || (depth > 32)) { - -353 - `APP_LOG -( -­p -, -HIGH -, "Illegal value for depth…arameter " - -354 "(%" -PRIu32 - ")", - -355 -d•th -); - -360 -p --> - - = ip; - -361 -p --> -d•th - = depth; - -362 #iâdeà -VNF_ACL - - -363 ià( - `ifm_add_v4_pÜt -( -lšk_id -, - `¹e_bsw­32 -( - -), -d•th -è=ð -IFM_FAILURE -) - -368 - } -} - -371  - $cÚv”t_´efixËn_to_Ãtmask_v6 -( -ušt32_t - -d•th -, -ušt8_t - -Ãtmask_v6 -[]) - -373  -mod -, -div -, -i -; - -375 - `mem£t -( -Ãtmask_v6 -, 0, 16); - -377 -mod - = -d•th - % 8; - -378 -div - = -d•th - / 8; - -380  -i - = 0; i < -div -; i++) - -381 -Ãtmask_v6 -[ -i -] = 0xff; - -383 -Ãtmask_v6 -[ -i -] = (~0 << (8 - -mod -)); - -386 - } -} - -389 - $g‘_ho¡_pÜtiÚ_v6 -( -ušt8_t - -v6 -[], ušt8_ˆ -Ãtmask -[], ušt8_ˆ -ho¡_v6 -[]) - -391  -i -; - -393  -i - = 0; i < 16; i++) { - -394 -ho¡_v6 -[ -i -] = -v6 -[i] & -Ãtmask -[i]; - -398 - } -} - -401 - $g‘_bÿ¡_pÜtiÚ_v6 -( -ušt8_t - -ho¡ -[], ušt8_ˆ -Ãtmask -[], ušt8_ˆ -bÿ¡_v6 -[]) - -403  -i -; - -405  -i - = 0; i < 16; i++) { - -406 -bÿ¡_v6 -[ -i -] = -ho¡ -[i] | ~ -Ãtmask -[i]; - -410 - } -} - -413 - $­p_lšk_cÚfig_v6 -( -­p_·¿ms - * -­p -, - -414 -ušt32_t - -lšk_id -, -ušt8_t - -v6 -[], ušt32_ˆ -d•th -) - -416  -­p_lšk_·¿ms - * -p -; - -417 -ušt32_t - -i -; - -418 -ušt8_t - -Ãtmask_v6 -[16], -ho¡ -[16], -bÿ¡ -[16]; - -421 ià( -­p - =ð -NULL -) - -424 - `APP_PARAM_FIND_BY_ID -( -­p --> -lšk_·¿ms -, "LINK", -lšk_id -, -p -); - -425 ià( -p - =ð -NULL -) { - -426 - `APP_LOG -( -­p -, -HIGH -, "LINK%" -PRIu32 - " is‚ot‡ valid†ink", - -427 -lšk_id -); - -431 ià( -p --> -¡©e -) { - -432 - `APP_LOG -( -­p -, -HIGH -, "%s is UP,…lease bring it DOWN first", - -433 -p --> -Çme -); - -437 - `cÚv”t_´efixËn_to_Ãtmask_v6 -( -d•th -, -Ãtmask_v6 -); - -438 - `g‘_ho¡_pÜtiÚ_v6 -( -v6 -, -Ãtmask_v6 -, -ho¡ -); - -439 - `g‘_bÿ¡_pÜtiÚ_v6 -( -ho¡ -, -Ãtmask_v6 -, -bÿ¡ -); - -441  -i - = 0; i < -­p --> -n_lšks -; i++) { - -442  -­p_lšk_·¿ms - * -lšk - = & -­p --> -lšk_·¿ms -[ -i -]; - -444 ià( - `¡rcmp -( -p --> -Çme -, -lšk -->name) == 0) - -447 ià(! - `memcmp -( -lšk --> -v6 -, ipv6, 16)) { - -448 - `APP_LOG -( -­p -, -HIGH -, - -450 -lšk --> -Çme -); - -455 ià(( -d•th - == 0) || (depth > 128)) { - -456 - `APP_LOG -( -­p -, -HIGH -, "Illegal value for depth…arameter " - -457 "(%" -PRIu32 - ")", -d•th -); - -462 - `memýy -( -p --> -v6 -, ipv6, 16); - -464 -p --> -d•th_v6 - = -d•th -; - -471 #iâdeà -VNF_ACL - - -472 ià( - `ifm_add_v6_pÜt -( -lšk_id -, -v6 -, -d•th -è=ð -IFM_FAILURE -) - -476 - } -} - -479 - $­p_lšk_up -( -­p_·¿ms - * -­p -, - -480 -ušt32_t - -lšk_id -) - -482  -­p_lšk_·¿ms - * -p -; - -485 ià( -­p - =ð -NULL -) - -488 - `APP_PARAM_FIND_BY_ID -( -­p --> -lšk_·¿ms -, "LINK", -lšk_id -, -p -); - -489 ià( -p - =ð -NULL -) { - -490 - `APP_LOG -( -­p -, -HIGH -, "LINK%" -PRIu32 - " is‚ot‡ valid†ink", - -491 -lšk_id -); - -496 ià( -p --> -¡©e -) { - -497 - `APP_LOG -( -­p -, -HIGH -, "% i ®»ady UP", -p --> -Çme -); - -502 -ušt8_t - -‹mp -[16]; - -504 - `mem£t -( -‹mp -, 0, 16); - -506 ià(( -p --> - - || - `memcmp -Õ-> -v6 -, -‹mp -, 16)) == 0) { - -507 - `APP_LOG -( -­p -, -HIGH -, "% IP‡dd»s i nÙ s‘", -p --> -Çme -); - -511 - `­p_lšk_up_š‹º® -( -­p -, -p -); - -514 - } -} - -517 - $­p_lšk_down -( -­p_·¿ms - * -­p -, - -518 -ušt32_t - -lšk_id -) - -520  -­p_lšk_·¿ms - * -p -; - -523 ià( -­p - =ð -NULL -) - -526 - `APP_PARAM_FIND_BY_ID -( -­p --> -lšk_·¿ms -, "LINK", -lšk_id -, -p -); - -527 ià( -p - =ð -NULL -) { - -528 - `APP_LOG -( -­p -, -HIGH -, "LINK%" -PRIu32 - " is‚ot‡ valid†ink", - -529 -lšk_id -); - -534 ià( -p --> -¡©e - == 0) { - -535 - `APP_LOG -( -­p -, -HIGH -, "% i ®»ady DOWN", -p --> -Çme -); - -539 - `­p_lšk_down_š‹º® -( -­p -, -p -); - -542 - } -} - -548  - scmd_pšg_»suÉ - { - -549 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -550 -ušt32_t - - mp–še_id -; - -551 -cmdlše_fixed_¡ršg_t - - mpšg_¡ršg -; - -555 - $cmd_pšg_·r£d -( - -556 * -·r£d_»suÉ -, - -557 -__¹e_unu£d -  -cmdlše - * -þ -, - -558 * -d©a -) - -560  -cmd_pšg_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -561  -­p_·¿ms - * -­p - = -d©a -; - -562  -¡©us -; - -564 -¡©us - = - `­p_p–še_pšg -( -­p -, -·¿ms --> -p–še_id -); - -565 ià( -¡©us - != 0) - -566 - `´štf -("Command failed\n"); - -567 - } -} - -569 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pšg_p_¡ršg - = - -570 -TOKEN_STRING_INITIALIZER -( -cmd_pšg_»suÉ -, -p_¡ršg -, "p"); - -572 -cmdlše_·r£_tok’_num_t - - gcmd_pšg_p–še_id - = - -573 -TOKEN_NUM_INITIALIZER -( -cmd_pšg_»suÉ -, -p–še_id -, -UINT32 -); - -575 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pšg_pšg_¡ršg - = - -576 -TOKEN_STRING_INITIALIZER -( -cmd_pšg_»suÉ -, -pšg_¡ršg -, "ping"); - -578 -cmdlše_·r£_š¡_t - - gcmd_pšg - = { - -579 . -f - = -cmd_pšg_·r£d -, - -580 . - gd©a - = -NULL -, - -581 . - gh–p_¡r - = "Pipeline…ing", - -582 . - gtok’s - = { - -583 (*è& -cmd_pšg_p_¡ršg -, - -584 (*è& -cmd_pšg_p–še_id -, - -585 (*è& -cmd_pšg_pšg_¡ršg -, - -586 -NULL -, - -594  - scmd_¡©s_pÜt_š_»suÉ - { - -595 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -596 -ušt32_t - - mp–še_id -; - -597 -cmdlše_fixed_¡ršg_t - - m¡©s_¡ršg -; - -598 -cmdlše_fixed_¡ršg_t - - mpÜt_¡ršg -; - -599 -cmdlše_fixed_¡ršg_t - - mš_¡ršg -; - -600 -ušt32_t - - mpÜt_š_id -; - -604 - $cmd_¡©s_pÜt_š_·r£d -( - -605 * -·r£d_»suÉ -, - -606 -__¹e_unu£d -  -cmdlše - * -þ -, - -607 * -d©a -) - -609  -cmd_¡©s_pÜt_š_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -610  -­p_·¿ms - * -­p - = -d©a -; - -611  -¹e_p–še_pÜt_š_¡©s - -¡©s -; - -612  -¡©us -; - -614 -¡©us - = - `­p_p–še_¡©s_pÜt_š -( -­p -, - -615 -·¿ms --> -p–še_id -, - -616 -·¿ms --> -pÜt_š_id -, - -617 & -¡©s -); - -619 ià( -¡©us - != 0) { - -620 - `´štf -("Command failed\n"); - -625 - `´štf -("P–š%" -PRIu32 - " - stats for input…ort %" PRIu32 ":\n" - -626 "\tPkt š: %" -PRIu64 - "\n" - -627 "\tPkt drݳd by AH: %" -PRIu64 - "\n" - -628 "\tPkt drݳd by oth”: %" -PRIu64 - "\n", - -629 -·¿ms --> -p–še_id -, - -630 -·¿ms --> -pÜt_š_id -, - -631 -¡©s -.¡©s. -n_pkts_š -, - -632 -¡©s -. -n_pkts_drݳd_by_ah -, - -633 -¡©s -.¡©s. -n_pkts_drÝ -); - -634 - } -} - -636 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_pÜt_š_p_¡ršg - = - -637 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_pÜt_š_»suÉ -, -p_¡ršg -, - -640 -cmdlše_·r£_tok’_num_t - - gcmd_¡©s_pÜt_š_p–še_id - = - -641 -TOKEN_NUM_INITIALIZER -( -cmd_¡©s_pÜt_š_»suÉ -, -p–še_id -, - -642 -UINT32 -); - -644 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_pÜt_š_¡©s_¡ršg - = - -645 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_pÜt_š_»suÉ -, -¡©s_¡ršg -, - -648 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_pÜt_š_pÜt_¡ršg - = - -649 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_pÜt_š_»suÉ -, -pÜt_¡ršg -, - -652 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_pÜt_š_š_¡ršg - = - -653 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_pÜt_š_»suÉ -, -š_¡ršg -, - -656 -cmdlše_·r£_tok’_num_t - - gcmd_¡©s_pÜt_š_pÜt_š_id - = - -657 -TOKEN_NUM_INITIALIZER -( -cmd_¡©s_pÜt_š_»suÉ -, -pÜt_š_id -, - -658 -UINT32 -); - -660 -cmdlše_·r£_š¡_t - - gcmd_¡©s_pÜt_š - = { - -661 . -f - = -cmd_¡©s_pÜt_š_·r£d -, - -662 . - gd©a - = -NULL -, - -663 . - gh–p_¡r - = "Pipeline input…ort stats", - -664 . - gtok’s - = { - -665 (*è& -cmd_¡©s_pÜt_š_p_¡ršg -, - -666 (*è& -cmd_¡©s_pÜt_š_p–še_id -, - -667 (*è& -cmd_¡©s_pÜt_š_¡©s_¡ršg -, - -668 (*è& -cmd_¡©s_pÜt_š_pÜt_¡ršg -, - -669 (*è& -cmd_¡©s_pÜt_š_š_¡ršg -, - -670 (*è& -cmd_¡©s_pÜt_š_pÜt_š_id -, - -671 -NULL -, - -679  - scmd_¡©s_pÜt_out_»suÉ - { - -680 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -681 -ušt32_t - - mp–še_id -; - -682 -cmdlše_fixed_¡ršg_t - - m¡©s_¡ršg -; - -683 -cmdlše_fixed_¡ršg_t - - mpÜt_¡ršg -; - -684 -cmdlše_fixed_¡ršg_t - - mout_¡ršg -; - -685 -ušt32_t - - mpÜt_out_id -; - -689 - $cmd_¡©s_pÜt_out_·r£d -( - -690 * -·r£d_»suÉ -, - -691 -__¹e_unu£d -  -cmdlše - * -þ -, - -692 * -d©a -) - -695  -cmd_¡©s_pÜt_out_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -696  -­p_·¿ms - * -­p - = -d©a -; - -697  -¹e_p–še_pÜt_out_¡©s - -¡©s -; - -698  -¡©us -; - -700 -¡©us - = - `­p_p–še_¡©s_pÜt_out -( -­p -, - -701 -·¿ms --> -p–še_id -, - -702 -·¿ms --> -pÜt_out_id -, - -703 & -¡©s -); - -705 ià( -¡©us - != 0) { - -706 - `´štf -("Command failed\n"); - -711 - `´štf -("P–š%" -PRIu32 - " - stats for output…ort %" PRIu32 ":\n" - -712 "\tPkt š: %" -PRIu64 - "\n" - -713 "\tPkt drݳd by AH: %" -PRIu64 - "\n" - -714 "\tPkt drݳd by oth”: %" -PRIu64 - "\n", - -715 -·¿ms --> -p–še_id -, - -716 -·¿ms --> -pÜt_out_id -, - -717 -¡©s -.¡©s. -n_pkts_š -, - -718 -¡©s -. -n_pkts_drݳd_by_ah -, - -719 -¡©s -.¡©s. -n_pkts_drÝ -); - -720 - } -} - -722 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_pÜt_out_p_¡ršg - = - -723 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_pÜt_out_»suÉ -, -p_¡ršg -, - -726 -cmdlše_·r£_tok’_num_t - - gcmd_¡©s_pÜt_out_p–še_id - = - -727 -TOKEN_NUM_INITIALIZER -( -cmd_¡©s_pÜt_out_»suÉ -, -p–še_id -, - -728 -UINT32 -); - -730 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_pÜt_out_¡©s_¡ršg - = - -731 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_pÜt_out_»suÉ -, -¡©s_¡ršg -, - -734 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_pÜt_out_pÜt_¡ršg - = - -735 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_pÜt_out_»suÉ -, -pÜt_¡ršg -, - -738 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_pÜt_out_out_¡ršg - = - -739 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_pÜt_out_»suÉ -, -out_¡ršg -, - -742 -cmdlše_·r£_tok’_num_t - - gcmd_¡©s_pÜt_out_pÜt_out_id - = - -743 -TOKEN_NUM_INITIALIZER -( -cmd_¡©s_pÜt_out_»suÉ -, -pÜt_out_id -, - -744 -UINT32 -); - -746 -cmdlše_·r£_š¡_t - - gcmd_¡©s_pÜt_out - = { - -747 . -f - = -cmd_¡©s_pÜt_out_·r£d -, - -748 . - gd©a - = -NULL -, - -749 . - gh–p_¡r - = "Pipeline output…ort stats", - -750 . - gtok’s - = { - -751 (*è& -cmd_¡©s_pÜt_out_p_¡ršg -, - -752 (*è& -cmd_¡©s_pÜt_out_p–še_id -, - -753 (*è& -cmd_¡©s_pÜt_out_¡©s_¡ršg -, - -754 (*è& -cmd_¡©s_pÜt_out_pÜt_¡ršg -, - -755 (*è& -cmd_¡©s_pÜt_out_out_¡ršg -, - -756 (*è& -cmd_¡©s_pÜt_out_pÜt_out_id -, - -757 -NULL -, - -765  - scmd_¡©s_bË_»suÉ - { - -766 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -767 -ušt32_t - - mp–še_id -; - -768 -cmdlše_fixed_¡ršg_t - - m¡©s_¡ršg -; - -769 -cmdlše_fixed_¡ršg_t - - mbË_¡ršg -; - -770 -ušt32_t - - mbË_id -; - -774 - $cmd_¡©s_bË_·r£d -( - -775 * -·r£d_»suÉ -, - -776 -__¹e_unu£d -  -cmdlše - * -þ -, - -777 * -d©a -) - -779  -cmd_¡©s_bË_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -780  -­p_·¿ms - * -­p - = -d©a -; - -781  -¹e_p–še_bË_¡©s - -¡©s -; - -782  -¡©us -; - -784 -¡©us - = - `­p_p–še_¡©s_bË -( -­p -, - -785 -·¿ms --> -p–še_id -, - -786 -·¿ms --> -bË_id -, - -787 & -¡©s -); - -789 ià( -¡©us - != 0) { - -790 - `´štf -("Command failed\n"); - -795 - `´štf -("P–š%" -PRIu32 - " - stats forable %" PRIu32 ":\n" - -796 "\tPkt š: %" -PRIu64 - "\n" - -797 "\tPkt š w™h†ooku°miss: %" -PRIu64 - "\n" - -798 "\tPkt š w™h†ooku°h™ drݳd by AH: %" -PRIu64 - "\n" - -799 "\tPkt š w™h†ooku°h™ drݳd by oth”s: %" -PRIu64 - "\n" - -800 "\tPkt š w™h†ooku°mis drݳd by AH: %" -PRIu64 - "\n" - -801 "\tPkt š w™h†ooku°mis drݳd by oth”s: %" -PRIu64 - "\n", - -802 -·¿ms --> -p–še_id -, - -803 -·¿ms --> -bË_id -, - -804 -¡©s -.¡©s. -n_pkts_š -, - -805 -¡©s -.¡©s. -n_pkts_lookup_miss -, - -806 -¡©s -. -n_pkts_drݳd_by_lkp_h™_ah -, - -807 -¡©s -. -n_pkts_drݳd_lkp_h™ -, - -808 -¡©s -. -n_pkts_drݳd_by_lkp_miss_ah -, - -809 -¡©s -. -n_pkts_drݳd_lkp_miss -); - -810 - } -} - -812 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_bË_p_¡ršg - = - -813 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_bË_»suÉ -, -p_¡ršg -, - -816 -cmdlše_·r£_tok’_num_t - - gcmd_¡©s_bË_p–še_id - = - -817 -TOKEN_NUM_INITIALIZER -( -cmd_¡©s_bË_»suÉ -, -p–še_id -, - -818 -UINT32 -); - -820 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_bË_¡©s_¡ršg - = - -821 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_bË_»suÉ -, -¡©s_¡ršg -, - -824 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¡©s_bË_bË_¡ršg - = - -825 -TOKEN_STRING_INITIALIZER -( -cmd_¡©s_bË_»suÉ -, -bË_¡ršg -, - -828 -cmdlše_·r£_tok’_num_t - - gcmd_¡©s_bË_bË_id - = - -829 -TOKEN_NUM_INITIALIZER -( -cmd_¡©s_bË_»suÉ -, -bË_id -, -UINT32 -); - -831 -cmdlše_·r£_š¡_t - - gcmd_¡©s_bË - = { - -832 . -f - = -cmd_¡©s_bË_·r£d -, - -833 . - gd©a - = -NULL -, - -834 . - gh–p_¡r - = "Pipelineable stats", - -835 . - gtok’s - = { - -836 (*è& -cmd_¡©s_bË_p_¡ršg -, - -837 (*è& -cmd_¡©s_bË_p–še_id -, - -838 (*è& -cmd_¡©s_bË_¡©s_¡ršg -, - -839 (*è& -cmd_¡©s_bË_bË_¡ršg -, - -840 (*è& -cmd_¡©s_bË_bË_id -, - -841 -NULL -, - -849  - scmd_pÜt_š_’abË_»suÉ - { - -850 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -851 -ušt32_t - - mp–še_id -; - -852 -cmdlše_fixed_¡ršg_t - - mpÜt_¡ršg -; - -853 -cmdlše_fixed_¡ršg_t - - mš_¡ršg -; - -854 -ušt32_t - - mpÜt_š_id -; - -855 -cmdlše_fixed_¡ršg_t - - m’abË_¡ršg -; - -859 - $cmd_pÜt_š_’abË_·r£d -( - -860 * -·r£d_»suÉ -, - -861 -__¹e_unu£d -  -cmdlše - * -þ -, - -862 * -d©a -) - -864  -cmd_pÜt_š_’abË_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -865  -­p_·¿ms - * -­p - = -d©a -; - -866  -¡©us -; - -868 -¡©us - = - `­p_p–še_pÜt_š_’abË -( -­p -, - -869 -·¿ms --> -p–še_id -, - -870 -·¿ms --> -pÜt_š_id -); - -872 ià( -¡©us - != 0) - -873 - `´štf -("Command failed\n"); - -874 - } -} - -876 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pÜt_š_’abË_p_¡ršg - = - -877 -TOKEN_STRING_INITIALIZER -( -cmd_pÜt_š_’abË_»suÉ -, -p_¡ršg -, - -880 -cmdlše_·r£_tok’_num_t - - gcmd_pÜt_š_’abË_p–še_id - = - -881 -TOKEN_NUM_INITIALIZER -( -cmd_pÜt_š_’abË_»suÉ -, -p–še_id -, - -882 -UINT32 -); - -884 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pÜt_š_’abË_pÜt_¡ršg - = - -885 -TOKEN_STRING_INITIALIZER -( -cmd_pÜt_š_’abË_»suÉ -, -pÜt_¡ršg -, - -888 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pÜt_š_’abË_š_¡ršg - = - -889 -TOKEN_STRING_INITIALIZER -( -cmd_pÜt_š_’abË_»suÉ -, -š_¡ršg -, - -892 -cmdlše_·r£_tok’_num_t - - gcmd_pÜt_š_’abË_pÜt_š_id - = - -893 -TOKEN_NUM_INITIALIZER -( -cmd_pÜt_š_’abË_»suÉ -, -pÜt_š_id -, - -894 -UINT32 -); - -896 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pÜt_š_’abË_’abË_¡ršg - = - -897 -TOKEN_STRING_INITIALIZER -( -cmd_pÜt_š_’abË_»suÉ -, - -898 -’abË_¡ršg -, "enable"); - -900 -cmdlše_·r£_š¡_t - - gcmd_pÜt_š_’abË - = { - -901 . -f - = -cmd_pÜt_š_’abË_·r£d -, - -902 . - gd©a - = -NULL -, - -903 . - gh–p_¡r - = "Pipeline input…ortƒnable", - -904 . - gtok’s - = { - -905 (*è& -cmd_pÜt_š_’abË_p_¡ršg -, - -906 (*è& -cmd_pÜt_š_’abË_p–še_id -, - -907 (*è& -cmd_pÜt_š_’abË_pÜt_¡ršg -, - -908 (*è& -cmd_pÜt_š_’abË_š_¡ršg -, - -909 (*è& -cmd_pÜt_š_’abË_pÜt_š_id -, - -910 (*è& -cmd_pÜt_š_’abË_’abË_¡ršg -, - -911 -NULL -, - -919  - scmd_pÜt_š_di§bË_»suÉ - { - -920 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -921 -ušt32_t - - mp–še_id -; - -922 -cmdlše_fixed_¡ršg_t - - mpÜt_¡ršg -; - -923 -cmdlše_fixed_¡ršg_t - - mš_¡ršg -; - -924 -ušt32_t - - mpÜt_š_id -; - -925 -cmdlše_fixed_¡ršg_t - - mdi§bË_¡ršg -; - -929 - $cmd_pÜt_š_di§bË_·r£d -( - -930 * -·r£d_»suÉ -, - -931 -__¹e_unu£d -  -cmdlše - * -þ -, - -932 * -d©a -) - -934  -cmd_pÜt_š_di§bË_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -935  -­p_·¿ms - * -­p - = -d©a -; - -936  -¡©us -; - -938 -¡©us - = - `­p_p–še_pÜt_š_di§bË -( -­p -, - -939 -·¿ms --> -p–še_id -, - -940 -·¿ms --> -pÜt_š_id -); - -942 ià( -¡©us - != 0) - -943 - `´štf -("Command failed\n"); - -944 - } -} - -946 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pÜt_š_di§bË_p_¡ršg - = - -947 -TOKEN_STRING_INITIALIZER -( -cmd_pÜt_š_di§bË_»suÉ -, -p_¡ršg -, - -950 -cmdlše_·r£_tok’_num_t - - gcmd_pÜt_š_di§bË_p–še_id - = - -951 -TOKEN_NUM_INITIALIZER -( -cmd_pÜt_š_di§bË_»suÉ -, -p–še_id -, - -952 -UINT32 -); - -954 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pÜt_š_di§bË_pÜt_¡ršg - = - -955 -TOKEN_STRING_INITIALIZER -( -cmd_pÜt_š_di§bË_»suÉ -, -pÜt_¡ršg -, - -958 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pÜt_š_di§bË_š_¡ršg - = - -959 -TOKEN_STRING_INITIALIZER -( -cmd_pÜt_š_di§bË_»suÉ -, -š_¡ršg -, - -962 -cmdlše_·r£_tok’_num_t - - gcmd_pÜt_š_di§bË_pÜt_š_id - = - -963 -TOKEN_NUM_INITIALIZER -( -cmd_pÜt_š_di§bË_»suÉ -, -pÜt_š_id -, - -964 -UINT32 -); - -966 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_pÜt_š_di§bË_di§bË_¡ršg - = - -967 -TOKEN_STRING_INITIALIZER -( -cmd_pÜt_š_di§bË_»suÉ -, - -968 -di§bË_¡ršg -, "disable"); - -970 -cmdlše_·r£_š¡_t - - gcmd_pÜt_š_di§bË - = { - -971 . -f - = -cmd_pÜt_š_di§bË_·r£d -, - -972 . - gd©a - = -NULL -, - -973 . - gh–p_¡r - = "Pipeline input…ort disable", - -974 . - gtok’s - = { - -975 (*è& -cmd_pÜt_š_di§bË_p_¡ršg -, - -976 (*è& -cmd_pÜt_š_di§bË_p–še_id -, - -977 (*è& -cmd_pÜt_š_di§bË_pÜt_¡ršg -, - -978 (*è& -cmd_pÜt_š_di§bË_š_¡ršg -, - -979 (*è& -cmd_pÜt_š_di§bË_pÜt_š_id -, - -980 (*è& -cmd_pÜt_š_di§bË_di§bË_¡ršg -, - -981 -NULL -, - -990 - $´št_lšk_šfo -( -­p_lšk_·¿ms - * -p -) - -992  -¹e_‘h_¡©s - -¡©s -; - -993  -‘h”_addr - * -mac_addr -; - -994 -ušt32_t - -Ãtmask - = (~0Uè<< (32 - -p --> -d•th -); - -995 -ušt32_t - -ho¡ - = -p --> - - & -Ãtmask -; - -996 -ušt32_t - -bÿ¡ - = -ho¡ - | (~ -Ãtmask -); - -998 - `mem£t -(& -¡©s -, 0, (stats)); - -999 - `¹e_‘h_¡©s_g‘ -( -p --> -pmd_id -, & -¡©s -); - -1001 -mac_addr - = ( -‘h”_addr - *è& -p -->mac_addr; - -1003 ià( - `¡¾’ -( -p --> -pci_bdf -)) - -1004 - `´štf -("%s(%s): flags=<%s>\n", - -1005 -p --> -Çme -, - -1006 -p --> -pci_bdf -, - -1007 ( -p --> -¡©e -) ? "UP" : "DOWN"); - -1009 - `´štf -("%s: flags=<%s>\n", - -1010 -p --> -Çme -, - -1011 ( -p --> -¡©e -) ? "UP" : "DOWN"); - -1013 ià( -p --> - -) - -1014 - `´štf -("\tš‘ %" -PRIu32 - ".%" PRIu32 - -1015 ".%" -PRIu32 - ".%" PRIu32 - -1016 "‚‘mask %" -PRIu32 - ".%" PRIu32 - -1017 ".%" -PRIu32 - ".%" PRIu32 " " - -1018 "brßdÿ¡ %" -PRIu32 - ".%" PRIu32 - -1019 ".%" -PRIu32 - ".%" PRIu32 "\n", - -1020 ( -p --> - - >> 24) & 0xFF, - -1021 ( -p --> - - >> 16) & 0xFF, - -1022 ( -p --> - - >> 8) & 0xFF, - -1023 -p --> - - & 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 - `´štf -("\‹th” %02" -PRIx32 - ":%02" PRIx32 ":%02" PRIx32 - -1034 ":%02" -PRIx32 - ":%02" PRIx32 ":%02" PRIx32 "\n", - -1035 -mac_addr --> -addr_by‹s -[0], - -1036 -mac_addr --> -addr_by‹s -[1], - -1037 -mac_addr --> -addr_by‹s -[2], - -1038 -mac_addr --> -addr_by‹s -[3], - -1039 -mac_addr --> -addr_by‹s -[4], - -1040 -mac_addr --> -addr_by‹s -[5]); - -1042 - `´štf -("\tRX…ack‘ %" -PRIu64 - - -1043 " by‹ %" -PRIu64 - - -1045 -¡©s -. -ack‘s -, - -1046 -¡©s -. -iby‹s -); - -1048 - `´štf -("\tRXƒ¼Ü %" -PRIu64 - - -1049 " mis£d %" -PRIu64 - - -1050 "‚o-mbuà%" -PRIu64 - - -1052 -¡©s -. -›¼Üs -, - -1053 -¡©s -. -imis£d -, - -1054 -¡©s -. -rx_nombuf -); - -1056 - `´štf -("\tTX…ack‘ %" -PRIu64 - - -1057 " by‹ %" -PRIu64 - "\n", - -1058 -¡©s -. -Ýack‘s -, - -1059 -¡©s -. -oby‹s -); - -1061 - `´štf -("\tTXƒ¼Ü %" -PRIu64 - - -1063 -¡©s -. -Û¼Üs -); - -1065 - `´štf -("\n"); - -1066 - } -} - -1068  - scmd_lšk_cÚfig_»suÉ - { - -1069 -cmdlše_fixed_¡ršg_t - - mlšk_¡ršg -; - -1070 -ušt32_t - - mlšk_id -; - -1071 -cmdlše_fixed_¡ršg_t - - mcÚfig_¡ršg -; - -1072 -cmdlše_addr_t - - m -; - -1073 -ušt32_t - - md•th -; - -1077 -cmd_lšk_cÚfig_·r£d -( - -1078 * -·r£d_»suÉ -, - -1079 -__©Œibu‹__ -(( -unu£d -)è -cmdlše - * -þ -, - -1080 * -d©a -) - -1082  -cmd_lšk_cÚfig_»suÉ - * - g·¿ms - = -·r£d_»suÉ -; - -1083  -­p_·¿ms - * - g­p - = -d©a -; - -1084  - g¡©us -; - -1086 -ušt32_t - - glšk_id - = -·¿ms --> -lšk_id -; - -1087 -ušt32_t - - g -; - -1088 -ušt8_t - - gv6 -[16]; - -1089 ià( - g·¿ms --> - g -. - gçmžy - =ð -AF_INET -) - -1090 - - = -¹e_bsw­32 -(( -ušt32_t -è -·¿ms -->. -addr -. -v4 -. -s_addr -); - -1092 -memýy -( -v6 -, -·¿ms --> - -. -addr -.v6. -s6_addr -, 16); - -1094 -ušt32_t - - gd•th - = -·¿ms --> -d•th -; - -1096 ià( - g·¿ms --> - g -. - gçmžy - =ð -AF_INET -) - -1097 -¡©us - = -­p_lšk_cÚfig -( -­p -, -lšk_id -, - -, -d•th -); - -1099 - g¡©us - = -­p_lšk_cÚfig_v6 -( -­p -, -lšk_id -, -v6 -, -d•th -); - -1101 ià( - g¡©us -) - -1102 -´štf -("Command failed\n"); - -1104  -­p_lšk_·¿ms - * - gp -; - -1106 -APP_PARAM_FIND_BY_ID -( -­p --> -lšk_·¿ms -, "LINK", -lšk_id -, -p -); - -1107 ià( - gp -) - -1108 -´št_lšk_šfo -( -p -); - -1112 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_lšk_cÚfig_lšk_¡ršg - = - -1113 -TOKEN_STRING_INITIALIZER -( -cmd_lšk_cÚfig_»suÉ -, -lšk_¡ršg -, - -1116 -cmdlše_·r£_tok’_num_t - - gcmd_lšk_cÚfig_lšk_id - = - -1117 -TOKEN_NUM_INITIALIZER -( -cmd_lšk_cÚfig_»suÉ -, -lšk_id -, -UINT32 -); - -1119 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_lšk_cÚfig_cÚfig_¡ršg - = - -1120 -TOKEN_STRING_INITIALIZER -( -cmd_lšk_cÚfig_»suÉ -, -cÚfig_¡ršg -, - -1123 -cmdlše_·r£_tok’_addr_t - - gcmd_lšk_cÚfig_ - = - -1124 -TOKEN_IPADDR_INITIALIZER -( -cmd_lšk_cÚfig_»suÉ -, - -); - -1126 -cmdlše_·r£_tok’_num_t - - gcmd_lšk_cÚfig_d•th - = - -1127 -TOKEN_NUM_INITIALIZER -( -cmd_lšk_cÚfig_»suÉ -, -d•th -, -UINT32 -); - -1129 -cmdlše_·r£_š¡_t - - gcmd_lšk_cÚfig - = { - -1130 . -f - = -cmd_lšk_cÚfig_·r£d -, - -1131 . - gd©a - = -NULL -, - -1132 . - gh–p_¡r - = "Link configuration", - -1133 . - gtok’s - = { - -1134 (*)& -cmd_lšk_cÚfig_lšk_¡ršg -, - -1135 (*)& -cmd_lšk_cÚfig_lšk_id -, - -1136 (*)& -cmd_lšk_cÚfig_cÚfig_¡ršg -, - -1137 (*)& -cmd_lšk_cÚfig_ -, - -1138 (*)& -cmd_lšk_cÚfig_d•th -, - -1139 -NULL -, - -1147  - scmd_lšk_up_»suÉ - { - -1148 -cmdlše_fixed_¡ršg_t - - mlšk_¡ršg -; - -1149 -ušt32_t - - mlšk_id -; - -1150 -cmdlše_fixed_¡ršg_t - - mup_¡ršg -; - -1154 -cmd_lšk_up_·r£d -( - -1155 * -·r£d_»suÉ -, - -1156 -__©Œibu‹__ -(( -unu£d -)è -cmdlše - * -þ -, - -1157 * -d©a -) - -1159  -cmd_lšk_up_»suÉ - * - g·¿ms - = -·r£d_»suÉ -; - -1160  -­p_·¿ms - * - g­p - = -d©a -; - -1161  - g¡©us -; - -1163 - g¡©us - = -­p_lšk_up -( -­p -, -·¿ms --> -lšk_id -); - -1164 ià( - g¡©us - != 0) - -1165 -´štf -("Command failed\n"); - -1167  -­p_lšk_·¿ms - * - gp -; - -1169 -APP_PARAM_FIND_BY_ID -( -­p --> -lšk_·¿ms -, "LINK", -·¿ms --> -lšk_id -, - -1170 -p -); - -1171 ià( - gp -) - -1172 -´št_lšk_šfo -( -p -); - -1176 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_lšk_up_lšk_¡ršg - = - -1177 -TOKEN_STRING_INITIALIZER -( -cmd_lšk_up_»suÉ -, -lšk_¡ršg -, - -1180 -cmdlše_·r£_tok’_num_t - - gcmd_lšk_up_lšk_id - = - -1181 -TOKEN_NUM_INITIALIZER -( -cmd_lšk_up_»suÉ -, -lšk_id -, -UINT32 -); - -1183 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_lšk_up_up_¡ršg - = - -1184 -TOKEN_STRING_INITIALIZER -( -cmd_lšk_up_»suÉ -, -up_¡ršg -, "up"); - -1186 -cmdlše_·r£_š¡_t - - gcmd_lšk_up - = { - -1187 . -f - = -cmd_lšk_up_·r£d -, - -1188 . - gd©a - = -NULL -, - -1189 . - gh–p_¡r - = "Link UP", - -1190 . - gtok’s - = { - -1191 (*)& -cmd_lšk_up_lšk_¡ršg -, - -1192 (*)& -cmd_lšk_up_lšk_id -, - -1193 (*)& -cmd_lšk_up_up_¡ršg -, - -1194 -NULL -, - -1202  - scmd_lšk_down_»suÉ - { - -1203 -cmdlše_fixed_¡ršg_t - - mlšk_¡ršg -; - -1204 -ušt32_t - - mlšk_id -; - -1205 -cmdlše_fixed_¡ršg_t - - mdown_¡ršg -; - -1209 -cmd_lšk_down_·r£d -( - -1210 * -·r£d_»suÉ -, - -1211 -__©Œibu‹__ -(( -unu£d -)è -cmdlše - * -þ -, - -1212 * -d©a -) - -1214  -cmd_lšk_down_»suÉ - * - g·¿ms - = -·r£d_»suÉ -; - -1215  -­p_·¿ms - * - g­p - = -d©a -; - -1216  - g¡©us -; - -1218 - g¡©us - = -­p_lšk_down -( -­p -, -·¿ms --> -lšk_id -); - -1219 ià( - g¡©us - != 0) - -1220 -´štf -("Command failed\n"); - -1222  -­p_lšk_·¿ms - * - gp -; - -1224 -APP_PARAM_FIND_BY_ID -( -­p --> -lšk_·¿ms -, "LINK", -·¿ms --> -lšk_id -, - -1225 -p -); - -1226 ià( - gp -) - -1227 -´št_lšk_šfo -( -p -); - -1231 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_lšk_down_lšk_¡ršg - = - -1232 -TOKEN_STRING_INITIALIZER -( -cmd_lšk_down_»suÉ -, -lšk_¡ršg -, - -1235 -cmdlše_·r£_tok’_num_t - - gcmd_lšk_down_lšk_id - = - -1236 -TOKEN_NUM_INITIALIZER -( -cmd_lšk_down_»suÉ -, -lšk_id -, -UINT32 -); - -1238 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_lšk_down_down_¡ršg - = - -1239 -TOKEN_STRING_INITIALIZER -( -cmd_lšk_down_»suÉ -, -down_¡ršg -, - -1242 -cmdlše_·r£_š¡_t - - gcmd_lšk_down - = { - -1243 . -f - = -cmd_lšk_down_·r£d -, - -1244 . - gd©a - = -NULL -, - -1245 . - gh–p_¡r - = "Link DOWN", - -1246 . - gtok’s - = { - -1247 (*è& -cmd_lšk_down_lšk_¡ršg -, - -1248 (*è& -cmd_lšk_down_lšk_id -, - -1249 (*è& -cmd_lšk_down_down_¡ršg -, - -1250 -NULL -, - -1258  - scmd_lšk_ls_»suÉ - { - -1259 -cmdlše_fixed_¡ršg_t - - mlšk_¡ršg -; - -1260 -cmdlše_fixed_¡ršg_t - - mls_¡ršg -; - -1264 -cmd_lšk_ls_·r£d -( - -1265 -__©Œibu‹__ -(( -unu£d -)è* -·r£d_»suÉ -, - -1266 -__©Œibu‹__ -(( -unu£d -)è -cmdlše - * -þ -, - -1267 * -d©a -) - -1269  -­p_·¿ms - * - g­p - = -d©a -; - -1270 -ušt32_t - - glšk_id -; - -1272  - glšk_id - = 0;†šk_id < - g­p --> - gn_lšks -;†ink_id++) { - -1273  -­p_lšk_·¿ms - * - gp -; - -1275 -APP_PARAM_FIND_BY_ID -( -­p --> -lšk_·¿ms -, "LINK", -lšk_id -, -p -); - -1276 ià( - gp -) - -1277 -´št_lšk_šfo -( -p -); - -1279 #iâdeà -VNF_ACL - - -1280 -´št_š‹rçû_d‘ažs -(); - -1284 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_lšk_ls_lšk_¡ršg - = - -1285 -TOKEN_STRING_INITIALIZER -( -cmd_lšk_ls_»suÉ -, -lšk_¡ršg -, - -1288 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_lšk_ls_ls_¡ršg - = - -1289 -TOKEN_STRING_INITIALIZER -( -cmd_lšk_ls_»suÉ -, -ls_¡ršg -, "ls"); - -1291 -cmdlše_·r£_š¡_t - - gcmd_lšk_ls - = { - -1292 . -f - = -cmd_lšk_ls_·r£d -, - -1293 . - gd©a - = -NULL -, - -1294 . - gh–p_¡r - = "Link†ist", - -1295 . - gtok’s - = { - -1296 (*)& -cmd_lšk_ls_lšk_¡ršg -, - -1297 (*)& -cmd_lšk_ls_ls_¡ršg -, - -1298 -NULL -, - -1306  - scmd_qu™_»suÉ - { - -1307 -cmdlše_fixed_¡ršg_t - - mqu™ -; - -1311 - $cmd_qu™_·r£d -( - -1312 -__¹e_unu£d - * -·r£d_»suÉ -, - -1313  -cmdlše - * -þ -, - -1314 -__¹e_unu£d - * -d©a -) - -1316 - `cmdlše_qu™ -( -þ -); - -1317 - } -} - -1319  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_qu™_qu™ - = - -1320 -TOKEN_STRING_INITIALIZER -( -cmd_qu™_»suÉ -, -qu™ -, "quit"); - -1322  -cmdlše_·r£_š¡_t - - gcmd_qu™ - = { - -1323 . -f - = -cmd_qu™_·r£d -, - -1324 . - gd©a - = -NULL -, - -1325 . - gh–p_¡r - = "Quit", - -1326 . - gtok’s - = { - -1327 (*è& -cmd_qu™_qu™ -, - -1328 -NULL -, - -1337 - $­p_run_fže -( - -1338 -cmdlše_·r£_ùx_t - * -ùx -, - -1339 cÚ¡ * -fže_Çme -) - -1341  -cmdlše - * -fže_þ -; - -1342  -fd -; - -1344 -fd - = - `ݒ -( -fže_Çme -, -O_RDONLY -); - -1345 ià( -fd - < 0) { - -1346 - `´štf -("CªnÙ o³Àfž\"%s\"\n", -fže_Çme -); - -1350 -fže_þ - = - `cmdlše_Ãw -( -ùx -, "", -fd -, 1); - -1351 - `cmdlše_š‹¿ù -( -fže_þ -); - -1352 - `þo£ -( -fd -); - -1353 - } -} - -1355  - scmd_run_fže_»suÉ - { - -1356 -cmdlše_fixed_¡ršg_t - - mrun_¡ršg -; - -1357  - mfže_Çme -[ -APP_FILE_NAME_SIZE -]; - -1361 -cmd_run_·r£d -( - -1362 * -·r£d_»suÉ -, - -1363  -cmdlše - * -þ -, - -1364 -__©Œibu‹__ -(( -unu£d -)è* -d©a -) - -1366  -cmd_run_fže_»suÉ - * - g·¿ms - = -·r£d_»suÉ -; - -1368 -­p_run_fže -( -þ --> -ùx -, -·¿ms --> -fže_Çme -); - -1371 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_run_run_¡ršg - = - -1372 -TOKEN_STRING_INITIALIZER -( -cmd_run_fže_»suÉ -, -run_¡ršg -, - -1375 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_run_fže_Çme - = - -1376 -TOKEN_STRING_INITIALIZER -( -cmd_run_fže_»suÉ -, -fže_Çme -, -NULL -); - -1378 -cmdlše_·r£_š¡_t - - gcmd_run - = { - -1379 . -f - = -cmd_run_·r£d -, - -1380 . - gd©a - = -NULL -, - -1381 . - gh–p_¡r - = "Run CLI script file", - -1382 . - gtok’s - = { - -1383 (*è& -cmd_run_run_¡ršg -, - -1384 (*è& -cmd_run_fže_Çme -, - -1385 -NULL -, - -1389  -cmdlše_·r£_ùx_t - - gp–še_commÚ_cmds -[] = { - -1390 ( -cmdlše_·r£_š¡_t - *è& -cmd_qu™ -, - -1391 ( -cmdlše_·r£_š¡_t - *è& -cmd_run -, - -1393 ( -cmdlše_·r£_š¡_t - *è& -cmd_lšk_cÚfig -, - -1394 ( -cmdlše_·r£_š¡_t - *è& -cmd_lšk_up -, - -1395 ( -cmdlše_·r£_š¡_t - *è& -cmd_lšk_down -, - -1396 ( -cmdlše_·r£_š¡_t - *è& -cmd_lšk_ls -, - -1398 ( -cmdlše_·r£_š¡_t - *è& -cmd_pšg -, - -1399 ( -cmdlše_·r£_š¡_t - *è& -cmd_¡©s_pÜt_š -, - -1400 ( -cmdlše_·r£_š¡_t - *è& -cmd_¡©s_pÜt_out -, - -1401 ( -cmdlše_·r£_š¡_t - *è& -cmd_¡©s_bË -, - -1402 ( -cmdlše_·r£_š¡_t - *è& -cmd_pÜt_š_’abË -, - -1403 ( -cmdlše_·r£_š¡_t - *è& -cmd_pÜt_š_di§bË -, - -1404 -NULL -, - -1408 - $­p_p–še_commÚ_cmd_push -( -­p_·¿ms - * -­p -) - -1410 -ušt32_t - -n_cmds -, -i -; - -1413 -n_cmds - = - `RTE_DIM -( -p–še_commÚ_cmds -) - 1; - -1414 ià( -n_cmds - > -APP_MAX_CMDS - - -­p -->n_cmds) - -1415  - -ENOMEM -; - -1418 - `memýy -(& -­p --> -cmds -[­p-> -n_cmds -], - -1419 -p–še_commÚ_cmds -, - -1420 -n_cmds - * ( -cmdlše_·r£_ùx_t -)); - -1422  -i - = 0; i < -n_cmds -; i++) - -1423 -­p --> -cmds -[­p-> -n_cmds - + -i -]-> -d©a - =‡pp; - -1425 -­p --> -n_cmds - +=‚_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  - #__INCLUDE_PIPELINE_COMMON_FE_H__ - - - ) - -20  - ~<¹e_commÚ.h -> - -21  - ~<¹e_cyþes.h -> - -22  - ~<¹e_m®loc.h -> - -23  - ~ - -25  - ~"p–še_commÚ_be.h -" - -26  - ~"p–še.h -" - -27  - ~"­p.h -" - -29 #iâdeà -MSG_TIMEOUT_DEFAULT - - -30  - #MSG_TIMEOUT_DEFAULT - 1000 - - ) - -32  -­p_lšk_·¿ms - - gmylšk -[ -APP_MAX_LINKS -]; - -33  -šlše -  -­p_p–še_d©a - * - -34 - $­p_p–še_d©a -( -­p_·¿ms - * -­p -, -ušt32_t - -id -) - -36  -­p_p–še_·¿ms - * -·¿ms -; - -38 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, "PIPELINE", -id -, -·¿ms -); - -39 ià( -·¿ms - =ð -NULL -) - -40  -NULL -; - -42  & -­p --> -p–še_d©a -[ -·¿ms - -‡µ-> -p–še_·¿ms -]; - -43 - } -} - -45  -šlše - * - -46 - $­p_p–še_d©a_ã -( -­p_·¿ms - * -­p -, -ušt32_t - -id -,  -p–še_ty³ - * -±y³ -) - -48  -­p_p–še_d©a - * -p–še_d©a -; - -50 -p–še_d©a - = - `­p_p–še_d©a -( -­p -, -id -); - -51 ià( -p–še_d©a - =ð -NULL -) - -52  -NULL -; - -54 ià( - `¡rcmp -( -p–še_d©a --> -±y³ --> -Çme -,…type->name) != 0) - -55  -NULL -; - -57 ià( -p–še_d©a --> -’abËd - == 0) - -58  -NULL -; - -60  -p–še_d©a --> -ã -; - -61 - } -} - -63  -šlše -  -¹e_ršg - * - -64 - $­p_p–še_msgq_š_g‘ -( -­p_·¿ms - * -­p -, - -65 -ušt32_t - -p–še_id -) - -67  -­p_msgq_·¿ms - * -p -; - -69 - `APP_PARAM_FIND_BY_ID -( -­p --> -msgq_·¿ms -, - -71 -p–še_id -, - -72 -p -); - -73 ià( -p - =ð -NULL -) - -74  -NULL -; - -76  -­p --> -msgq -[ -p - -‡µ-> -msgq_·¿ms -]; - -77 - } -} - -79  -šlše -  -¹e_ršg - * - -80 - $­p_p–še_msgq_out_g‘ -( -­p_·¿ms - * -­p -, - -81 -ušt32_t - -p–še_id -) - -83  -­p_msgq_·¿ms - * -p -; - -85 - `APP_PARAM_FIND_BY_ID -( -­p --> -msgq_·¿ms -, - -87 -p–še_id -, - -88 -p -); - -89 ià( -p - =ð -NULL -) - -90  -NULL -; - -92  -­p --> -msgq -[ -p - -‡µ-> -msgq_·¿ms -]; - -93 - } -} - -95  -šlše - * - -96 - $­p_msg_®loc -( -__¹e_unu£d -  -­p_·¿ms - * -­p -) - -98  - `¹e_m®loc -( -NULL -, 2048, -RTE_CACHE_LINE_SIZE -); - -99 - } -} - -101  -šlše -  - -102 - $­p_msg_ä“ -( -__¹e_unu£d -  -­p_·¿ms - * -­p -, - -103 * -msg -) - -105 - `¹e_ä“ -( -msg -); - -106 - } -} - -108  -šlše -  - -109 - $­p_msg_£nd -( -­p_·¿ms - * -­p -, - -110 -ušt32_t - -p–še_id -, - -111 * -msg -) - -113  -¹e_ršg - * -r - = - `­p_p–še_msgq_š_g‘ -( -­p -, -p–še_id -); - -114  -¡©us -; - -117 -¡©us - = - `¹e_ršg_¥_’queue -( -r -, -msg -); - -118 }  -¡©us - =ð- -ENOBUFS -); - -119 - } -} - -121  -šlše - * - -122 - $­p_msg_»cv -( -­p_·¿ms - * -­p -, - -123 -ušt32_t - -p–še_id -) - -125  -¹e_ršg - * -r - = - `­p_p–še_msgq_out_g‘ -( -­p -, -p–še_id -); - -126 * -msg -; - -127  -¡©us - = - `¹e_ršg_sc_dequeue -( -r -, & -msg -); - -129 ià( -¡©us - != 0) - -130  -NULL -; - -132  -msg -; - -133 - } -} - -135  -šlše - * - -136 - $­p_msg_£nd_»cv -( -­p_·¿ms - * -­p -, - -137 -ušt32_t - -p–še_id -, - -138 * -msg -, - -139 -ušt32_t - -timeout_ms -) - -141  -¹e_ršg - * -r_»q - = - `­p_p–še_msgq_š_g‘ -( -­p -, -p–še_id -); - -142  -¹e_ršg - * -r_r¥ - = - `­p_p–še_msgq_out_g‘ -( -­p -, -p–še_id -); - -143 -ušt64_t - -hz - = - `¹e_g‘_tsc_hz -(); - -144 * -msg_»cv - = -NULL -; - -145 -ušt64_t - -d—dlše -; - -146  -¡©us - = 0; - -150 if( -r_»q -) - -151 -¡©us - = - `¹e_ršg_¥_’queue -( -r_»q -, (*è -msg -); - -152 }  -¡©us - =ð- -ENOBUFS -); - -155 -d—dlše - = ( -timeout_ms -) ? - -156 ( - `¹e_rdtsc -(è+ (( -hz - * -timeout_ms -) / 1000)) : - -157 -UINT64_MAX -; - -160 ià( - `¹e_rdtsc -(è> -d—dlše -) - -161  -NULL -; - -162 ià( -r_r¥ -) - -163 -¡©us - = - `¹e_ršg_sc_dequeue -( -r_r¥ -, & -msg_»cv -); - -164 }  -¡©us - != 0); - -166  -msg_»cv -; - -167 - } -} - -170 -­p_p–še_pšg -( -­p_·¿ms - * -­p -, - -171 -ušt32_t - -p–še_id -); - -174 -­p_p–še_¡©s_pÜt_š -( -­p_·¿ms - * -­p -, - -175 -ušt32_t - -p–še_id -, - -176 -ušt32_t - -pÜt_id -, - -177  -¹e_p–še_pÜt_š_¡©s - * -¡©s -); - -180 -­p_p–še_¡©s_pÜt_out -( -­p_·¿ms - * -­p -, - -181 -ušt32_t - -p–še_id -, - -182 -ušt32_t - -pÜt_id -, - -183  -¹e_p–še_pÜt_out_¡©s - * -¡©s -); - -186 -­p_p–še_¡©s_bË -( -­p_·¿ms - * -­p -, - -187 -ušt32_t - -p–še_id -, - -188 -ušt32_t - -bË_id -, - -189  -¹e_p–še_bË_¡©s - * -¡©s -); - -192 -­p_p–še_pÜt_š_’abË -( -­p_·¿ms - * -­p -, - -193 -ušt32_t - -p–še_id -, - -194 -ušt32_t - -pÜt_id -); - -197 -­p_p–še_pÜt_š_di§bË -( -­p_·¿ms - * -­p -, - -198 -ušt32_t - -p–še_id -, - -199 -ušt32_t - -pÜt_id -); - -202 -­p_lšk_cÚfig -( -­p_·¿ms - * -­p -, - -203 -ušt32_t - -lšk_id -, - -204 -ušt32_t - - -, - -205 -ušt32_t - -d•th -); - -208 -­p_lšk_up -( -­p_·¿ms - * -­p -, - -209 -ušt32_t - -lšk_id -); - -212 -­p_lšk_down -( -­p_·¿ms - * -­p -, - -213 -ušt32_t - -lšk_id -); - -216 -­p_p–še_commÚ_cmd_push -( -­p_·¿ms - * -­p -); - -219  -cÚv”t_´efixËn_to_Ãtmask_v6 -( -ušt32_t - -d•th -, -ušt8_t - -Ãtmask_v6 -[]); - -222 -g‘_ho¡_pÜtiÚ_v6 -( -ušt8_t - -v6 -[], ušt8_ˆ -Ãtmask -[], ušt8_ˆ -ho¡_v6 -[]); - -225 -g‘_bÿ¡_pÜtiÚ_v6 -( -ušt8_t - -ho¡ -[], ušt8_ˆ -Ãtmask -[], ušt8_ˆ -bÿ¡_v6 -[]); - -228 -­p_lšk_cÚfig_v6 -( -­p_·¿ms - * -­p -, - -229 -ušt32_t - -lšk_id -, -ušt8_t - -v6 -[], ušt32_ˆ -d•th -); - - @VIL/pipeline_loadb/pipeline_loadb.c - -17  - ~ - -18  - ~ - -19  - ~ - -20  - ~ - -21  - ~ - -23  - ~"­p.h -" - -24  - ~"p–še_commÚ_ã.h -" - -25  - ~"p–še_lßdb.h -" - -26  - ~"vnf_commÚ.h -" - -28  - ~"p–še_¬picmp_be.h -" - -32 - $­p_p–še_lßdb_’Œy_dbg -( -­p_·¿ms - * -­p -, - -33 -ušt32_t - -p–še_id -, -ušt8_t - * -msg -) - -35  -p–še_lßdb_’Œy_dbg_msg_»q - * -»q -; - -36  -p–še_lßdb_’Œy_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–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -53 ià( -r¥ - =ð -NULL -) - -57 ià( -r¥ --> -¡©us -) { - -58 - `­p_msg_ä“ -( -­p -, -r¥ -); - -59 - `´štf -("E¼Ü„¥->¡©u %d\n", -r¥ --> -¡©us -); - -64 - `­p_msg_ä“ -( -­p -, -r¥ -); - -67 - } -} - -73  - scmd_’Œy_dbg_»suÉ - { - -74 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -75 -ušt32_t - - mp -; - -76 -cmdlše_fixed_¡ršg_t - - m’Œy_¡ršg -; - -77 -cmdlše_fixed_¡ršg_t - - mdbg_¡ršg -; - -78 -ušt8_t - - mcmd -; - -79 -ušt8_t - - md1 -; - -83 - $cmd_’Œy_dbg_·r£d -(* -·r£d_»suÉ -, - -84 -__¹e_unu£d -  -cmdlše - * -þ -, * -d©a -) - -86  -cmd_’Œy_dbg_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -87  -­p_·¿ms - * -­p - = -d©a -; - -88 -ušt8_t - -msg -[2]; - -89  -¡©us -; - -91 -msg -[0] = -·¿ms --> -cmd -; - -92 -msg -[1] = -·¿ms --> -d1 -; - -93 -¡©us - = - `­p_p–še_lßdb_’Œy_dbg -( -­p -, -·¿ms --> -p -, -msg -); - -95 ià( -¡©us - != 0) { - -96 - `´štf -("Dbg Command failed\n"); - -99 - } -} - -101  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_p_¡ršg - = - -102 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -p_¡ršg -, "p"); - -104  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_p - = - -105 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -p -, -UINT32 -); - -107  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_’Œy_¡ršg - = - -108 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, - -109 -’Œy_¡ršg -, "lbentry"); - -111  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_dbg_¡ršg - = - -112 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -dbg_¡ršg -, - -115  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_cmd - = - -116 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -cmd -, -UINT8 -); - -118  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_d1 - = - -119 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -d1 -, -UINT8 -); - -121  -cmdlše_·r£_š¡_t - - glb_cmd_’Œy_dbg - = { - -122 . -f - = -cmd_’Œy_dbg_·r£d -, - -123 . - gd©a - = -NULL -, - -124 . - gh–p_¡r - = "LOADB dbg cmd", - -125 . - gtok’s - = { - -126 (*)& -lb_cmd_’Œy_dbg_p_¡ršg -, - -127 (*)& -lb_cmd_’Œy_dbg_p -, - -128 (*)& -lb_cmd_’Œy_dbg_’Œy_¡ršg -, - -129 (*)& -lb_cmd_’Œy_dbg_dbg_¡ršg -, - -130 (*)& -lb_cmd_’Œy_dbg_cmd -, - -131 (*)& -lb_cmd_’Œy_dbg_d1 -, - -132 -NULL -, - -162  - scmd_¬p_add_»suÉ - { - -163 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -164 -ušt32_t - - mp -; - -165 -cmdlše_fixed_¡ršg_t - - m¬·dd_¡ršg -; - -166 -ušt32_t - - mpÜt_id -; - -167 -cmdlše_addr_t - - m -; - -168  -‘h”_addr - - mmaÿddr -; - -173 - $cmd_¬p_add_·r£d -(* -·r£d_»suÉ -, - -174 -__¹e_unu£d -  -cmdlše - * -þ -, __¹e_unu£d * -d©a -) - -176  -cmd_¬p_add_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -177 -ušt8_t - -v6 -[16]; - -186 ià( -·¿ms --> - -. -çmžy - =ð -AF_INET -) { - -187 - `pÝuϋ_¬p_’Œy -(& -·¿ms --> -maÿddr -, - -188 - `¹e_ýu_to_be_32 -( -·¿ms --> - -. -addr -. - -189 -v4 -. -s_addr -), - -190 -·¿ms --> -pÜt_id -, -STATIC_ARP -); - -192 - `memýy -( -v6 -, -·¿ms --> - -. -addr -.v6. -s6_addr -, 16); - -193 - `pÝuϋ_nd_’Œy -(& -·¿ms --> -maÿddr -, -v6 -,…¬ams-> -pÜt_id -, -STATIC_ND -); - -195 - } -} - -197  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_add_p_¡ršg - = - -198 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_add_»suÉ -, -p_¡ršg -, - -201  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_add_p - = - -202 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_add_»suÉ -, -p -, -UINT32 -); - -204  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_add_¬p_¡ršg - = - -205 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_add_»suÉ -, -¬·dd_¡ršg -, "arpadd"); - -207  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_add_pÜt_id - = - -208 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_add_»suÉ -, -pÜt_id -, -UINT32 -); - -210  -cmdlše_·r£_tok’_addr_t - - gcmd_¬p_add_ - = - -211 -TOKEN_IPADDR_INITIALIZER -( -cmd_¬p_add_»suÉ -, - -); - -213  -cmdlše_·r£_tok’_‘h”addr_t - - gcmd_¬p_add_maÿddr - = - -214 -TOKEN_ETHERADDR_INITIALIZER -( -cmd_¬p_add_»suÉ -, -maÿddr -); - -216  -cmdlše_·r£_š¡_t - - gcmd_¬p_add - = { - -217 . -f - = -cmd_¬p_add_·r£d -, - -218 . - gd©a - = -NULL -, - -219 . - gh–p_¡r - = "ARP‡dd", - -220 . - gtok’s - = { - -221 (*)& -cmd_¬p_add_p_¡ršg -, - -222 (*)& -cmd_¬p_add_p -, - -223 (*)& -cmd_¬p_add_¬p_¡ršg -, - -224 (*)& -cmd_¬p_add_pÜt_id -, - -225 (*)& -cmd_¬p_add_ -, - -226 (*)& -cmd_¬p_add_maÿddr -, - -227 -NULL -, - -235  - scmd_¬p_d–_»suÉ - { - -236 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -237 -ušt32_t - - mp -; - -238 -cmdlše_fixed_¡ršg_t - - m¬p_¡ršg -; - -239 -ušt32_t - - mpÜt_id -; - -240 -cmdlše_addr_t - - m -; - -244 - $cmd_¬p_d–_·r£d -(* -·r£d_»suÉ -, - -245 -__¹e_unu£d -  -cmdlše - * -þ -, __¹e_unu£d * -d©a -) - -247  -cmd_¬p_d–_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -248 -ušt8_t - -v6 -[16]; - -257 ià( -·¿ms --> - -. -çmžy - =ð -AF_INET -) { - -258 - `»move_¬p_’Œy -( - `¹e_ýu_to_be_32 -( -·¿ms --> - -. -addr -. -v4 -. -s_addr -), - -259 -·¿ms --> -pÜt_id -, -NULL -); - -261 - `memýy -( -v6 -, -·¿ms --> - -. -addr -.v6. -s6_addr -, 16); - -262 - `»move_nd_’Œy_v6 -( -v6 -, -·¿ms --> -pÜt_id -); - -264 - } -} - -266  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_d–_p_¡ršg - = - -267 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -p_¡ršg -, - -270  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_d–_p - = - -271 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -p -, -UINT32 -); - -273  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_d–_¬p_¡ršg - = - -274 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -¬p_¡ršg -, "arpdel"); - -276  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_d–_pÜt_id - = - -277 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -pÜt_id -, -UINT32 -); - -279  -cmdlše_·r£_tok’_addr_t - - gcmd_¬p_d–_ - = - -280 -TOKEN_IPADDR_INITIALIZER -( -cmd_¬p_d–_»suÉ -, - -); - -282  -cmdlše_·r£_š¡_t - - gcmd_¬p_d– - = { - -283 . -f - = -cmd_¬p_d–_·r£d -, - -284 . - gd©a - = -NULL -, - -285 . - gh–p_¡r - = "ARP delete", - -286 . - gtok’s - = { - -287 (*)& -cmd_¬p_d–_p_¡ršg -, - -288 (*)& -cmd_¬p_d–_p -, - -289 (*)& -cmd_¬p_d–_¬p_¡ršg -, - -290 (*)& -cmd_¬p_d–_pÜt_id -, - -291 (*)& -cmd_¬p_d–_ -, - -292 -NULL -, - -303 - $cmd_¬p_»q_·r£d -(* -·r£d_»suÉ -, - -304 -__¹e_unu£d -  -cmdlše - * -þ -, __¹e_unu£d * -d©a -) - -306  -cmd_¬p_d–_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -309  -¬p_key_v4 - -key -; - -315 -key -. - - = - `¹e_ýu_to_be_32 -( -·¿ms -->. -addr -. -v4 -. -s_addr -); - -316 -key -. -pÜt_id - = -·¿ms -->port_id; - -317 -key -. -fžËr1 - = 0; - -318 -key -. -fžËr2 - = 0; - -319 -key -. -fžËr3 - = 0; - -321  -¬p_’Œy_d©a - * -¬p_d©a - = - `»Œ›ve_¬p_’Œy -( -key -); - -323 ià( -¬p_d©a -) { - -324 ià( -ARPICMP_DEBUG -) - -325 - `´štf -("ARPƒntryƒxists for ip 0x%x,…ort %d\n", - -326 -·¿ms --> - -. -addr -. -v4 -. -s_addr -,…¬ams-> -pÜt_id -); - -330 ià( -ARPICMP_DEBUG -) - -331 - `´štf -("ARP -„equesting‡rp for ip 0x%x,…ort %d\n", - -332 -·¿ms --> - -. -addr -. -v4 -. -s_addr -,…¬ams-> -pÜt_id -); - -333 - `»que¡_¬p -( -·¿ms --> -pÜt_id -,…¬ams-> - -. -addr -. -v4 -. -s_addr -); - -335 - } -} - -337  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_»q_¡ršg - = - -338 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -¬p_¡ršg -, "arpreq"); - -340  -cmdlše_·r£_š¡_t - - gcmd_¬p_»q - = { - -341 . -f - = -cmd_¬p_»q_·r£d -, - -342 . - gd©a - = -NULL -, - -343 . - gh–p_¡r - = "ARP„equest", - -344 . - gtok’s - = { - -345 (*)& -cmd_¬p_d–_p_¡ršg -, - -346 (*)& -cmd_¬p_d–_p -, - -347 (*)& -cmd_¬p_»q_¡ršg -, - -348 (*)& -cmd_¬p_d–_pÜt_id -, - -349 (*)& -cmd_¬p_d–_ -, - -350 -NULL -, - -361 - $cmd_icmp_echo_»q_·r£d -(* -·r£d_»suÉ -, - -362 -__¹e_unu£d -  -cmdlše - * -þ -, - -363 -__¹e_unu£d - * -d©a -) - -365  -cmd_¬p_d–_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -366  -¹e_mbuf - * -pkt -; - -367 -l2_phy_š‹rçû_t - * -pÜt - = (l2_phy_š‹rçû_ˆ*è - `ifm_g‘_pÜt -(( -ušt8_t -) -·¿ms --> -pÜt_id -); - -369 ià( -ARPICMP_DEBUG -) - -370 - `´štf -("Echo Req Handler ip %x,…ort %d\n", - -371 -·¿ms --> - -. -addr -. -v4 -. -s_addr -,…¬ams-> -pÜt_id -); - -373 -pkt - = - `»que¡_echo -( -·¿ms --> -pÜt_id -,…¬ams-> - -. -addr -. -v4 -. -s_addr -); - -374 -pÜt --> - `Œªsm™_sšgË_pkt -ÕÜt, -pkt -); - -375 - } -} - -377  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_icmp_echo_»q_¡ršg - = - -378 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_d–_»suÉ -, -¬p_¡ršg -, "icmpecho"); - -380  -cmdlše_·r£_š¡_t - - gcmd_icmp_echo_»q - = { - -381 . -f - = -cmd_icmp_echo_»q_·r£d -, - -382 . - gd©a - = -NULL -, - -383 . - gh–p_¡r - = "ICMPƒcho„equest", - -384 . - gtok’s - = { - -385 (*)& -cmd_¬p_d–_p_¡ršg -, - -386 (*)& -cmd_¬p_d–_p -, - -387 (*)& -cmd_icmp_echo_»q_¡ršg -, - -388 (*)& -cmd_¬p_d–_pÜt_id -, - -389 (*)& -cmd_¬p_d–_ -, - -390 -NULL -, - -398  - scmd_¬p_ls_»suÉ - { - -399 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -400 -ušt32_t - - mp -; - -401 -cmdlše_fixed_¡ršg_t - - m¬p_¡ršg -; - -405 - $cmd_¬p_ls_·r£d -( -__¹e_unu£d - * -·r£d_»suÉ -, - -406 -__¹e_unu£d -  -cmdlše - * -þ -, __¹e_unu£d * -d©a -) - -408 - `´štf -("\nARPable ...\n"); - -409 - `´štf -("-------------\n"); - -410 - `´št_¬p_bË -(); - -412 -´štf - - -415 - `´štf -("\nND IPv6able:\n"); - -416 - `´štf -("--------------\n"); - -417 - `´št_nd_bË -(); - -418 - } -} - -420  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_ls_p_¡ršg - = - -421 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_ls_»suÉ -, -p_¡ršg -, - -424  -cmdlše_·r£_tok’_num_t - - gcmd_¬p_ls_p - = - -425 -TOKEN_NUM_INITIALIZER -( -cmd_¬p_ls_»suÉ -, -p -, -UINT32 -); - -427  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_¬p_ls_¬p_¡ršg - = - -428 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_ls_»suÉ -, -¬p_¡ršg -, - -431  -cmdlše_·r£_š¡_t - - gcmd_¬p_ls - = { - -432 . -f - = -cmd_¬p_ls_·r£d -, - -433 . - gd©a - = -NULL -, - -434 . - gh–p_¡r - = "ARP†ist", - -435 . - gtok’s - = { - -436 (*)& -cmd_¬p_ls_p_¡ršg -, - -437 (*)& -cmd_¬p_ls_p -, - -438 (*)& -cmd_¬p_ls_¬p_¡ršg -, - -439 -NULL -, - -447  - scmd_show_pÜts_šfo_»suÉ - { - -448 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -449 -ušt32_t - - mp -; - -450 -cmdlše_fixed_¡ršg_t - - m¬p_¡ršg -; - -454 - $cmd_show_pÜts_šfo_·r£d -( -__¹e_unu£d - * -·r£d_»suÉ -, - -455 -__¹e_unu£d -  -cmdlše - * -þ -, - -456 -__¹e_unu£d - * -d©a -) - -458 - `show_pÜts_šfo -(); - -459 - } -} - -461  -cmdlše_·r£_tok’_¡ršg_t - - gcmd_show_pÜts_šfo_¡ršg - = - -462 -TOKEN_STRING_INITIALIZER -( -cmd_¬p_ls_»suÉ -, -¬p_¡ršg -, - -465  -cmdlše_·r£_š¡_t - - gcmd_show_pÜts_šfo - = { - -466 . -f - = -cmd_show_pÜts_šfo_·r£d -, - -467 . - gd©a - = -NULL -, - -468 . - gh–p_¡r - = "show…orts info", - -469 . - gtok’s - = { - -470 (*)& -cmd_¬p_ls_p_¡ršg -, - -471 (*)& -cmd_¬p_ls_p -, - -472 (*)& -cmd_show_pÜts_šfo_¡ršg -, - -473 -NULL -, - -478  -cmdlše_·r£_ùx_t - - gp–še_cmds -[] = { - -479 ( -cmdlše_·r£_š¡_t - *è& -lb_cmd_’Œy_dbg -, - -480 -NULL -, - -483  -p–še_ã_Ýs - - gp–še_lßdb_ã_Ýs - = { - -484 . -f_š™ - = -NULL -, - -485 . - gf_ä“ - = -NULL -, - -486 . - gcmds - = -p–še_cmds -, - -489  -p–še_ty³ - - gp–še_lßdb - = { - -490 . -Çme - = "LOADB", - -491 . - gbe_Ýs - = & -p–še_lßdb_be_Ýs -, - -492 . - gã_Ýs - = & -p–še_lßdb_ã_Ýs -, - - @VIL/pipeline_loadb/pipeline_loadb.h - -17 #iâdeà -__INCLUDE_PIPELINE_LOADB_H__ - - -18  - #__INCLUDE_PIPELINE_LOADB_H__ - - - ) - -20  - ~"p–še.h -" - -21  - ~"p–še_lßdb_be.h -" - -27  -p–še_ty³ - -p–še_lßdb -; - - @VIL/pipeline_loadb/pipeline_loadb_be.c - -17  - ~<¡dio.h -> - -18  - ~<¡dlib.h -> - -19  - ~<¡dšt.h -> - -20  - ~<¡ršg.h -> - -21  - ~ - -23  - ~<¹e_commÚ.h -> - -24  - ~<¹e_m®loc.h -> - -25  - ~<¹e_.h -> - -26  - ~<¹e_hash.h -> - -27  - ~<¹e_by‹Üd”.h -> - -28  - ~<¹e_bË_Ím.h -> - -29  - ~<¹e_bË_hash.h -> - -30  - ~<¹e_jhash.h -> - -31  - ~<¹e_thash.h -> - -32  - ~<¹e_cyþes.h -> - -33  - ~<¹e_‘hdev.h -> - -34  - ~<¹e_´eãtch.h -> - -35  - ~<¹e_bË_¬¿y.h -> - -36  - ~"p–še_lßdb_be.h -" - -37  - ~"p–še_aùiÚs_commÚ.h -" - -38  - ~"hash_func.h -" - -39  - ~"p–še_¬picmp_be.h -" - -40  - ~"vnf_commÚ.h -" - -41  - ~"­p.h -" - -43  - #BYTES_TO_BITS - 8 - - ) - -44  - #ROTATE_15_BITS - 15 - - ) - -46  - #MAX_VNF_THREADS - 16 - - ) - -48  - gpkt_bur¡_út -; - -50 -ušt8_t - - gLOADB_DEBUG -; - -51 -ušt8_t - - gtÙ®_vnf_th»ads -; - -52 -ušt32_t - - gphypÜt_off£t -; - -54  - sp–še_lßdb - { - -55  -p–še - - mp -; - -56 -p–še_msg_»q_hªdËr - - mcu¡om_hªdËrs -[ -PIPELINE_LOADB_MSG_REQS -]; - -58 -ušt8_t - - mn_vnf_th»ads -; - -59 -ušt8_t - - mn_lb_tu¶es -; - -60 -ušt32_t - - mouÜt_off£t -; - -61 -ušt64_t - - m»ûivedLBPktCouÁ -; - -62 -ušt64_t - - mdrݳdLBPktCouÁ -; - -63 -ušt8_t - - mlšks_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -64 -ušt8_t - - mouÜt_id -[ -PIPELINE_MAX_PORT_IN -]; - -65 -ušt8_t - - mn_´v_Q -; - -66 -ušt8_t - - mn_pub_Q -; - -67 -ušt8_t - - mp–še_num -; - -68 } - g__¹e_ÿche_®igÃd -; - -70 -ušt8_t - - gdeçuÉ_rss_key -[] = { - -78 * -p–še_lßdb_msg_»q_cu¡om_hªdËr -( -p–še - * -p -, - -79 * -msg -); - -81  -p–še_msg_»q_hªdËr - - ghªdËrs -[] = { - -82 [ -PIPELINE_MSG_REQ_PING -] = - -83 -p–še_msg_»q_pšg_hªdËr -, - -84 [ -PIPELINE_MSG_REQ_STATS_PORT_IN -] = - -85 -p–še_msg_»q_¡©s_pÜt_š_hªdËr -, - -86 [ -PIPELINE_MSG_REQ_STATS_PORT_OUT -] = - -87 -p–še_msg_»q_¡©s_pÜt_out_hªdËr -, - -88 [ -PIPELINE_MSG_REQ_STATS_TABLE -] = - -89 -p–še_msg_»q_¡©s_bË_hªdËr -, - -90 [ -PIPELINE_MSG_REQ_PORT_IN_ENABLE -] = - -91 -p–še_msg_»q_pÜt_š_’abË_hªdËr -, - -92 [ -PIPELINE_MSG_REQ_PORT_IN_DISABLE -] = - -93 -p–še_msg_»q_pÜt_š_di§bË_hªdËr -, - -94 [ -PIPELINE_MSG_REQ_CUSTOM -] = - -95 -p–še_lßdb_msg_»q_cu¡om_hªdËr -, - -99 * -p–še_lßdb_msg_»q_’Œy_dbg_hªdËr -( -p–še - *, - -100 * -msg -); - -102  -p–še_msg_»q_hªdËr - - gcu¡om_hªdËrs -[] = { - -103 [ -PIPELINE_LOADB_MSG_REQ_ENTRY_DBG -] = - -104 -p–še_lßdb_msg_»q_’Œy_dbg_hªdËr -, - -110  - slßdb_bË_’Œy - { - -111  -¹e_p–še_bË_’Œy - - mh—d -; - -112 } - g__¹e_ÿche_®igÃd -; - -114 * - $p–še_lßdb_msg_»q_cu¡om_hªdËr -( -p–še - * -p -, * -msg -) - -116  -p–še_lßdb - * -p_lb - = (p–še_lßdb *) -p -; - -117  -p–še_cu¡om_msg_»q - * -»q - = -msg -; - -118 -p–še_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–še_msg_»q_šv®id_hªdËr -; - -124 ià( -f_hªdË - =ð -NULL -) - -125 -f_hªdË - = -p–še_msg_»q_šv®id_hªdËr -; - -127  - `f_hªdË -( -p -, -»q -); - -128 - } -} - -130 -ušt32_t - - glb_pkt_´št_couÁ -; - -132 -ušt8_t - - $ÿlcuϋ_lb_th»ad_´v -( -¹e_mbuf - * -pkt -, * -¬g -) - -134 -ušt32_t - -hash_key -[2], -hash_v4 -; - -135 -ušt32_t - -‹mp1 -, -‹mp2 -, -‹mp3 -; - -136 -ušt8_t - -th»ad -; - -137  -p–še_lßdb_š_pÜt_h_¬g - * -­ - = -¬g -; - -138  -p–še_lßdb - * -p_lßdb - = (p–še_lßdb *è -­ --> -p -; - -139 -ušt8_t - -Áh»ads - = -p_lßdb --> -n_vnf_th»ads -; - -140  -¹e_thash_tu¶e - -tu¶e -; - -142 -ušt32_t - * -¤c_addr -; - -143 -ušt32_t - * -d¡_addr -; - -144 -ušt16_t - * -¤c_pÜt -; - -145 -ušt16_t - * -d¡_pÜt -; - -146 -ušt8_t - * -´ÙocÞ -; - -147  -lb_pkt - *lb_pkt = (lb_pkt *) - -148 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -MBUF_HDR_ROOM -); - -150 ià( - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_ty³ -è=ð -ETHER_TYPE_IPv6 -) { - -151 -¤c_addr - = ( -ušt32_t - *)& -lb_pkt --> -v6_pÜt -. -v6 -.src_addr; - -152 -d¡_addr - = ( -ušt32_t - *)& -lb_pkt --> -v6_pÜt -. -v6 -.dst_addr; - -153 -¤c_pÜt - = & -lb_pkt --> -v6_pÜt -.src_port; - -154 -d¡_pÜt - = & -lb_pkt --> -v6_pÜt -.dst_port; - -155 -´ÙocÞ - = & -lb_pkt --> -v6_pÜt -. -v6 -. -´Ùo -; - -157 -¤c_addr - = & -lb_pkt --> -v4_pÜt -. -v4 -.src_addr; - -158 -d¡_addr - = & -lb_pkt --> -v4_pÜt -. -v4 -.dst_addr; - -159 -¤c_pÜt - = & -lb_pkt --> -v4_pÜt -.src_port; - -160 -d¡_pÜt - = & -lb_pkt --> -v4_pÜt -.dst_port; - -161 -´ÙocÞ - = & -lb_pkt --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -; - -164  -p_lßdb --> -n_lb_tu¶es -) { - -169 ià( - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_ty³ -è=ð -ETHER_TYPE_IPv6 -) - -170 -‹mp1 - = - `¹e_bsw­32 -( -d¡_addr -[3]è^ * -d¡_pÜt -; - -172 -‹mp1 - = * -d¡_addr - ^ * -d¡_pÜt -; - -174 -‹mp2 - = ( -‹mp1 - >> 24) ^ (temp1 >> 16) ^ - -175 ( -‹mp1 - >> 8) ^emp1; - -177 -‹mp3 - = ( -‹mp2 - >> 4) ^ (temp2 & 0xf); - -180 -th»ad - = -‹mp3 - % -Áh»ads -; - -182 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -183 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -184  -th»ad -; - -189 ià( - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_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_v4 - = - `¹e_jhash -(& -hash_key -[0], 4, 0); - -198 -th»ad - = ( -hash_v4 - % -Áh»ads -); - -201 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -202 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -204 ià( -LOADB_DEBUG - > 3) - -205 - `´štf -("thread: %u hash: %x hash_key: %x\n", - -206 -th»ad -, -hash_v4 -, -hash_key -[0]); - -207  -th»ad -; - -212 ià( - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_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_v4 - = - `¹e_jhash -(& -hash_key -[0], 6, 0); - -224 -th»ad - = ( -hash_v4 - % -Áh»ads -); - -227 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -228 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -230 ià( -LOADB_DEBUG - > 3) { - -231 - `´štf -("public_addr: %x…ublic_port: %x\n", - -232 -hash_key -[0], * -d¡_pÜt -); - -233 - `´štf -("thread: %u hash: %x hash_key0: %x " - -234 "hash_key1: %x\n", -th»ad -, -hash_v4 -, - -235 -hash_key -[0], hash_key[1]); - -237  -th»ad -; - -240 - `´štf -("Inv®id‚_lb_tu¶es: %d\n", -p_lßdb --> -n_lb_tu¶es -); - -245 ià( - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_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_v4 - = - `¹e_soárss -(( -ušt32_t - *)& -tu¶e -, - -259 -RTE_THASH_V4_L4_LEN -, - -260 -deçuÉ_rss_key -); - -264 -th»ad - = ( -hash_v4 - % -Áh»ads -); - -267 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -268 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -270 ià( -LOADB_DEBUG - > 3) { - -271 - `´štf -("src_addr: %x dst_addr: %x src_port: %x " - -272 "d¡_pÜt: %x\n", -tu¶e -. -v4 -. -¤c_addr -,u¶e.v4. -d¡_addr -, - -273 -tu¶e -. -v4 -. -¥Üt -,u¶e.v4. -dpÜt -); - -274 - `´štf -("th»ad: %u hash: %x\n", -th»ad -, -hash_v4 -); - -277  -th»ad -; - -281 ià( - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_ty³ -) == - -282 -ETHER_TYPE_IPv6 -) { - -284 -¤c_addr - += 3; - -285 -d¡_addr - += 3; - -289 -‹mp1 - = * -¤c_addr - ^ * -d¡_addr - ^ * -¤c_pÜt - ^ - -290 * -d¡_pÜt - ^ * -´ÙocÞ -; - -292 -‹mp2 - = ( -‹mp1 - >> 24) ^ (temp1 >> 16) ^ (temp1 >> 8) ^emp1; - -293 -‹mp3 - = ( -‹mp2 - >> 4) ^ (temp2 & 0xf); - -298 -th»ad - = ( -‹mp3 - % -Áh»ads -); - -301 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -302 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -304 ià( -LOADB_DEBUG - > 3) { - -305 - `´štf -("thread: %uemp1: %xemp2: %xemp3: %x\n", - -306 -th»ad -, -‹mp1 -, -‹mp2 -, -‹mp3 -); - -307 - `´štf -("src_addr: %x dst_addr: %x src_port: %x " - -308 "d¡_pÜt: %x…rÙocÞ: %x\n", * -¤c_addr -, * -d¡_addr -, - -309 * -¤c_pÜt -, * -d¡_pÜt -, * -´ÙocÞ -); - -311  -th»ad -; - -314 - `´štf -("Inv®id‚_lb_tu¶es: %d\n", -p_lßdb --> -n_lb_tu¶es -); - -318 - } -} - -320 -ušt8_t - - $ÿlcuϋ_lb_th»ad_pub -( -¹e_mbuf - * -pkt -, * -¬g -) - -322 -ušt32_t - -hash_key -[2], -hash_v4 -; - -323 -ušt32_t - -‹mp1 -, -‹mp2 -, -‹mp3 -; - -324 -ušt8_t - -th»ad -; - -325  -p–še_lßdb_š_pÜt_h_¬g - * -­ - = -¬g -; - -326  -p–še_lßdb - * -p_lßdb - = (p–še_lßdb *è -­ --> -p -; - -327 -ušt8_t - -Áh»ads - = -p_lßdb --> -n_vnf_th»ads -; - -328  -¹e_thash_tu¶e - -tu¶e -; - -330 -ušt32_t - * -¤c_addr -; - -331 -ušt32_t - * -d¡_addr -; - -332 -ušt16_t - * -¤c_pÜt -; - -333 -ušt16_t - * -d¡_pÜt -; - -334 -ušt8_t - * -´ÙocÞ -; - -335  -lb_pkt - *lb_pkt = (lb_pkt *) - -336 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, - -337 -MBUF_HDR_ROOM -); - -339 ià( - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_ty³ -è=ð -ETHER_TYPE_IPv6 -) { - -340 -¤c_addr - = ( -ušt32_t - *)& -lb_pkt --> -v6_pÜt -. -v6 -.src_addr; - -341 -d¡_addr - = ( -ušt32_t - *)& -lb_pkt --> -v6_pÜt -. -v6 -.dst_addr; - -342 -¤c_pÜt - = & -lb_pkt --> -v6_pÜt -.src_port; - -343 -d¡_pÜt - = & -lb_pkt --> -v6_pÜt -.dst_port; - -344 -´ÙocÞ - = & -lb_pkt --> -v6_pÜt -. -v6 -. -´Ùo -; - -346 -¤c_addr - = & -lb_pkt --> -v4_pÜt -. -v4 -.src_addr; - -347 -d¡_addr - = & -lb_pkt --> -v4_pÜt -. -v4 -.dst_addr; - -348 -¤c_pÜt - = & -lb_pkt --> -v4_pÜt -.src_port; - -349 -d¡_pÜt - = & -lb_pkt --> -v4_pÜt -.dst_port; - -350 -´ÙocÞ - = & -lb_pkt --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -; - -353  -p_lßdb --> -n_lb_tu¶es -) { - -358 -‹mp1 - = * -¤c_addr - ^ * -¤c_pÜt -; - -359 -‹mp2 - = ( -‹mp1 - >> 24) ^ (temp1 >> 16) ^ - -360 ( -‹mp1 - >> 8) ^emp1; - -361 -‹mp3 - = ( -‹mp2 - >> 4) ^ (temp2 & 0xf); - -364 -th»ad - = -‹mp3 - % -Áh»ads -; - -366 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -367 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -369  -th»ad -; - -374 -hash_key -[0] = - `¹e_bsw­32 -(* -¤c_addr -); - -377 -hash_v4 - = - `¹e_jhash -(& -hash_key -[0], 4, 0); - -380 -th»ad - = -hash_v4 - % -Áh»ads -; - -382 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -383 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -385 ià( -LOADB_DEBUG - > 3) - -386 - `´štf -("thread: %u hash: %x hash_key: %x\n", - -387 -th»ad -, -hash_v4 -, -hash_key -[0]); - -388  -th»ad -; - -393 -hash_key -[0] = - `¹e_bsw­32 -(* -¤c_addr -); - -394 -hash_key -[1] = * -¤c_pÜt - << 16; - -397 -hash_v4 - = - `¹e_jhash -(& -hash_key -[0], 6, 0); - -400 -th»ad - = -hash_v4 - % -Áh»ads -; - -402 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -403 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -405 ià( -LOADB_DEBUG - > 3) { - -406 - `´štf -("thread: %u hash: %x hash_key0: %x " - -407 "hash_key1: %x\n", -th»ad -, -hash_v4 -, - -408 -hash_key -[0], hash_key[1]); - -409 - `´štf -("public_addr: %x…ublic_port: %x\n", - -410 -hash_key -[0], * -¤c_pÜt -); - -412  -th»ad -; - -415 - `´štf -("Inv®id‚_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_v4 - = - `¹e_soárss -(( -ušt32_t - *)& -tu¶e -, - -427 -RTE_THASH_V4_L4_LEN -, -deçuÉ_rss_key -); - -431 -th»ad - = -hash_v4 - % -Áh»ads -; - -433 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -434 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -436 ià( -LOADB_DEBUG - > 3) { - -437 - `´štf -("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 -,u¶e.v4. -¥Üt -,u¶e.v4. -dpÜt -); - -441 - `´štf -("th»ad: %u hash: %x\n", -th»ad -, -hash_v4 -); - -443  -th»ad -; - -447 ià( - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_ty³ -) == - -448 -ETHER_TYPE_IPv6 -) { - -450 -¤c_addr - += 3; - -451 -d¡_addr - += 3; - -455 -‹mp1 - = * -¤c_addr - ^ * -d¡_addr - ^ * -¤c_pÜt - ^ - -456 * -d¡_pÜt - ^ * -´ÙocÞ -; - -457 -‹mp2 - = ( -‹mp1 - >> 24) ^ (temp1 >> 16) ^ - -458 ( -‹mp1 - >> 8) ^emp1; - -459 -‹mp3 - = ( -‹mp2 - >> 4) ^ (temp2 & 0xf); - -462 -th»ad - = -‹mp3 - % -Áh»ads -; - -464 -th»ad - = -­ --> -š_pÜt_id - + ( -p_lßdb --> -p -. -n_pÜts_š - * - -465 ( -th»ad - + 1è- -p_lßdb --> -p -. -n_pÜts_š -); - -467 ià( -LOADB_DEBUG - > 3) { - -468 - `´štf -("src_addr: %x dst_addr: %x src_port: %x " - -469 "d¡_pÜt: %x…rÙocÞ: %x\n", * -¤c_addr -, * -d¡_addr -, - -470 * -¤c_pÜt -, * -d¡_pÜt -, * -´ÙocÞ -); - -472 - `´štf -("thread: %uemp1: %xemp2: %xemp3: %x\n", - -473 -th»ad -, -‹mp1 -, -‹mp2 -, -‹mp3 -); - -476  -th»ad -; - -479 - `´štf -("Inv®id‚_lb_tu¶es: %d\n", -p_lßdb --> -n_lb_tu¶es -); - -483 - } -} - -485  -šlše -  - -486 - $pkt_wÜk_lßdb_key_´v -( - -487  -¹e_mbuf - * -pkt -, - -488 -__¹e_unu£d - -ušt32_t - -pkt_num -, - -489 * -¬g -) - -491  -p–še_lßdb_š_pÜt_h_¬g - * -­ - = -¬g -; - -492  -p–še_lßdb - * -p_lßdb - = (p–še_lßdb *) -­ --> -p -; - -493 -ušt32_t - -ouÜt_off£t - = -p_lßdb -->outport_offset; - -495  -lb_pkt - *lb_pkt = (lb_pkt *) - -496 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, - -497 -MBUF_HDR_ROOM -); - -498 -ušt32_t - * -out_pÜt - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -499 -ouÜt_off£t -); - -501 #ifdeà -MY_LOADB_DBG_PRINT - - -502 ià( -LOADB_DEBUG - == 3) - -503 - `´štf -("Start…kt_work_loadb_key\n"); - -506 ià(( -LOADB_DEBUG - > 2è&& ( -lb_pkt_´št_couÁ - < 10)) { - -507 - `´št_pkt1 -( -pkt -); - -508 -lb_pkt_´št_couÁ -++; - -509 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -511 - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_ty³ -), - -512 -lb_pkt --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -, -ETH_TYPE_ARP -, - -513 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -517 * -out_pÜt - = - `ÿlcuϋ_lb_th»ad_´v -( -pkt -, -¬g -); - -519 -p_lßdb --> -»ûivedLBPktCouÁ -++; - -521 #ifdeà -MY_LOADB_DBG_PRINT - - -522 ià( -LOADB_DEBUG - == 3) - -523 - `´štf -("End…kt_work_loadb_key\n"); - -525 - } -} - -527  -šlše -  - -528 - $pkt_wÜk_lßdb_key_pub -( - -529  -¹e_mbuf - * -pkt -, - -530 -__¹e_unu£d - -ušt32_t - -pkt_num -, - -531 * -¬g -) - -533  -p–še_lßdb_š_pÜt_h_¬g - * -­ - = -¬g -; - -534  -p–še_lßdb - * -p_lßdb - = (p–še_lßdb *) -­ --> -p -; - -535 -ušt32_t - -ouÜt_off£t - = -p_lßdb -->outport_offset; - -537  -lb_pkt - *lb_pkt = (lb_pkt *) - -538 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, - -539 -MBUF_HDR_ROOM -); - -540 -ušt32_t - * -out_pÜt - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -541 -ouÜt_off£t -); - -543 #ifdeà -MY_LOADB_DBG_PRINT - - -544 ià( -LOADB_DEBUG - == 3) - -545 - `´štf -("Start…kt_work_loadb_key\n"); - -548 ià(( -LOADB_DEBUG - > 2è&& ( -lb_pkt_´št_couÁ - < 10)) { - -549 - `´št_pkt1 -( -pkt -); - -550 -lb_pkt_´št_couÁ -++; - -551 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -553 - `¹e_be_to_ýu_16 -( -lb_pkt --> -‘h -. -‘h”_ty³ -), - -554 -lb_pkt --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -, -ETH_TYPE_ARP -, - -555 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -559 * -out_pÜt - = - `ÿlcuϋ_lb_th»ad_pub -( -pkt -, -¬g -); - -561 -p_lßdb --> -»ûivedLBPktCouÁ -++; - -562 #ifdeà -MY_LOADB_DBG_PRINT - - -563 ià( -LOADB_DEBUG - == 3) - -564 - `´štf -("End…kt_work_loadb_key\n"); - -566 - } -} - -568  -šlše -  - -569 - $pkt4_wÜk_lßdb_key_´v -( - -570  -¹e_mbuf - ** -pkt -, - -571 -__¹e_unu£d - -ušt32_t - -pkt_num -, - -572 * -¬g -) - -574  -p–še_lßdb_š_pÜt_h_¬g - * -­ - = -¬g -; - -575  -p–še_lßdb - * -p_lßdb - = (p–še_lßdb *) -­ --> -p -; - -576 -ušt32_t - -ouÜt_off£t - = -p_lßdb -->outport_offset; - -578 -ušt32_t - * -out_pÜt0 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[0], - -579 -ouÜt_off£t -); - -580 -ušt32_t - * -out_pÜt1 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[1], - -581 -ouÜt_off£t -); - -582 -ušt32_t - * -out_pÜt2 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[2], - -583 -ouÜt_off£t -); - -584 -ušt32_t - * -out_pÜt3 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[3], - -585 -ouÜt_off£t -); - -587  -lb_pkt - * -lb_pkt0 - = (lb_pkt *) - -588 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[0], - -589 -MBUF_HDR_ROOM -); - -590  -lb_pkt - * -lb_pkt1 - = (lb_pkt *) - -591 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[1], - -592 -MBUF_HDR_ROOM -); - -593  -lb_pkt - * -lb_pkt2 - = (lb_pkt *) - -594 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[2], - -595 -MBUF_HDR_ROOM -); - -596  -lb_pkt - * -lb_pkt3 - = (lb_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 - `´štf -("Start…kt4_work_loadb_key\n"); - -605 ià(( -LOADB_DEBUG - > 2è&& ( -lb_pkt_´št_couÁ - < 10)) { - -606 - `´št_pkt1 -( -pkt -[0]); - -607 -lb_pkt_´št_couÁ -++; - -609 - `´štf -("\nEth Typ %x, Prot %x\n", - -610 - `¹e_be_to_ýu_16 -( -lb_pkt0 --> -‘h -. -‘h”_ty³ -), - -611 -lb_pkt0 --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -); - -613 - `´št_pkt1 -( -pkt -[1]); - -614 -lb_pkt_´št_couÁ -++; - -616 - `´štf -("\nEth Typ %x, Prot %x\n", - -617 - `¹e_be_to_ýu_16 -( -lb_pkt1 --> -‘h -. -‘h”_ty³ -), - -618 -lb_pkt1 --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -); - -620 - `´št_pkt1 -( -pkt -[2]); - -621 -lb_pkt_´št_couÁ -++; - -623 - `´štf -("\nEth Typ %x, Prot %x\n", - -624 - `¹e_be_to_ýu_16 -( -lb_pkt2 --> -‘h -. -‘h”_ty³ -), - -625 -lb_pkt2 --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -); - -627 - `´št_pkt1 -( -pkt -[3]); - -628 -lb_pkt_´št_couÁ -++; - -630 - `´štf -("\nEth Typ %x, Prot %x\n", - -631 - `¹e_be_to_ýu_16 -( -lb_pkt3 --> -‘h -. -‘h”_ty³ -), - -632 -lb_pkt3 --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -); - -634 * -out_pÜt0 - = - `ÿlcuϋ_lb_th»ad_´v -( -pkt -[0], -¬g -); - -635 * -out_pÜt1 - = - `ÿlcuϋ_lb_th»ad_´v -( -pkt -[1], -¬g -); - -636 * -out_pÜt2 - = - `ÿlcuϋ_lb_th»ad_´v -( -pkt -[2], -¬g -); - -637 * -out_pÜt3 - = - `ÿlcuϋ_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 - `´štf -("End…kt4_work_loadb_key\n"); - -646 - } -} - -648  -šlše -  - -649 - $pkt4_wÜk_lßdb_key_pub -( - -650  -¹e_mbuf - ** -pkt -, - -651 -__¹e_unu£d - -ušt32_t - -pkt_num -, - -652 * -¬g -) - -654  -p–še_lßdb_š_pÜt_h_¬g - * -­ - = -¬g -; - -655  -p–še_lßdb - * -p_lßdb - = (p–še_lßdb *) -­ --> -p -; - -656 -ušt32_t - -ouÜt_off£t - = -p_lßdb -->outport_offset; - -658 -ušt32_t - * -out_pÜt0 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[0], - -659 -ouÜt_off£t -); - -660 -ušt32_t - * -out_pÜt1 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[1], - -661 -ouÜt_off£t -); - -662 -ušt32_t - * -out_pÜt2 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[2], - -663 -ouÜt_off£t -); - -664 -ušt32_t - * -out_pÜt3 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -[3], - -665 -ouÜt_off£t -); - -667  -lb_pkt - * -lb_pkt0 - = (lb_pkt *) - -668 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[0], - -669 -MBUF_HDR_ROOM -); - -670  -lb_pkt - * -lb_pkt1 - = (lb_pkt *) - -671 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[1], - -672 -MBUF_HDR_ROOM -); - -673  -lb_pkt - * -lb_pkt2 - = (lb_pkt *) - -674 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[2], - -675 -MBUF_HDR_ROOM -); - -676  -lb_pkt - * -lb_pkt3 - = (lb_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 - `´štf -("Start…kt4_work_loadb_key\n"); - -685 ià(( -LOADB_DEBUG - > 2è&& ( -lb_pkt_´št_couÁ - < 10)) { - -686 - `´št_pkt1 -( -pkt -[0]); - -687 -lb_pkt_´št_couÁ -++; - -689 - `´štf -("\nEth Typ %x, Prot %x\n", - -690 - `¹e_be_to_ýu_16 -( -lb_pkt0 --> -‘h -. -‘h”_ty³ -), - -691 -lb_pkt0 --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -); - -693 - `´št_pkt1 -( -pkt -[1]); - -694 -lb_pkt_´št_couÁ -++; - -696 - `´štf -("\nEth Typ %x, Prot %x\n", - -697 - `¹e_be_to_ýu_16 -( -lb_pkt1 --> -‘h -. -‘h”_ty³ -), - -698 -lb_pkt1 --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -); - -700 - `´št_pkt1 -( -pkt -[2]); - -701 -lb_pkt_´št_couÁ -++; - -703 - `´štf -("\nEth Typ %x, Prot %x\n", - -704 - `¹e_be_to_ýu_16 -( -lb_pkt2 --> -‘h -. -‘h”_ty³ -), - -705 -lb_pkt2 --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -); - -707 - `´št_pkt1 -( -pkt -[3]); - -708 -lb_pkt_´št_couÁ -++; - -710 - `´štf -("\nEth Typ %x, Prot %x\n", - -711 - `¹e_be_to_ýu_16 -( -lb_pkt3 --> -‘h -. -‘h”_ty³ -), - -712 -lb_pkt3 --> -v4_pÜt -. -v4 -. -Ãxt_´Ùo_id -); - -714 * -out_pÜt0 - = - `ÿlcuϋ_lb_th»ad_´v -( -pkt -[0], -¬g -); - -715 * -out_pÜt1 - = - `ÿlcuϋ_lb_th»ad_pub -( -pkt -[1], -¬g -); - -716 * -out_pÜt2 - = - `ÿlcuϋ_lb_th»ad_pub -( -pkt -[2], -¬g -); - -717 * -out_pÜt3 - = - `ÿlcuϋ_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 - `´štf -("End…kt4_work_loadb_key\n"); - -725 - } -} - -727 -PIPELINE_LOADB_KEY_PORT_IN_AH -( -pÜt_š_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_š_ah_lßdb_key_pub -, - -732 -pkt_wÜk_lßdb_key_pub -, - -733 -pkt4_wÜk_lßdb_key_pub -); - -736 - $p–še_lßdb_·r£_¬gs -( -p–še_lßdb - * -p -, - -737  -p–še_·¿ms - * -·¿ms -) - -739 -ušt32_t - -ouÜt_off£t_´e£Á - = 0; - -740 -ušt32_t - -n_vnf_th»ads_´e£Á - = 0; - -741 -ušt32_t - -pktq_š_´v_´e£Á - = 0; - -742 -ušt32_t - -´v_que_hªdËr_´e£Á - = 0; - -743 -ušt32_t - -´v_to_pub_m­_´e£Á - = 0; - -744 -ušt8_t - -n_´v_š_pÜt - = 0; - -745 -ušt32_t - -i -; - -748 -p --> -n_lb_tu¶es - = 0; - -750 ià( -LOADB_DEBUG - > 2) - -751 - `´štf -("LOADB…ipeline_loadb_parse_args…arams->n_args: %d\n", - -752 -·¿ms --> -n_¬gs -); - -754  -i - = 0; i < -·¿ms --> -n_¬gs -; i++) { - -755 * -¬g_Çme - = -·¿ms --> -¬gs_Çme -[ -i -]; - -756 * -¬g_v®ue - = -·¿ms --> -¬gs_v®ue -[ -i -]; - -758 ià( -LOADB_DEBUG - > 2) - -759 - `´štf -("LOADB‡rgs[%d]: % %d, %s\n", -i -, -¬g_Çme -, - -760 - `©oi -( -¬g_v®ue -),‡rg_value); - -763 ià( - `¡rcmp -( -¬g_Çme -, "outport_offset") == 0) { - -764 ià( -ouÜt_off£t_´e£Á -) - -766 -ouÜt_off£t_´e£Á - = 1; - -768 -p --> -ouÜt_off£t - = - `©oi -( -¬g_v®ue -); - -769 ià( -p --> -ouÜt_off£t - <= 0) { - -770 - `´štf -("Outport_offset is invalid\n"); - -773 - `´štf -("ouÜt_off£t: 0x%x\n", -p --> -ouÜ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 - `´štf -("n_vnf_threads : MIN->0 MAX->16\n"); - -791 - `´štf -("n_vnf_th»ad  : 0x%x\n", -p --> -n_vnf_th»ads -); - -792 - `´štf -("tÙ®_vnf_th»ads: 0x%x\n", -tÙ®_vnf_th»ads -); - -797 ià( - `¡rcmp -( -¬g_Çme -, "pktq_in_prv") == 0) { - -798 ià( -pktq_š_´v_´e£Á -) { - -799 - `´štf -("Duplicate…ktq_in_prv ... " - -803 -pktq_š_´v_´e£Á - = 1; - -805  -rxpÜt - = 0, -j - = 0; - -806  -phy_pÜt_num -[8]; - -807 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "RXQ"); - -808  -tok’ -) { - -809 -j - = 0; - -810 ( -j - < 7è&& ( -tok’ -[j] != '.')) { - -811 -phy_pÜt_num -[ -j -] = -tok’ -[j]; - -812 -j -++; - -814 -phy_pÜt_num -[ -j -] = '\0'; - -815 -rxpÜt - = - `©oi -( -phy_pÜt_num -); - -816 - `´štf -("token: %s,…hy_port_str: %s, " - -818 -tok’ -, -phy_pÜt_num -, -rxpÜt -); - -819 -´v_š_pÜt_a -[ -n_´v_š_pÜt -++] = -rxpÜt -; - -821 ià( -rxpÜt - < 0xff){ - -822 if( -rxpÜt - < -PIPELINE_MAX_PORT_IN -) - -823 -š_pÜt_dœ_a -[ -rxpÜt -] = 1; - -825 -tok’ - = - `¡¹ok -( -NULL -, "RXQ"); - -828 ià( -n_´v_š_pÜt - == 0) { - -829 - `´štf -("VNF common…arseƒrror - " - -838 ià( - `¡rcmp -( -¬g_Çme -, "prv_que_handler") == 0) { - -840 ià( -´v_que_hªdËr_´e£Á -) { - -841 - `´štf -("Duplicate…ktq_in_prv ..\n\n"); - -844 -´v_que_hªdËr_´e£Á - = 1; - -845 -n_´v_š_pÜt - = 0; - -847 * -tok’ -; - -848  -rxpÜt - = 0; - -850 -tok’ - = - `¡¹ok -( -¬g_v®ue -, "("); - -851 -tok’ - = - `¡¹ok -(token, ")"); - -852 -tok’ - = - `¡¹ok -(token, ","); - -853 - `´štf -("*****…rv_que_handler *****\n"); - -854 ià( -tok’ -) - -855 - `´štf -("¡ršg i :%s\n", -tok’ -); - -857 ià( -tok’ -) - -859 - `´štf -("¡ršg i :%s\n", -tok’ -); - -862  -tok’ - !ð -NULL -) { - -863 - `´štf -(" %s\n", -tok’ -); - -864 -rxpÜt - = - `©oi -( -tok’ -); - -865 -´v_que_pÜt_šdex -[ -n_´v_š_pÜt -++] = -rxpÜt -; - -866 ià( -rxpÜt - < 0xff){ - -867 if( -rxpÜt - < -PIPELINE_MAX_PORT_IN -) - -868 -š_pÜt_eg»ss_´v -[ -rxpÜt -] = 1; - -870 -p --> -n_´v_Q -++; - -871 -tok’ - = - `¡¹ok -( -NULL -, ","); - -874 ià( -n_´v_š_pÜt - == 0) { - -875 - `´štf -("VNF common…arseƒrr -‚o…rv RX…hy…ort\n"); - -882 ià( - `¡rcmp -( -¬g_Çme -, "prv_to_pub_map") == 0) { - -883 ià( -´v_to_pub_m­_´e£Á -) { - -884 - `´štf -("Duplicated…rv_to_pub_map ... " - -888 -´v_to_pub_m­_´e£Á - = 1; - -890  -rxpÜt - = 0, -txpÜt - = 0, -j - = 0, -k - = 0; - -891  -rx_phy_pÜt_num -[5]; - -892  -tx_phy_pÜt_num -[5]; - -893 * -tok’ - = - `¡¹ok -( -¬g_v®ue -, "("); - -894  -tok’ -) { - -895 -j - = 0; - -896 ( -j - < 4è&& ( -tok’ -[j] != ',')) { - -897 -rx_phy_pÜt_num -[ -j -] = -tok’ -[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 ( -k - < 4è&& ( -tok’ -[ -j -+k] != ')')) { - -906 -tx_phy_pÜt_num -[ -k -] = -tok’ -[ -j -+k]; - -907 -k -++; - -909 -tx_phy_pÜt_num -[ -k -] = '\0'; - -910 -txpÜt - = - `©oi -( -tx_phy_pÜt_num -); - -912 - `´štf -("token: %s,rx_phy_port_str: %s,…hy_port_num " - -914 -tok’ -, -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 ( -š_pÜt_dœ_a -[ -rxpÜt -] != 1)) { - -920 - `´štf -("CG-NAPT…arseƒrror - " - -922 "Tx %d, Rx Dœ %d\n", -rxpÜt -, -txpÜt -, - -923 -š_pÜt_dœ_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’ - = - `¡¹ok -( -NULL -, "("); - -940 ià( - `¡rcmp -( -¬g_Çme -, "n_lb_tuples") == 0) { - -941 -p --> -n_lb_tu¶es - = - `©oi -( -¬g_v®ue -); - -942 - `´štf -("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Üt_off£t_´e£Á - == 0)) - -960 - } -} - -962  - $check_lßdb_th»ad -( - -963  -­p_·¿ms - * -­p -, - -964  -p–še_·¿ms - * -·¿ms -, - -965 -št32_t - -n_vnf_th»ads -) - -967 -ušt32_t - -i -; - -968  -p–še_num - = 0; - -969  -couÁ - = 0; - -970  -dÚt_ÿ» - = - `ssÿnf -( -·¿ms --> -Çme -, "PIPELINE%d", & -p–še_num -); - -971 ià( -dÚt_ÿ» - != 1) - -974  -i - = -p–še_num - + 2; i < -­p --> -n_p–šes -; i++) { - -975  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -976 ià(! - `¡ºcmp -( -p --> -ty³ -, "LOADB", - `¡¾’ -(p->type))) - -978 -couÁ -++; - -980 ià( -n_vnf_th»ads - !ð -couÁ -) - -984 - } -} - -986 * - $p–še_lßdb_š™ -( - -987  -p–še_·¿ms - * -·¿ms -, - -988 -__¹e_unu£d - * -¬g -) - -992  -p–še - * -p -; - -993  -p–še_lßdb - * -p_lßdb -; - -994 -ušt32_t - -size -, -i -, -š_pÜts_¬g_size -; - -997 ià(( -·¿ms - =ð -NULL -) || - -998 ( -·¿ms --> -n_pÜts_š - =ð0è|| (·¿ms-> -n_pÜts_out - == 0)) - -999  -NULL -; - -1002 -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -p–še_lßdb -)); - -1003 -p - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -1004 -p_lßdb - = ( -p–še_lßdb - *) -p -; - -1005 ià( -p - =ð -NULL -) - -1006  -NULL -; - -1008 - `¡rýy -( -p --> -Çme -, -·¿ms -->name); - -1009 -p --> -log_Ëv– - = -·¿ms -->log_level; - -1011 - `PLOG -( -p -, -HIGH -, "LOADB"); - -1013 -p_lßdb --> -n_vnf_th»ads - = 0; - -1014 -p_lßdb --> -ouÜt_off£t - = 0; - -1015 -p_lßdb --> -»ûivedLBPktCouÁ - = 0; - -1016 -p_lßdb --> -drݳdLBPktCouÁ - = 0; - -1017  -i - = 0; i < -PIPELINE_MAX_PORT_IN -; i++) { - -1018 -p_lßdb --> -lšks_m­ -[ -i -] = 0xff; - -1020 -p_lßdb --> -p–še_num - = 0xff; - -1021 -p_lßdb --> -n_´v_Q - = 0; - -1022 -p_lßdb --> -n_pub_Q - = 0; - -1026 ià( - `p–še_lßdb_·r£_¬gs -( -p_lßdb -, -·¿ms -)) - -1027  -NULL -; - -1031  -¹e_p–še_·¿ms - -p–še_·¿ms - = { - -1032 . -Çme - = "LOADB", - -1033 . -sock‘_id - = -·¿ms -->socket_id, - -1034 . -off£t_pÜt_id - = 0, - -1037 -p -->°ð - `¹e_p–še_ü—‹ -(& -p–še_·¿ms -); - -1038 ià( -p -->°=ð -NULL -) { - -1039 - `¹e_ä“ -( -p -); - -1040  -NULL -; - -1043 - `´štf -("Lßdb…->°%p, sock‘ %d\n", -p -->p, - -1044 -p–še_·¿ms -. -sock‘_id -); - -1048 -š_pÜts_¬g_size - = - -1049 - `RTE_CACHE_LINE_ROUNDUP -((( -p–še_lßdb_š_pÜt_h_¬g -)) - -1050 * ( -·¿ms --> -n_pÜts_š -)); - -1051  -p–še_lßdb_š_pÜt_h_¬g - * -­ - = - -1052 ( -p–še_lßdb_š_pÜt_h_¬g - *) - -1053 - `¹e_zm®loc -( -NULL -, - -1054 -š_pÜts_¬g_size -, - -1055 -RTE_CACHE_LINE_SIZE -); - -1056 ià( -­ - =ð -NULL -) - -1057  -NULL -; - -1059 - `´štf -("­…oš‹¸%p\n", -­ -); - -1062 -p --> -n_pÜts_š - = -·¿ms -->n_ports_in; - -1063  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -1065 ( -­ -[ -i -]). -p - = -p_lßdb -; - -1066 ( -­ -[ -i -]). -š_pÜt_id - = i; - -1068  -¹e_p–še_pÜt_š_·¿ms - -pÜt_·¿ms - = { - -1069 . -Ýs - = - -1070 - `p–še_pÜt_š_·¿ms_g‘_Ýs -(& -·¿ms --> -pÜt_š - - -1071 [ -i -]), - -1072 . -¬g_ü—‹ - = - -1073 - `p–še_pÜt_š_·¿ms_cÚv”t -(& -·¿ms --> -pÜt_š - - -1074 [ -i -]), - -1076 . -f_aùiÚ - = -NULL -, - -1077 . -¬g_ah - = &( -­ -[ -i -]), - -1078 . -bur¡_size - = -·¿ms --> -pÜt_š -[ -i -].burst_size, - -1082 ià( - `is_pÜt_šdex_´iv‹ -( -i -)) { - -1083 - `´štf -("LOADB %d…܈i Prv\n", -i -); - -1084 -pÜt_·¿ms -. -f_aùiÚ - = -pÜt_š_ah_lßdb_key_´v -; - -1086 - `´štf -("LOADB %d…܈i Pub\n", -i -); - -1087 -pÜt_·¿ms -. -f_aùiÚ - = -pÜt_š_ah_lßdb_key_pub -; - -1090  -¡©us - = - `¹e_p–še_pÜt_š_ü—‹ -( -p -->p, - -1091 & -pÜt_·¿ms -, - -1092 & -p --> -pÜt_š_id -[ -i -]); - -1094 ià( -¡©us -) { - -1095 - `¹e_p–še_ä“ -( -p -->p); - -1096 - `¹e_ä“ -( -p -); - -1097  -NULL -; - -1102 -p_lßdb --> -n_pub_Q - =…_lßdb-> -p -. -n_pÜts_š - -…_lßdb-> -n_´v_Q -; - -1103 - `´štf -("LOADB :‚_prv_Q - %d‚_pub_Q - %d\n", - -1104 -p_lßdb --> -n_´v_Q -,…_lßdb-> -n_pub_Q -); - -1106  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -1107 - `´štf -("is_pÜt_šdex_´iv‹(%d): %d\n", -i -, - -1108 - `is_pÜt_šdex_´iv‹ -( -i -)); - -1109 - `´štf -("is_phy_pÜt_´iv‹(%d): %d\n", -i -, - -1110 - `is_phy_pÜt_´iv‹ -( -i -)); - -1111 - `´štf -("aùiÚ hªd˸oà%d:%p\n", -i -, - -1112 -p_lßdb --> -p -.p-> -pÜts_š -[ -i -]. -f_aùiÚ -); - -1116 -p --> -n_pÜts_out - = -·¿ms -->n_ports_out; - -1117  -i - = 0; i < -p --> -n_pÜts_out -; i++) { - -1118  -¹e_p–še_pÜt_out_·¿ms - -pÜt_·¿ms - = { - -1119 . -Ýs - = - -1120 - `p–še_pÜt_out_·¿ms_g‘_Ýs -(& -·¿ms --> -pÜt_out - - -1121 [ -i -]), - -1122 . -¬g_ü—‹ - = - -1123 - `p–še_pÜt_out_·¿ms_cÚv”t -(& -·¿ms --> -pÜt_out - - -1124 [ -i -]), - -1125 . -f_aùiÚ - = -NULL -, - -1126 . -¬g_ah - = -NULL -, - -1129  -¡©us - = - `¹e_p–še_pÜt_out_ü—‹ -( -p -->p, - -1130 & -pÜt_·¿ms -, - -1131 & -p --> -pÜt_out_id -[ -i -]); - -1133 ià( -¡©us -) { - -1134 - `¹e_p–še_ä“ -( -p -->p); - -1135 - `¹e_ä“ -( -p -); - -1136  -NULL -; - -1139 - `´štf -("OuÜˆp->pÜt_out_id[%d] %p\n", -i -, - -1140 & -p --> -pÜt_out_id -[ -i -]); - -1143  -p–še_num - = 0; - -1144  -dÚt_ÿ» - = - `ssÿnf -( -·¿ms --> -Çme -, "PIPELINE%d", & -p–še_num -); - -1145 ià( -dÚt_ÿ» - != 1) { - -1146 - `´štf -("Unableo„ead…ipeline‚umber\n"); - -1147  -NULL -; - -1149 -p_lßdb --> -p–še_num - =…ipeline_num; - -1151 - `£t_ouÜt_id -( -p–še_num -, -p -, -lb_ouÜt_id -); - -1152 - `£t_phy_ouÜt_m­ -( -p–še_num -, -p_lßdb --> -lšks_m­ -); - -1154 - `£t_pÜt_to_lßdb_m­ -( -p–še_num -); - -1156 - `»gi¡”_lßdb_to_¬p -( -p–še_num -, -p -, -­p -); - -1158 - `»gi¡”_p–še_Qs -( -p_lßdb --> -p–še_num -, -p -); - -1159 - `£t_lšk_m­ -( -p_lßdb --> -p–še_num -, -p -,…_lßdb-> -lšks_m­ -); - -1163 -p --> -n_bËs - = 1; - -1166  -¹e_bË_¬¿y_·¿ms - -bË_¬¿y_·¿ms - = { - -1167 . -n_’Œ›s - = -MAX_VNF_THREADS -, - -1168 . -off£t - = -p_lßdb --> -ouÜt_off£t -, - -1170  -¹e_p–še_bË_·¿ms - -bË_·¿ms - = { - -1171 . -Ýs - = & -¹e_bË_¬¿y_Ýs -, - -1172 . -¬g_ü—‹ - = & -bË_¬¿y_·¿ms -, - -1173 . -f_aùiÚ_h™ - = -NULL -, - -1174 . -f_aùiÚ_miss - = -NULL -, - -1175 . -¬g_ah - = -p_lßdb -, - -1176 . -aùiÚ_d©a_size - = 0, - -1179  -¡©us -; - -1181 -¡©us - = - `¹e_p–še_bË_ü—‹ -( -p -->p, - -1182 & -bË_·¿ms -, - -1183 & -p --> -bË_id -[0]); - -1185 ià( -¡©us -) { - -1186 - `¹e_p–še_ä“ -( -p -->p); - -1187 - `¹e_ä“ -( -p -); - -1188  -NULL -; - -1193  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -1194  -¡©us - = - `¹e_p–še_pÜt_š_cÚÃù_to_bË -( - -1195 -p -->p, - -1196 -p --> -pÜt_š_id -[ -i -], - -1197 -p --> -bË_id -[0]); - -1199 ià( -¡©us -) { - -1200 - `¹e_p–še_ä“ -( -p -->p); - -1201 - `¹e_ä“ -( -p -); - -1202  -NULL -; - -1207  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -1208  -¡©us - = - `¹e_p–še_pÜt_š_’abË -( -p -->p, - -1209 -p --> -pÜt_š_id -[ -i -]); - -1211 ià( -¡©us -) { - -1212 - `¹e_p–še_ä“ -( -p -->p); - -1213 - `¹e_ä“ -( -p -); - -1214  -NULL -; - -1220  -i - = 0; i < -MAX_VNF_THREADS -; i++) { - -1221  -¹e_bË_¬¿y_key - -key - = { - -1222 . -pos - = -i -, - -1224  -lßdb_bË_’Œy - -’Œy -; - -1225 -’Œy -. -h—d -. -aùiÚ - = -RTE_PIPELINE_ACTION_PORT -; - -1227 ià( -i - < -p --> -n_pÜts_out -) { - -1228 -’Œy -. -h—d -. -pÜt_id - = -p --> -pÜt_out_id -[ -i -]; - -1229 - `´štf -("\n˜%d,…->pÜt_out_id[%d] %d", -i -, i, - -1230 -p --> -pÜt_out_id -[ -i -]); - -1233 -’Œy -. -h—d -. -pÜt_id - = -p --> -pÜt_out_id -[0]; - -1234 -’Œy -. -h—d -. -aùiÚ - = -RTE_PIPELINE_ACTION_DROP -; - -1237  -¹e_p–še_bË_’Œy - * -’Œy_±r -; - -1238  -key_found -, -¡©us -; - -1239 -¡©us - = - `¹e_p–še_bË_’Œy_add -( - -1240 -p -->p, - -1241 -p --> -bË_id -[0], - -1242 & -key -, - -1243 ( -¹e_p–še_bË_’Œy - *) - -1244 & -’Œy -, - -1245 & -key_found -, - -1246 & -’Œy_±r -); - -1247 ià( -¡©us -) { - -1248 - `¹e_p–še_ä“ -( -p -->p); - -1249 - `¹e_ä“ -( -p -); - -1250  -NULL -; - -1256  -¹e_p–še_bË_’Œy - -deçuÉ_’Œy - = { - -1257 . -aùiÚ - = -RTE_PIPELINE_ACTION_PORT -, - -1259 . -pÜt_id - = -p --> -pÜt_out_id -[0], - -1262  -¹e_p–še_bË_’Œy - * -deçuÉ_’Œy_±r -; - -1264  -¡©us - = - `¹e_p–še_bË_deçuÉ_’Œy_add -( - -1265 -p -->p, - -1266 -p --> -bË_id -[0], - -1267 & -deçuÉ_’Œy -, - -1268 & -deçuÉ_’Œy_±r -); - -1270 ià( -¡©us -) { - -1271 - `¹e_p–še_ä“ -( -p -->p); - -1272 - `¹e_ä“ -( -p -); - -1273  -NULL -; - -1279 ià( - `¹e_p–še_check -( -p -->p) < 0) { - -1280 - `¹e_p–še_ä“ -( -p -->p); - -1281 - `¹e_ä“ -( -p -); - -1282  -NULL -; - -1286 -p --> -n_msgq - = -·¿ms -->n_msgq; - -1287  -i - = 0; i < -p --> -n_msgq -; i++) - -1288 -p --> -msgq_š -[ -i -] = -·¿ms -->msgq_in[i]; - -1289  -i - = 0; i < -p --> -n_msgq -; i++) - -1290 -p --> -msgq_out -[ -i -] = -·¿ms -->msgq_out[i]; - -1293 - `memýy -( -p --> -hªdËrs -, handlers, (p->handlers)); - -1294 - `memýy -( -p_lßdb --> -cu¡om_hªdËrs -, - -1295 -cu¡om_hªdËrs -, ( -p_lßdb -->custom_handlers)); - -1297  -p -; - -1298 - } -} - -1300  - $p–še_lßdb_ä“ -(* -p–še -) - -1302  -p–še - * -p - = (pipeline *)pipeline; - -1305 ià( -p - =ð -NULL -) - -1309 - `¹e_p–še_ä“ -( -p -->p); - -1310 - `¹e_ä“ -( -p -); - -1312 - } -} - -1315 - $p–še_lßdb_Œack -(* -p–še -, - -1316 -__¹e_unu£d - -ušt32_t - -pÜt_š -, ušt32_ˆ* -pÜt_out -) - -1318  -p–še - * -p - = (pipeline *)pipeline; - -1321 ià(( -p - =ð -NULL -è|| ( -pÜt_š - >ðp-> -n_pÜts_š -è|| ( -pÜt_out - == NULL)) - -1324 ià( -p --> -n_pÜts_š - == 1) { - -1325 * -pÜt_out - = 0; - -1330 - } -} - -1332  - $p–še_lßdb_tim” -(* -p–še -) - -1334  -p–še - * -p - = (pipeline *)pipeline; - -1336 - `p–še_msg_»q_hªdË -( -p -); - -1337 - `¹e_p–še_æush -( -p -->p); - -1340 - } -} - -1342 * - $p–še_lßdb_msg_»q_’Œy_dbg_hªdËr -( -p–še - * -p -, * -msg -) - -1344  -p–še_lßdb_’Œy_dbg_msg_r¥ - * -r¥ - = -msg -; - -1345 -ušt8_t - * -Msg - = -msg -; - -1346  -p–še_lßdb - * -p_lßdb - = (p–še_lßdb *) -p -; - -1348 -r¥ --> -¡©us - = 0; - -1350 - `´štf -("LoadB debug handler called with‡rgs %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 - `´štf -("\nLßdB Pack‘ Sts: Reûived %" -PRIu64 - "\n", - -1356 -p_lßdb --> -»ûivedLBPktCouÁ -); - -1357  -r¥ -; - -1359 ià( -Msg -[ -LOADB_DBG_CMD_OFST -] =ð -LOADB_DBG_CMD_STATS_CLEAR -) { - -1360 - `´štf -("\nLßdB Pack‘ Sts: Reûived %" -PRIu64 - "\n", - -1361 -p_lßdb --> -»ûivedLBPktCouÁ -); - -1362 -p_lßdb --> -»ûivedLBPktCouÁ - = 0; - -1363  -r¥ -; - -1366 ià( -Msg -[ -LOADB_DBG_CMD_OFST -] =ð -LOADB_DBG_CMD_DBG_LEVEL -) { - -1367 -LOADB_DEBUG - = -Msg -[ -LOADB_DBG_CMD_OFST - + 1]; - -1368 - `´štf -("LOADB Debug†ev– s‘Ø%d\n", -LOADB_DEBUG -); - -1369 -lb_pkt_´št_couÁ - = 0; - -1370  -r¥ -; - -1372 ià( -Msg -[ -LOADB_DBG_CMD_OFST -] =ð -LOADB_DBG_CMD_DBG_SHOW -) { - -1373 - `´štf -("\nLßdB DBG Lev–: %u\n", -LOADB_DEBUG -); - -1374  -r¥ -; - -1376 ià( -Msg -[ -LOADB_DBG_CMD_OFST -] =ð -LOADB_DBG_CMD_IF_STATS -) { - -1377 - `´štf -("\n"); - -1378 -ušt8_t - -i -, -j -; - -1380  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -1381  -¹e_‘h_¡©s - -¡©s -; - -1382 - `¹e_‘h_¡©s_g‘ -( -p_lßdb --> -lšks_m­ -[ -i -], & -¡©s -); - -1383 ià( - `is_phy_pÜt_´iv‹ -( -i -)) - -1384 - `´štf -("Priv©P܈St %d\n", -i -); - -1386 - `´štf -("PubliøP܈St  %d\n", -i -); - -1387 - `´štf -("\n\tack‘ : %" -PRIu64 - "\n\topackets : %" - -1388 -PRIu64 - "\n\tierrors : %" PRIu64 - -1389 "\n\tۼܠ : %" -PRIu64 - "\n\trx_nombuf: %" - -1390 -PRIu64 - "\n", -¡©s -. -ack‘s -, sts. -Ýack‘s -, - -1391 -¡©s -. -›¼Üs -, sts. -Û¼Üs -, sts. -rx_nombuf -); - -1392 ià( - `is_phy_pÜt_´iv‹ -( -i -)) - -1393 - `´štf -("Private Q: "); - -1395 - `´štf -("Public Q: "); - -1396  -j - = 0; j < -RTE_ETHDEV_QUEUE_STAT_CNTRS -; j++) - -1397 - `´štf -(" %" -PRIu64 - ", %" PRIu64 "|", - -1398 -¡©s -. -q_ack‘s -[ -j -], - -1399 -¡©s -. -q_Ýack‘s -[ -j -]); - -1401 - `´štf -("\n\n"); - -1404  -r¥ -; - -1407  -r¥ -; - -1409 - } -} - -1411  -p–še_be_Ýs - - gp–še_lßdb_be_Ýs - = { - -1412 . -f_š™ - = -p–še_lßdb_š™ -, - -1413 . - gf_ä“ - = -p–še_lßdb_ä“ -, - -1414 . - gf_run - = -NULL -, - -1415 . - gf_tim” - = -p–še_lßdb_tim” -, - -1416 . - gf_Œack - = -p–še_lßdb_Œack -, - - @VIL/pipeline_loadb/pipeline_loadb_be.h - -17 #iâdeà -__INCLUDE_PIPELINE_LOADB_BE_H__ - - -18  - #__INCLUDE_PIPELINE_LOADB_BE_H__ - - - ) - -20  - ~<¹e_.h -> - -21  - ~"p–še_commÚ_be.h -" - -22  - ~<­p.h -> - -24  - #MBUF_HDR_ROOM - 256 - - ) - -25  - #ETH_HDR_SIZE - 14 - - ) - -26  - #IP_HDR_SRC_ADR_OFST - 12 - - ) - -27  - #IP_HDR_DST_ADR_OFST - 16 - - ) - -28  - #IP_HDR_PROTOCOL_OFST - 9 - - ) - -29  - #IP_HDR_SIZE - 20 - - ) - -30  - #IPV6_HDR_SRC_ADR_OFST - 8 - - ) - -31  - #IPV6_HDR_DST_ADR_OFST - 24 - - ) - -32  - #IPV6_HDR_PROTOCOL_OFST - 6 - - ) - -33  - #IPV6_HDR_SIZE - 40 - - ) - -34  - #IP_PROTOCOL_TCP - 6 - - ) - -35  - #IP_PROTOCOL_UDP - 17 - - ) - -36  - #PIPELINE_LOADB_KEY_MAX_SIZE - 64 - - ) - -38  - #LOADB_ING_DIR - 0 - - ) - -39  - #LOADB_EGR_DIR - 1 - - ) - -41  - #LOADB_DBG_CMD_OFST - 8 - - ) - -42  - #LOADB_DBG_CMD_STATS_SHOW - 0 - - ) - -43  - #LOADB_DBG_CMD_STATS_CLEAR - 1 - - ) - -44  - #LOADB_DBG_CMD_DBG_LEVEL - 2 - - ) - -45  - #LOADB_DBG_CMD_DBG_SHOW - 3 - - ) - -46  - #LOADB_DBG_CMD_IF_STATS - 4 - - ) - -47  - #LOADB_DBG_CMD_OFST1 - 10 - - ) - -49  - #PIPELINE_LOADB_KEY_PORT_IN_AH -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -51 - `f_ah -( \ - -52 -__¹e_unu£d -  -¹e_p–še - * -¹e_p -, \ - -53  -¹e_mbuf - ** -pkts -, \ - -54 -ušt32_t - -n_pkts -, \ - -55 * -¬g -) \ - -57 -ušt32_t - -i -, -j -; \ - -59  -j - = 0; j < -n_pkts -; j++) \ - -60 - `¹e_´eãtch0 -( -pkts -[ -j -]); \ - -61 -pkt_bur¡_út - = 0; \ - -62  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) \ - -63 - `f_pkt4_wÜk -(& -pkts -[ -i -], i, -¬g -); \ - -65  ; -i - < -n_pkts -; i++) \ - -66 - `f_pkt_wÜk -( -pkts -[ -i -], i, -¬g -); \ - -70 } - - ) - -72 -ušt8_t - -LOADB_DEBUG -; - -73 -ušt8_t - -š_pÜt_eg»ss_´v -[ -PIPELINE_MAX_PORT_IN -]; - -74 -ušt8_t - -´v_que_pÜt_šdex -[ -PIPELINE_MAX_PORT_IN -]; - -75 -ušt8_t - -š_pÜt_dœ_a -[ -PIPELINE_MAX_PORT_IN -]; - -77 -ušt8_t - -g‘_š_pÜt_dœ -(uint8_t); - -78 -ušt8_t - -is_pÜt_šdex_´iv‹ -( -ušt16_t -); - -79 -ušt8_t - -is_phy_pÜt_´iv‹ -( -ušt16_t -); - -80 -ušt32_t - -g‘_´v_to_pub_pÜt -(ušt32_ˆ* -_addr -, -ušt8_t - -ty³ -); - -81 -ušt32_t - -g‘_pub_to_´v_pÜt -(ušt32_ˆ* -_addr -, -ušt8_t - -ty³ -); - -82 -ušt8_t - -´v_to_pub_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -90  - sp–še_lßdb_š_pÜt_h_¬g - { - -91  -p–še_lßdb - * - mp -; - -92 -ušt8_t - - mš_pÜt_id -; - -98 - ep–še_lßdb_msg_»q_ty³ - { - -100 - mPIPELINE_LOADB_MSG_REQ_ENTRY_DBG -, - -101 - mPIPELINE_LOADB_MSG_REQS - - -107  - sp–še_lßdb_’Œy_dbg_msg_»q - { - -108 -p–še_msg_»q_ty³ - - mty³ -; - -109 -p–še_lßdb_msg_»q_ty³ - - msubty³ -; - -112 -ušt8_t - - md©a -[5]; - -115  - sp–še_lßdb_’Œy_dbg_msg_r¥ - { - -116  - m¡©us -; - -117 * - m’Œy_±r -; - -120  -p–še_be_Ýs - -p–še_lßdb_be_Ýs -; - -121  - sv4_hdr_pÜt - { - -122  -v4_hdr - - mv4 -; - -123 -ušt16_t - - m¤c_pÜt -; - -124 -ušt16_t - - md¡_pÜt -; - -126 } -__©Œibu‹__ -(( -__·cked__ -)); - -127  - sv6_hdr_pÜt - { - -128  -v6_hdr - - mv6 -; - -129 -ušt16_t - - m¤c_pÜt -; - -130 -ušt16_t - - md¡_pÜt -; - -132 } -__©Œibu‹__ -(( -__·cked__ -)); - -134  - slb_pkt - { - -135  -‘h”_hdr - - m‘h -; - -137  -v4_hdr_pÜt - - mv4_pÜt -; - -138  -v6_hdr_pÜt - - mv6_pÜt -; - -140 } -__©Œibu‹__ -(( -__·cked__ -)); - -142 -ušt8_t - -ÿlcuϋ_lb_th»ad_´v -( -¹e_mbuf - * -pkt -, * -¬g -); - -143 -ušt8_t - -ÿlcuϋ_lb_th»ad_pub -( -¹e_mbuf - * -pkt -, * -¬g -); - -144  -check_lßdb_th»ad -( - -145  -­p_·¿ms - * -­p -, - -146  -p–še_·¿ms - * -·¿ms -, - -147 -št32_t - -n_vnf_th»ads -); - - @VIL/pipeline_master/pipeline_master.c - -17  - ~"p–še_ma¡”.h -" - -18  - ~"p–še_ma¡”_be.h -" - -20  -p–še_ã_Ýs - - gp–še_ma¡”_ã_Ýs - = { - -21 . -f_š™ - = -NULL -, - -22 . - gf_ä“ - = -NULL -, - -23 . - gcmds - = -NULL -, - -26  -p–še_ty³ - - gp–še_ma¡” - = { - -27 . -Çme - = "MASTER", - -28 . - gbe_Ýs - = & -p–še_ma¡”_be_Ýs -, - -29 . - gã_Ýs - = & -p–še_ma¡”_ã_Ýs -, - - @VIL/pipeline_master/pipeline_master.h - -17 #iâdeà -__INCLUDE_PIPELINE_MASTER_H__ - - -18  - #__INCLUDE_PIPELINE_MASTER_H__ - - - ) - -20  - ~"p–še.h -" - -22  -p–še_ty³ - -p–še_ma¡” -; - - @VIL/pipeline_master/pipeline_master_be.c - -17  - ~ - -18  - ~ - -20  - ~<¹e_commÚ.h -> - -21  - ~<¹e_m®loc.h -> - -23  - ~ - -24  - ~ - -25  - ~ - -26  - ~ - -28  - ~"­p.h -" - -29  - ~"p–še_ma¡”_be.h -" - -31  - sp–še_ma¡” - { - -32  -­p_·¿ms - * - m­p -; - -33  -cmdlše - * - mþ -; - -34  - msüt_fže_dÚe -; - -35 } - g__¹e_ÿche_®igÃd -; - -38 - $p–še_š™ -( -__¹e_unu£d -  -p–še_·¿ms - * -·¿ms -, * -¬g -) - -40  -­p_·¿ms - * -­p - = (­p_·¿m *è -¬g -; - -41  -p–še_ma¡” - * -p -; - -42 -ušt32_t - -size -; - -45 ià( -­p - =ð -NULL -) - -46  -NULL -; - -49 -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -p–še_ma¡” -)); - -50 -p - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -51 ià( -p - =ð -NULL -) - -52  -NULL -; - -55 -p --> -­p - =‡pp; - -57 -p --> -þ - = - `cmdlše_¡dš_Ãw -( -­p --> -cmds -, "pipeline> "); - -58 ià( -p --> -þ - =ð -NULL -) { - -59 - `¹e_ä“ -( -p -); - -60  -NULL -; - -63 -p --> -süt_fže_dÚe - = 0; - -64 ià( -­p --> -süt_fže - =ð -NULL -) - -65 -p --> -süt_fže_dÚe - = 1; - -67  (*è -p -; - -68 - } -} - -71 - $p–še_ä“ -(* -p–še -) - -73  -p–še_ma¡” - * -p - = (p–še_ma¡” *è -p–še -; - -75 ià( -p - =ð -NULL -) - -76  - -EINVAL -; - -78 - `cmdlše_¡dš_ex™ -( -p --> -þ -); - -79 - `¹e_ä“ -( -p -); - -82 - } -} - -85 - $p–še_run -(* -p–še -) - -87  -p–še_ma¡” - * -p - = (p–še_ma¡” *è -p–še -; - -88  -¡©us -; - -90 ià( -p --> -süt_fže_dÚe - == 0) { - -91  -­p_·¿ms - * -­p - = -p -->app; - -92  -fd - = - `ݒ -( -­p --> -süt_fže -, -O_RDONLY -); - -94 ià( -fd - < 0) - -95 - `´štf -("Cannot open CLI script file \"%s\"\n", - -96 -­p --> -süt_fže -); - -98  -cmdlše - * -fže_þ -; - -100 - `´štf -("Running CLI script file \"%s\" ...\n", - -101 -­p --> -süt_fže -); - -102 -fže_þ - = - `cmdlše_Ãw -( -p --> -þ --> -ùx -, "", -fd -, 1); - -103 - `cmdlše_š‹¿ù -( -fže_þ -); - -104 - `þo£ -( -fd -); - -107 -p --> -süt_fže_dÚe - = 1; - -110 -¡©us - = - `cmdlše_pÞl -( -p --> -þ -); - -111 ià( -¡©us - < 0) - -112 - `¹e_·nic -("CLI…ÞȔrÜ (%" -PRId32 - ")\n", -¡©us -); - -113 ià( -¡©us - =ð -RDLINE_EXITED -) { - -114 - `cmdlše_¡dš_ex™ -( -p --> -þ -); - -115 - `¹e_ex™ -(0, "Bye!\n"); - -119 - } -} - -122 - $p–še_tim” -( -__¹e_unu£d - * -p–še -) - -124 - `¹e_tim”_mªage -(); - -126 - } -} - -128  -p–še_be_Ýs - - gp–še_ma¡”_be_Ýs - = { - -129 . -f_š™ - = -p–še_š™ -, - -130 . - gf_ä“ - = -p–še_ä“ -, - -131 . - gf_run - = -p–še_run -, - -132 . - gf_tim” - = -p–še_tim” -, - -133 . - gf_Œack - = -NULL -, - - @VIL/pipeline_master/pipeline_master_be.h - -17 #iâdeà -__INCLUDE_PIPELINE_MASTER_BE_H__ - - -18  - #__INCLUDE_PIPELINE_MASTER_BE_H__ - - - ) - -20  - ~"p–še_commÚ_be.h -" - -22  -p–še_be_Ýs - -p–še_ma¡”_be_Ýs -; - - @VIL/pipeline_passthrough/pipeline_passthrough.c - -17  - ~"p–še_·s¡hrough.h -" - -18  - ~"p–še_·s¡hrough_be.h -" - -20  -p–še_ã_Ýs - - gp–še_·s¡hrough_ã_Ýs - = { - -21 . -f_š™ - = -NULL -, - -22 . - gf_ä“ - = -NULL -, - -23 . - gcmds - = -NULL -, - -26  -p–še_ty³ - - gp–še_·s¡hrough - = { - -27 . -Çme - = "PASS-THROUGH", - -28 . - gbe_Ýs - = & -p–še_·s¡hrough_be_Ýs -, - -29 . - gã_Ýs - = & -p–še_·s¡hrough_ã_Ýs -, - - @VIL/pipeline_passthrough/pipeline_passthrough.h - -17 #iâdeà -__INCLUDE_PIPELINE_PASSTHROUGH_H__ - - -18  - #__INCLUDE_PIPELINE_PASSTHROUGH_H__ - - - ) - -20  - ~"p–še.h -" - -22  -p–še_ty³ - -p–še_·s¡hrough -; - - @VIL/pipeline_passthrough/pipeline_passthrough_be.c - -17  - ~<¡ršg.h -> - -19  - ~<¹e_commÚ.h -> - -20  - ~<¹e_m®loc.h -> - -21  - ~<¹e_by‹Üd”.h -> - -22  - ~<¹e_bË_¡ub.h -> - -23  - ~<¹e_bË_hash.h -> - -24  - ~<¹e_p–še.h -> - -26  - ~"p–še_·s¡hrough_be.h -" - -27  - ~"p–še_aùiÚs_commÚ.h -" - -28  - ~"·r£r.h -" - -29  - ~"hash_func.h -" - -31  - sp–še_·s¡hrough - { - -32  -p–še - - mp -; - -33  -p–še_·s¡hrough_·¿ms - - m·¿ms -; - -34 -¹e_bË_hash_Ý_hash - - mf_hash -; - -35 } - g__¹e_ÿche_®igÃd -; - -37  -p–še_msg_»q_hªdËr - - ghªdËrs -[] = { - -38 [ -PIPELINE_MSG_REQ_PING -] = - -39 -p–še_msg_»q_pšg_hªdËr -, - -40 [ -PIPELINE_MSG_REQ_STATS_PORT_IN -] = - -41 -p–še_msg_»q_¡©s_pÜt_š_hªdËr -, - -42 [ -PIPELINE_MSG_REQ_STATS_PORT_OUT -] = - -43 -p–še_msg_»q_¡©s_pÜt_out_hªdËr -, - -44 [ -PIPELINE_MSG_REQ_STATS_TABLE -] = - -45 -p–še_msg_»q_¡©s_bË_hªdËr -, - -46 [ -PIPELINE_MSG_REQ_PORT_IN_ENABLE -] = - -47 -p–še_msg_»q_pÜt_š_’abË_hªdËr -, - -48 [ -PIPELINE_MSG_REQ_PORT_IN_DISABLE -] = - -49 -p–še_msg_»q_pÜt_š_di§bË_hªdËr -, - -50 [ -PIPELINE_MSG_REQ_CUSTOM -] = - -51 -p–še_msg_»q_šv®id_hªdËr -, - -54  -šlše - -__©Œibu‹__ -(( -®ways_šlše -))  - -55 - $pkt_wÜk -( - -56  -¹e_mbuf - * -pkt -, - -57 * -¬g -, - -58 -ušt32_t - -dma_size -, - -59 -ušt32_t - -hash_’abËd -, - -60 -ušt32_t - -lb_hash -, - -61 -ušt32_t - -pÜt_out_pow2 -) - -63  -p–še_·s¡hrough - * -p - = -¬g -; - -65 -ušt64_t - * -dma_d¡ - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkt -, - -66 -p --> -·¿ms -. -dma_d¡_off£t -); - -67 -ušt64_t - * -dma_¤c - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkt -, - -68 -p --> -·¿ms -. -dma_¤c_off£t -); - -69 -ušt64_t - * -dma_mask - = (ušt64_ˆ*è -p --> -·¿ms -. -dma_¤c_mask -; - -70 -ušt32_t - * -dma_hash - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkt -, - -71 -p --> -·¿ms -. -dma_hash_off£t -); - -72 -ušt32_t - -i -; - -75  -i - = 0; i < ( -dma_size - / 8); i++) - -76 -dma_d¡ -[ -i -] = -dma_¤c -[i] & -dma_mask -[i]; - -79 ià( -hash_’abËd -) { - -80 -ušt32_t - -hash - = -p --> - `f_hash -( -dma_d¡ -, -dma_size -, 0); - -81 * -dma_hash - = -hash -; - -83 ià( -lb_hash -) { - -84 -ušt32_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–še_pÜt_out_·ck‘_š£¹ -( -p -->p.p, - -94 -pÜt_out -, -pkt -); - -97 - } -} - -99  -šlše - -__©Œibu‹__ -(( -®ways_šlše -))  - -100 - $pkt4_wÜk -( - -101  -¹e_mbuf - ** -pkts -, - -102 * -¬g -, - -103 -ušt32_t - -dma_size -, - -104 -ušt32_t - -hash_’abËd -, - -105 -ušt32_t - -lb_hash -, - -106 -ušt32_t - -pÜt_out_pow2 -) - -108  -p–še_·s¡hrough - * -p - = -¬g -; - -110 -ušt64_t - * -dma_d¡0 - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkts -[0], - -111 -p --> -·¿ms -. -dma_d¡_off£t -); - -112 -ušt64_t - * -dma_d¡1 - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkts -[1], - -113 -p --> -·¿ms -. -dma_d¡_off£t -); - -114 -ušt64_t - * -dma_d¡2 - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkts -[2], - -115 -p --> -·¿ms -. -dma_d¡_off£t -); - -116 -ušt64_t - * -dma_d¡3 - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkts -[3], - -117 -p --> -·¿ms -. -dma_d¡_off£t -); - -119 -ušt64_t - * -dma_¤c0 - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkts -[0], - -120 -p --> -·¿ms -. -dma_¤c_off£t -); - -121 -ušt64_t - * -dma_¤c1 - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkts -[1], - -122 -p --> -·¿ms -. -dma_¤c_off£t -); - -123 -ušt64_t - * -dma_¤c2 - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkts -[2], - -124 -p --> -·¿ms -. -dma_¤c_off£t -); - -125 -ušt64_t - * -dma_¤c3 - = - `RTE_MBUF_METADATA_UINT64_PTR -( -pkts -[3], - -126 -p --> -·¿ms -. -dma_¤c_off£t -); - -128 -ušt64_t - * -dma_mask - = (ušt64_ˆ*è -p --> -·¿ms -. -dma_¤c_mask -; - -130 -ušt32_t - * -dma_hash0 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkts -[0], - -131 -p --> -·¿ms -. -dma_hash_off£t -); - -132 -ušt32_t - * -dma_hash1 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkts -[1], - -133 -p --> -·¿ms -. -dma_hash_off£t -); - -134 -ušt32_t - * -dma_hash2 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkts -[2], - -135 -p --> -·¿ms -. -dma_hash_off£t -); - -136 -ušt32_t - * -dma_hash3 - = - `RTE_MBUF_METADATA_UINT32_PTR -( -pkts -[3], - -137 -p --> -·¿ms -. -dma_hash_off£t -); - -139 -ušt32_t - -i -; - -142  -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_’abËd -) { - -151 -ušt32_t - -hash0 - = -p --> - `f_hash -( -dma_d¡0 -, -dma_size -, 0); - -152 -ušt32_t - -hash1 - = -p --> - `f_hash -( -dma_d¡1 -, -dma_size -, 0); - -153 -ušt32_t - -hash2 - = -p --> - `f_hash -( -dma_d¡2 -, -dma_size -, 0); - -154 -ušt32_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št32_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–še_pÜt_out_·ck‘_š£¹ -( -p -->p.p, - -184 -pÜt_out0 -, -pkts -[0]); - -185 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p -->p.p, - -186 -pÜt_out1 -, -pkts -[1]); - -187 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p -->p.p, - -188 -pÜt_out2 -, -pkts -[2]); - -189 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p -->p.p, - -190 -pÜt_out3 -, -pkts -[3]); - -193 - } -} - -195  - #PKT_WORK -( -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -) \ - -196  -šlše - \ - -197 -pkt_wÜk_size -## -dma_size -## -_hash -## -hash_’abËd - \ - -198 ## -_lb -## -lb_hash -## -_pw -## - `pÜt_pow2 -( \ - -199  -¹e_mbuf - * -pkt -, \ - -200 * -¬g -) \ - -202 - `pkt_wÜk -( -pkt -, -¬g -, -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -); \ - -203 } - - ) - -205  - #PKT4_WORK -( -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -) \ - -206  -šlše - \ - -207 -pkt4_wÜk_size -## -dma_size -## -_hash -## -hash_’abËd - \ - -208 ## -_lb -## -lb_hash -## -_pw -## - `pÜt_pow2 -( \ - -209  -¹e_mbuf - ** -pkts -, \ - -210 * -¬g -) \ - -212 - `pkt4_wÜk -( -pkts -, -¬g -, -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -); \ - -213 } - - ) - -215  - #pÜt_š_ah -( -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -) \ - -216 - `PKT_WORK -( -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -) \ - -217 - `PKT4_WORK -( -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -) \ - -218 - `PIPELINE_PORT_IN_AH -( -pÜt_š_ah_size -## -dma_size -## -_hash - \ - -219 ## -hash_’abËd -## -_lb -## -lb_hash -## -_pw -## -pÜt_pow2 -, \ - -220 -pkt_wÜk_size -## -dma_size -## -_hash -## -hash_’abËd - \ - -221 ## -_lb -## -lb_hash -## -_pw -## -pÜt_pow2 -, \ - -222 -pkt4_wÜk_size -## -dma_size -## -_hash -## -hash_’abËd - \ - -223 ## -_lb -## -lb_hash -## -_pw -## -pÜt_pow2 -) - - ) - -226  - #pÜt_š_ah_lb -( -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -) \ - -227 - `PKT_WORK -( -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -) \ - -228 - `PKT4_WORK -( -dma_size -, -hash_’abËd -, -lb_hash -, -pÜt_pow2 -) \ - -229 - `PIPELINE_PORT_IN_AH_HIJACK_ALL -( \ - -230 -pÜt_š_ah_size -## -dma_size -## -_hash -## -hash_’abËd - \ - -231 ## -_lb -## -lb_hash -## -_pw -## -pÜt_pow2 -, \ - -232 -pkt_wÜk_size -## -dma_size -## -_hash -## -hash_’abËd - \ - -233 ## -_lb -## -lb_hash -## -_pw -## -pÜt_pow2 -, \ - -234 -pkt4_wÜk_size -## -dma_size -## -_hash -## -hash_’abËd - \ - -235 ## -_lb -## -lb_hash -## -_pw -## -pÜt_pow2 -) - - ) - -239 - $pÜt_š_ah -(8, 0, 0, 0) - -240 - $pÜt_š_ah -(8, 1, 0, 0) - -241 - $pÜt_š_ah_lb -(8, 1, 1, 0) - -242 - $pÜt_š_ah_lb -(8, 1, 1, 1) - -244 - $pÜt_š_ah -(16, 0, 0, 0) - -245 - $pÜt_š_ah -(16, 1, 0, 0) - -246 - $pÜt_š_ah_lb -(16, 1, 1, 0) - -247 - $pÜt_š_ah_lb -(16, 1, 1, 1) - -249 - $pÜt_š_ah -(24, 0, 0, 0) - -250 - $pÜt_š_ah -(24, 1, 0, 0) - -251 - $pÜt_š_ah_lb -(24, 1, 1, 0) - -252 - $pÜt_š_ah_lb -(24, 1, 1, 1) - -254 - $pÜt_š_ah -(32, 0, 0, 0) - -255 - $pÜt_š_ah -(32, 1, 0, 0) - -256 - $pÜt_š_ah_lb -(32, 1, 1, 0) - -257 - $pÜt_š_ah_lb -(32, 1, 1, 1) - -259 - $pÜt_š_ah -(40, 0, 0, 0) - -260 - $pÜt_š_ah -(40, 1, 0, 0) - -261 - $pÜt_š_ah_lb -(40, 1, 1, 0) - -262 - $pÜt_š_ah_lb -(40, 1, 1, 1) - -264 - $pÜt_š_ah -(48, 0, 0, 0) - -265 - $pÜt_š_ah -(48, 1, 0, 0) - -266 - $pÜt_š_ah_lb -(48, 1, 1, 0) - -267 - $pÜt_š_ah_lb -(48, 1, 1, 1) - -269 - $pÜt_š_ah -(56, 0, 0, 0) - -270 - $pÜt_š_ah -(56, 1, 0, 0) - -271 - $pÜt_š_ah_lb -(56, 1, 1, 0) - -272 - $pÜt_š_ah_lb -(56, 1, 1, 1) - -274 - $pÜt_š_ah -(64, 0, 0, 0) - -275 - $pÜt_š_ah -(64, 1, 0, 0) - -276 - $pÜt_š_ah_lb -(64, 1, 1, 0) - -277 - $pÜt_š_ah_lb -(64, 1, 1, 1) - -279  -¹e_p–še_pÜt_š_aùiÚ_hªdËr - - -280 - $g‘_pÜt_š_ah -( -p–še_·s¡hrough - * -p -) - -282 ià( -p --> -·¿ms -. -dma_’abËd - == 0) - -283  -NULL -; - -285 ià( -p --> -·¿ms -. -dma_hash_’abËd -) { - -286 ià( -p --> -·¿ms -. -lb_hash_’abËd -) { - -287 ià( - `¹e_is_pow”_of_2 -( -p -->p. -n_pÜts_out -)) - -288  -p --> -·¿ms -. -dma_size -) { - -290 8:  -pÜt_š_ah_size8_hash1_lb1_pw1 -; - -291 16:  -pÜt_š_ah_size16_hash1_lb1_pw1 -; - -292 24:  -pÜt_š_ah_size24_hash1_lb1_pw1 -; - -293 32:  -pÜt_š_ah_size32_hash1_lb1_pw1 -; - -294 40:  -pÜt_š_ah_size40_hash1_lb1_pw1 -; - -295 48:  -pÜt_š_ah_size48_hash1_lb1_pw1 -; - -296 56:  -pÜt_š_ah_size56_hash1_lb1_pw1 -; - -297 64:  -pÜt_š_ah_size64_hash1_lb1_pw1 -; - -298 :  -NULL -; - -301  -p --> -·¿ms -. -dma_size -) { - -303 8:  -pÜt_š_ah_size8_hash1_lb1_pw0 -; - -304 16:  -pÜt_š_ah_size16_hash1_lb1_pw0 -; - -305 24:  -pÜt_š_ah_size24_hash1_lb1_pw0 -; - -306 32:  -pÜt_š_ah_size32_hash1_lb1_pw0 -; - -307 40:  -pÜt_š_ah_size40_hash1_lb1_pw0 -; - -308 48:  -pÜt_š_ah_size48_hash1_lb1_pw0 -; - -309 56:  -pÜt_š_ah_size56_hash1_lb1_pw0 -; - -310 64:  -pÜt_š_ah_size64_hash1_lb1_pw0 -; - -311 :  -NULL -; - -314  -p --> -·¿ms -. -dma_size -) { - -316 8:  -pÜt_š_ah_size8_hash1_lb0_pw0 -; - -317 16:  -pÜt_š_ah_size16_hash1_lb0_pw0 -; - -318 24:  -pÜt_š_ah_size24_hash1_lb0_pw0 -; - -319 32:  -pÜt_š_ah_size32_hash1_lb0_pw0 -; - -320 40:  -pÜt_š_ah_size40_hash1_lb0_pw0 -; - -321 48:  -pÜt_š_ah_size48_hash1_lb0_pw0 -; - -322 56:  -pÜt_š_ah_size56_hash1_lb0_pw0 -; - -323 64:  -pÜt_š_ah_size64_hash1_lb0_pw0 -; - -324 :  -NULL -; - -327  -p --> -·¿ms -. -dma_size -) { - -329 8:  -pÜt_š_ah_size8_hash0_lb0_pw0 -; - -330 16:  -pÜt_š_ah_size16_hash0_lb0_pw0 -; - -331 24:  -pÜt_š_ah_size24_hash0_lb0_pw0 -; - -332 32:  -pÜt_š_ah_size32_hash0_lb0_pw0 -; - -333 40:  -pÜt_š_ah_size40_hash0_lb0_pw0 -; - -334 48:  -pÜt_š_ah_size48_hash0_lb0_pw0 -; - -335 56:  -pÜt_š_ah_size56_hash0_lb0_pw0 -; - -336 64:  -pÜt_š_ah_size64_hash0_lb0_pw0 -; - -337 :  -NULL -; - -339 - } -} - -342 - $p–še_·s¡hrough_·r£_¬gs -( -p–še_·s¡hrough_·¿ms - * -p -, - -343  -p–še_·¿ms - * -·¿ms -) - -345 -ušt32_t - -dma_d¡_off£t_´e£Á - = 0; - -346 -ušt32_t - -dma_¤c_off£t_´e£Á - = 0; - -347 -ušt32_t - -dma_¤c_mask_´e£Á - = 0; - -348 -ušt32_t - -dma_size_´e£Á - = 0; - -349 -ušt32_t - -dma_hash_off£t_´e£Á - = 0; - -350 -ušt32_t - -lb_´e£Á - = 0; - -351 -ušt32_t - -i -; - -352  -dma_mask_¡r -[ -PIPELINE_PASSTHROUGH_DMA_SIZE_MAX - * 2]; - -355 -p --> -dma_’abËd - = 0; - -356 -p --> -dma_hash_’abËd - = 0; - -357 -p --> -lb_hash_’abËd - = 0; - -358 - `mem£t -( -p --> -dma_¤c_mask -, 0xFF, (p->dma_src_mask)); - -360  -i - = 0; i < -·¿ms --> -n_¬gs -; i++) { - -361 * -¬g_Çme - = -·¿ms --> -¬gs_Çme -[ -i -]; - -362 * -¬g_v®ue - = -·¿ms --> -¬gs_v®ue -[ -i -]; - -365 ià( - `¡rcmp -( -¬g_Çme -, "dma_dst_offset") == 0) { - -366  -¡©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št32 -(& -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_’abËd - = 1; - -386 ià( - `¡rcmp -( -¬g_Çme -, "dma_src_offset") == 0) { - -387  -¡©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št32 -(& -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_’abËd - = 1; - -407 ià( - `¡rcmp -( -¬g_Çme -, "dma_size") == 0) { - -408  -¡©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št32 -(& -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_’abËd - = 1; - -432 ià( - `¡rcmp -( -¬g_Çme -, "dma_src_mask") == 0) { - -433  -mask_¡r_Ën - = - `¡¾’ -( -¬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\"oØlÚg", -·¿ms --> -Çme -, - -444 -¬g_Çme -); - -446 - `¢´štf -( -dma_mask_¡r -, -mask_¡r_Ën - + 1, - -447 "%s", -¬g_v®ue -); - -449 -p --> -dma_’abËd - = 1; - -455 ià( - `¡rcmp -( -¬g_Çme -, "dma_hash_offset") == 0) { - -456  -¡©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št32 -(& -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_’abËd - = 1; - -471 -p --> -dma_’abË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_’abË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_’abËd -), - -502 "\"dma_d¡_off£t\"", -·¿ms --> -Çme -); - -503 - `PIPELINE_ARG_CHECK -(( -dma_¤c_off£t_´e£Á - =ð -p --> -dma_’abËd -), - -505 "\"dma_¤c_off£t\"", -·¿ms --> -Çme -); - -506 - `PIPELINE_ARG_CHECK -(( -dma_size_´e£Á - =ð -p --> -dma_’abËd -), - -508 "\"dma_size\"", -·¿ms --> -Çme -); - -509 - `PIPELINE_ARG_CHECK -(( -dma_hash_off£t_´e£Á - =ð -p --> -dma_’abËd -), - -511 "\"dma_hash_off£t\"", -·¿ms --> -Çme -); - -512 - `PIPELINE_ARG_CHECK -(( -p --> -lb_hash_’abËd - <ðp-> -dma_hash_’abËd -), - -514 "\"dma_hash_off£t\"", -·¿ms --> -Çme -); - -516 ià( -dma_¤c_mask_´e£Á -) { - -517 -ušt32_t - -dma_size - = -p -->dma_size; - -518  -¡©us -; - -520 - `PIPELINE_ARG_CHECK -(( - `¡¾’ -( -dma_mask_¡r -) == - -521 ( -dma_size - * 2)), "Parseƒrror in section " - -523 "dig™s", -·¿ms --> -Çme -, ( -dma_size - * 2)); - -525 -¡©us - = - `·r£_hex_¡ršg -( -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  -¹e_bË_hash_Ý_hash - - -538 - $g‘_hash_funùiÚ -( -p–še_·s¡hrough - * -p -) - -540  -p --> -·¿ms -. -dma_size -) { - -542 8:  -hash_deçuÉ_key8 -; - -543 16:  -hash_deçuÉ_key16 -; - -544 24:  -hash_deçuÉ_key24 -; - -545 32:  -hash_deçuÉ_key32 -; - -546 40:  -hash_deçuÉ_key40 -; - -547 48:  -hash_deçuÉ_key48 -; - -548 56:  -hash_deçuÉ_key56 -; - -549 64:  -hash_deçuÉ_key64 -; - -550 :  -NULL -; - -552 - } -} - -555 - $p–še_·s¡hrough_š™ -( -p–še_·¿ms - * -·¿ms -, - -556 -__¹e_unu£d - * -¬g -) - -558  -p–še - * -p -; - -559  -p–še_·s¡hrough - * -p_± -; - -560 -ušt32_t - -size -, -i -; - -563 ià(( -·¿ms - =ð -NULL -) || - -564 ( -·¿ms --> -n_pÜts_š - == 0) || - -565 ( -·¿ms --> -n_pÜts_out - == 0) || - -566 ( -·¿ms --> -n_pÜts_š - <…¬ams-> -n_pÜts_out -) || - -567 ( -·¿ms --> -n_pÜts_š - %…¬ams-> -n_pÜts_out -)) - -568  -NULL -; - -571 -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -p–še_·s¡hrough -)); - -572 -p - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -573 -p_± - = ( -p–še_·s¡hrough - *è -p -; - -574 ià( -p - =ð -NULL -) - -575  -NULL -; - -577 - `¡rýy -( -p --> -Çme -, -·¿ms -->name); - -578 -p --> -log_Ëv– - = -·¿ms -->log_level; - -580 - `PLOG -( -p -, -HIGH -, "Pass-through"); - -583 ià( - `p–še_·s¡hrough_·r£_¬gs -(& -p_± --> -·¿ms -,…arams)) - -584  -NULL -; - -585 -p_± --> -f_hash - = - `g‘_hash_funùiÚ -(p_pt); - -589  -¹e_p–še_·¿ms - -p–še_·¿ms - = { - -590 . -Çme - = "PASS-THROUGH", - -591 . -sock‘_id - = -·¿ms -->socket_id, - -592 . -off£t_pÜt_id - = 0, - -595 -p -->°ð - `¹e_p–še_ü—‹ -(& -p–še_·¿ms -); - -596 ià( -p -->°=ð -NULL -) { - -597 - `¹e_ä“ -( -p -); - -598  -NULL -; - -602 -p --> -n_pÜts_š - = -·¿ms -->n_ports_in; - -603 -p --> -n_pÜts_out - = -·¿ms -->n_ports_out; - -604 -p --> -n_bËs - =…-> -n_pÜts_š -; - -607  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -608  -¹e_p–še_pÜt_š_·¿ms - -pÜt_·¿ms - = { - -609 . -Ýs - = - `p–še_pÜt_š_·¿ms_g‘_Ýs -( - -610 & -·¿ms --> -pÜt_š -[ -i -]), - -611 . -¬g_ü—‹ - = - `p–še_pÜt_š_·¿ms_cÚv”t -( - -612 & -·¿ms --> -pÜt_š -[ -i -]), - -613 . -f_aùiÚ - = - `g‘_pÜt_š_ah -( -p_± -), - -614 . -¬g_ah - = -p_± -, - -615 . -bur¡_size - = -·¿ms --> -pÜt_š -[ -i -].burst_size, - -618  -¡©us - = - `¹e_p–še_pÜt_š_ü—‹ -( -p -->p, - -619 & -pÜt_·¿ms -, - -620 & -p --> -pÜt_š_id -[ -i -]); - -622 ià( -¡©us -) { - -623 - `¹e_p–še_ä“ -( -p -->p); - -624 - `¹e_ä“ -( -p -); - -625  -NULL -; - -630  -i - = 0; i < -p --> -n_pÜts_out -; i++) { - -631  -¹e_p–še_pÜt_out_·¿ms - -pÜt_·¿ms - = { - -632 . -Ýs - = - `p–še_pÜt_out_·¿ms_g‘_Ýs -( - -633 & -·¿ms --> -pÜt_out -[ -i -]), - -634 . -¬g_ü—‹ - = - `p–še_pÜt_out_·¿ms_cÚv”t -( - -635 & -·¿ms --> -pÜt_out -[ -i -]), - -636 . -f_aùiÚ - = -NULL -, - -637 . -¬g_ah - = -NULL -, - -640  -¡©us - = - `¹e_p–še_pÜt_out_ü—‹ -( -p -->p, - -641 & -pÜt_·¿ms -, - -642 & -p --> -pÜt_out_id -[ -i -]); - -644 ià( -¡©us -) { - -645 - `¹e_p–še_ä“ -( -p -->p); - -646 - `¹e_ä“ -( -p -); - -647  -NULL -; - -652  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -653  -¹e_p–še_bË_·¿ms - -bË_·¿ms - = { - -654 . -Ýs - = & -¹e_bË_¡ub_Ýs -, - -655 . -¬g_ü—‹ - = -NULL -, - -656 . -f_aùiÚ_h™ - = -NULL -, - -657 . -f_aùiÚ_miss - = -NULL -, - -658 . -¬g_ah - = -NULL -, - -659 . -aùiÚ_d©a_size - = 0, - -662  -¡©us - = - `¹e_p–še_bË_ü—‹ -( -p -->p, - -663 & -bË_·¿ms -, - -664 & -p --> -bË_id -[ -i -]); - -666 ià( -¡©us -) { - -667 - `¹e_p–še_ä“ -( -p -->p); - -668 - `¹e_ä“ -( -p -); - -669  -NULL -; - -674  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -675  -¡©us - = - `¹e_p–še_pÜt_š_cÚÃù_to_bË -( -p -->p, - -676 -p --> -pÜt_š_id -[ -i -], - -677 -p --> -bË_id -[ -i -]); - -679 ià( -¡©us -) { - -680 - `¹e_p–še_ä“ -( -p -->p); - -681 - `¹e_ä“ -( -p -); - -682  -NULL -; - -687  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -688  -¹e_p–še_bË_’Œy - -deçuÉ_’Œy - = { - -689 . -aùiÚ - = -RTE_PIPELINE_ACTION_PORT -, - -690 {. -pÜt_id - = -p --> -pÜt_out_id -[ - -691 -i - / ( -p --> -n_pÜts_š - /…-> -n_pÜts_out -)]}, - -694  -¹e_p–še_bË_’Œy - * -deçuÉ_’Œy_±r -; - -696  -¡©us - = - `¹e_p–še_bË_deçuÉ_’Œy_add -( -p -->p, - -697 -p --> -bË_id -[ -i -], - -698 & -deçuÉ_’Œy -, - -699 & -deçuÉ_’Œy_±r -); - -701 ià( -¡©us -) { - -702 - `¹e_p–še_ä“ -( -p -->p); - -703 - `¹e_ä“ -( -p -); - -704  -NULL -; - -709  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -710  -¡©us - = - `¹e_p–še_pÜt_š_’abË -( -p -->p, - -711 -p --> -pÜt_š_id -[ -i -]); - -713 ià( -¡©us -) { - -714 - `¹e_p–še_ä“ -( -p -->p); - -715 - `¹e_ä“ -( -p -); - -716  -NULL -; - -721 ià( - `¹e_p–še_check -( -p -->p) < 0) { - -722 - `¹e_p–še_ä“ -( -p -->p); - -723 - `¹e_ä“ -( -p -); - -724  -NULL -; - -728 -p --> -n_msgq - = -·¿ms -->n_msgq; - -729  -i - = 0; i < -p --> -n_msgq -; i++) - -730 -p --> -msgq_š -[ -i -] = -·¿ms -->msgq_in[i]; - -731  -i - = 0; i < -p --> -n_msgq -; i++) - -732 -p --> -msgq_out -[ -i -] = -·¿ms -->msgq_out[i]; - -735 - `memýy -( -p --> -hªdËrs -, handlers, (p->handlers)); - -737  -p -; - -738 - } -} - -741 - $p–še_·s¡hrough_ä“ -(* -p–še -) - -743  -p–še - * -p - = (pipeline *)…ipeline; - -746 ià( -p - =ð -NULL -) - -750 - `¹e_p–še_ä“ -( -p -->p); - -751 - `¹e_ä“ -( -p -); - -753 - } -} - -756 - $p–še_·s¡hrough_tim” -(* -p–še -) - -758  -p–še - * -p - = (pipeline *)…ipeline; - -760 - `p–še_msg_»q_hªdË -( -p -); - -761 - `¹e_p–še_æush -( -p -->p); - -764 - } -} - -767 - $p–še_·s¡hrough_Œack -(* -p–še -, -ušt32_t - -pÜt_š -, ušt32_ˆ* -pÜt_out -) - -769  -p–še - * -p - = (pipeline *)…ipeline; - -772 ià(( -p - =ð -NULL -) || - -773 ( -pÜt_š - >ð -p --> -n_pÜts_š -) || - -774 ( -pÜt_out - =ð -NULL -)) - -777 * -pÜt_out - = -pÜt_š - / -p --> -n_pÜts_š -; - -779 - } -} - -781  -p–še_be_Ýs - - gp–še_·s¡hrough_be_Ýs - = { - -782 . -f_š™ - = -p–še_·s¡hrough_š™ -, - -783 . - gf_ä“ - = -p–še_·s¡hrough_ä“ -, - -784 . - gf_run - = -NULL -, - -785 . - gf_tim” - = -p–še_·s¡hrough_tim” -, - -786 . - gf_Œack - = -p–še_·s¡hrough_Œack -, - - @VIL/pipeline_passthrough/pipeline_passthrough_be.h - -17 #iâdeà -__INCLUDE_PIPELINE_PASSTHROUGH_BE_H__ - - -18  - #__INCLUDE_PIPELINE_PASSTHROUGH_BE_H__ - - - ) - -20  - ~"p–še_commÚ_be.h -" - -22  - #PIPELINE_PASSTHROUGH_DMA_SIZE_MAX - 64 - - ) - -24  - sp–še_·s¡hrough_·¿ms - { - -25 -ušt32_t - - mdma_’abËd -; - -26 -ušt32_t - - mdma_d¡_off£t -; - -27 -ušt32_t - - mdma_¤c_off£t -; - -28 -ušt8_t - - mdma_¤c_mask -[ -PIPELINE_PASSTHROUGH_DMA_SIZE_MAX -]; - -29 -ušt32_t - - mdma_size -; - -31 -ušt32_t - - mdma_hash_’abËd -; - -32 -ušt32_t - - mdma_hash_off£t -; - -33 -ušt32_t - - mlb_hash_’abËd -; - -37 -p–še_·s¡hrough_·r£_¬gs -( -p–še_·s¡hrough_·¿ms - * -p -, - -38  -p–še_·¿ms - * -·¿ms -); - -40  -p–še_be_Ýs - -p–še_·s¡hrough_be_Ýs -; - - @VIL/pipeline_txrx/pipeline_txrx.c - -17  - ~ - -18  - ~ - -19  - ~ - -20  - ~ - -21  - ~ - -23  - ~"­p.h -" - -24  - ~"p–še_commÚ_ã.h -" - -25  - ~"p–še_txrx.h -" - -26  - ~"vnf_commÚ.h -" - -28  - ~"p–še_¬picmp_be.h -" - -31 - $­p_p–še_txrx_’Œy_dbg -( -­p_·¿ms - * -­p -, - -32 -ušt32_t - -p–še_id -, -ušt8_t - * -msg -) - -34  -p–še_txrx_’Œy_dbg_msg_»q - * -»q -; - -35  -p–še_txrx_’Œy_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–še_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -52 ià( -r¥ - =ð -NULL -) - -56 ià( -r¥ --> -¡©us -) { - -57 - `­p_msg_ä“ -( -­p -, -r¥ -); - -58 - `´štf -("E¼Ü„¥->¡©u %d\n", -r¥ --> -¡©us -); - -63 - `­p_msg_ä“ -( -­p -, -r¥ -); - -66 - } -} - -73  - scmd_’Œy_dbg_»suÉ - { - -74 -cmdlše_fixed_¡ršg_t - - mp_¡ršg -; - -75 -ušt32_t - - mp -; - -76 -cmdlše_fixed_¡ršg_t - - m’Œy_¡ršg -; - -77 -cmdlše_fixed_¡ršg_t - - mdbg_¡ršg -; - -78 -ušt8_t - - mcmd -; - -79 -ušt8_t - - md1 -; - -83 - $cmd_’Œy_dbg_·r£d -(* -·r£d_»suÉ -, - -84 -__¹e_unu£d -  -cmdlše - * -þ -, * -d©a -) - -86  -cmd_’Œy_dbg_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -87  -­p_·¿ms - * -­p - = -d©a -; - -88 -ušt8_t - -msg -[2]; - -89  -¡©us -; - -91 -msg -[0] = -·¿ms --> -cmd -; - -92 -msg -[1] = -·¿ms --> -d1 -; - -93 -¡©us - = - `­p_p–še_txrx_’Œy_dbg -( -­p -, -·¿ms --> -p -, -msg -); - -95 ià( -¡©us - != 0) { - -96 - `´štf -("Dbg Command failed\n"); - -99 - } -} - -101  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_p_¡ršg - = - -102 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -p_¡ršg -, "p"); - -104  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_p - = - -105 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -p -, -UINT32 -); - -107  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_’Œy_¡ršg - = - -108 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, - -109 -’Œy_¡ršg -, "txrx"); - -111  -cmdlše_·r£_tok’_¡ršg_t - - glb_cmd_’Œy_dbg_dbg_¡ršg - = - -112 -TOKEN_STRING_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -dbg_¡ršg -, - -115  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_cmd - = - -116 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -cmd -, -UINT8 -); - -118  -cmdlše_·r£_tok’_num_t - - glb_cmd_’Œy_dbg_d1 - = - -119 -TOKEN_NUM_INITIALIZER -( -cmd_’Œy_dbg_»suÉ -, -d1 -, -UINT8 -); - -121  -cmdlše_·r£_š¡_t - - glb_cmd_’Œy_dbg - = { - -122 . -f - = -cmd_’Œy_dbg_·r£d -, - -123 . - gd©a - = -NULL -, - -124 . - gh–p_¡r - = "TXRX dbg cmd", - -125 . - gtok’s - = { - -126 (*)& -lb_cmd_’Œy_dbg_p_¡ršg -, - -127 (*)& -lb_cmd_’Œy_dbg_p -, - -128 (*)& -lb_cmd_’Œy_dbg_’Œy_¡ršg -, - -129 (*)& -lb_cmd_’Œy_dbg_dbg_¡ršg -, - -130 (*)& -lb_cmd_’Œy_dbg_cmd -, - -131 (*)& -lb_cmd_’Œy_dbg_d1 -, - -132 -NULL -, - -136  -cmdlše_·r£_ùx_t - - gp–še_cmds -[] = { - -137 ( -cmdlše_·r£_š¡_t - *è& -lb_cmd_’Œy_dbg -, - -138 -NULL -, - -141  -p–še_ã_Ýs - - gp–še_txrx_ã_Ýs - = { - -142 . -f_š™ - = -NULL -, - -143 . - gf_ä“ - = -NULL -, - -144 . - gcmds - = -p–še_cmds -, - -147  -p–še_ty³ - - gp–še_txrx - = { - -148 . -Çme - = "TXRX", - -149 . - gbe_Ýs - = & -p–še_txrx_be_Ýs -, - -150 . - gã_Ýs - = & -p–še_txrx_ã_Ýs -, - - @VIL/pipeline_txrx/pipeline_txrx.h - -17 #iâdeà -__INCLUDE_PIPELINE_TXRX_H__ - - -18  - #__INCLUDE_PIPELINE_TXRX_H__ - - - ) - -20  - ~"p–še.h -" - -21  - ~"p–še_txrx_be.h -" - -26  -p–še_ty³ - -p–še_txrx -; - - @VIL/pipeline_txrx/pipeline_txrx_be.c - -17  - ~<¡ršg.h -> - -19  - ~<¹e_commÚ.h -> - -20  - ~<¹e_m®loc.h -> - -21  - ~<¹e_by‹Üd”.h -> - -22  - ~<¹e_bË_¡ub.h -> - -23  - ~<¹e_bË_hash.h -> - -24  - ~<¹e_p–še.h -> - -26  - ~"p–še_txrx_be.h -" - -27  - ~"p–še_aùiÚs_commÚ.h -" - -28  - ~"·r£r.h -" - -29  - ~"hash_func.h -" - -30  - ~"p–še_¬picmp_be.h -" - -31  - ~"vnf_commÚ.h -" - -32  - ~"­p.h -" - -33 #iâdeà -VNF_ACL - - -34  - ~"lib_icmpv6.h -" - -37 -ušt8_t - - gTXRX_DEBUG -; - -38  - gpkt_bur¡_út -; - -40  - sp–še_txrx - { - -41  -p–še - - mp -; - -42 -p–še_msg_»q_hªdËr - - -43 - mcu¡om_hªdËrs -[ -PIPELINE_TXRX_MSG_REQS -]; - -44 -ušt64_t - - m»ûivedPktCouÁ -; - -45 -ušt64_t - - mdrݳdPktCouÁ -; - -46 -ušt8_t - - mlšks_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -47 -ušt8_t - - mouÜt_id -[ -PIPELINE_MAX_PORT_IN -]; - -48 -ušt8_t - - mp–še_num -; - -49 -ušt8_t - - mtxrx_ty³ -; - -50 } - g__¹e_ÿche_®igÃd -; - -53 - mTYPE_TXTX -, - -54 - mTYPE_RXRX -, - -56 * -p–še_txrx_msg_»q_cu¡om_hªdËr -( -p–še - * -p -, - -57 * -msg -); - -59  -p–še_msg_»q_hªdËr - - ghªdËrs -[] = { - -60 [ -PIPELINE_MSG_REQ_PING -] = - -61 -p–še_msg_»q_pšg_hªdËr -, - -62 [ -PIPELINE_MSG_REQ_STATS_PORT_IN -] = - -63 -p–še_msg_»q_¡©s_pÜt_š_hªdËr -, - -64 [ -PIPELINE_MSG_REQ_STATS_PORT_OUT -] = - -65 -p–še_msg_»q_¡©s_pÜt_out_hªdËr -, - -66 [ -PIPELINE_MSG_REQ_STATS_TABLE -] = - -67 -p–še_msg_»q_¡©s_bË_hªdËr -, - -68 [ -PIPELINE_MSG_REQ_PORT_IN_ENABLE -] = - -69 -p–še_msg_»q_pÜt_š_’abË_hªdËr -, - -70 [ -PIPELINE_MSG_REQ_PORT_IN_DISABLE -] = - -71 -p–še_msg_»q_pÜt_š_di§bË_hªdËr -, - -72 [ -PIPELINE_MSG_REQ_CUSTOM -] = - -73 -p–še_txrx_msg_»q_cu¡om_hªdËr -, - -77 * -p–še_txrx_msg_»q_’Œy_dbg_hªdËr -( -p–še - * -p -, - -78 * -msg -); - -79 * - $p–še_txrx_msg_»q_’Œy_dbg_hªdËr -( - -80 -__¹e_unu£d -  -p–še - * -p -, - -81 -__¹e_unu£d - * -msg -) - -84  -NULL -; - -85 - } -} - -87  -__¹e_unu£d - -p–še_msg_»q_hªdËr - - gcu¡om_hªdËrs -[] = { - -88 [ -PIPELINE_TXRX_MSG_REQ_ENTRY_DBG -] = - -89 -p–še_txrx_msg_»q_’Œy_dbg_hªdËr -, - -103 * - $p–še_txrx_msg_»q_cu¡om_hªdËr -( -p–še - * -p -, * -msg -) - -105  -p–še_txrx - * -p_txrx - = (p–še_txrx *) -p -; - -106  -p–še_cu¡om_msg_»q - * -»q - = -msg -; - -107 -p–še_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–še_msg_»q_šv®id_hªdËr -; - -113 ià( -f_hªdË - =ð -NULL -) - -114 -f_hªdË - = -p–še_msg_»q_šv®id_hªdËr -; - -116  - `f_hªdË -( -p -, -»q -); - -117 - } -} - -123 -p–še_txrx_·r£_¬gs -( -p–še_txrx - * -p -, - -124  -p–še_·¿ms - * -·¿ms -); - -126 - $p–še_txrx_·r£_¬gs -( -p–še_txrx - * -p -, - -127  -p–še_·¿ms - * -·¿ms -) - -129 -ušt32_t - -i -; - -130 -ušt8_t - -txrx_ty³_´e£Á - = 0; - -132 ià( -TXRX_DEBUG - > 2) - -133 - `´štf -("TXRX…ipeline_txrx_parse_args…arams->n_args: %d\n", - -134 -·¿ms --> -n_¬gs -); - -136  -i - = 0; i < -·¿ms --> -n_¬gs -; i++) { - -137 * -¬g_Çme - = -·¿ms --> -¬gs_Çme -[ -i -]; - -138 * -¬g_v®ue - = -·¿ms --> -¬gs_v®ue -[ -i -]; - -140 ià( -TXRX_DEBUG - > 2) - -141 - `´štf -("TXRX‡rgs[%d]: % %d, %s\n", -i -, -¬g_Çme -, - -142 - `©oi -( -¬g_v®ue -),‡rg_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 - `´štf -("pipeline_txrx_type is TXTX\n"); - -155 ià( - `¡rcmp -( -¬g_v®ue -, "RXRX") == 0) { - -156 -p --> -txrx_ty³ - = -TYPE_RXRX -; - -157 - `´štf -("pipeline_txrx_type is RXRX\n"); - -163 ià(! -txrx_ty³_´e£Á -) { - -164 - `´štf -("TXRXype‚ot specified\n"); - -170 - } -} - -172 -ušt32_t - - gtxrx_pkt_´št_couÁ -; - -173  -šlše -  - -174 - $pkt_wÜk_txrx -( -¹e_mbuf - * -pkt -, -ušt32_t - -pkt_num -, * -¬g -) - -177  -p–še_txrx_š_pÜt_h_¬g - * -­ - = -¬g -; - -178  -p–še_txrx - * -p_txrx - = (p–še_txrx *) -­ --> -p -; - -179 -ušt8_t - -sÞic™ed_node_muÉiÿ¡_addr -[16] = - -182 -p_txrx --> -»ûivedPktCouÁ -++; - -184 ià( -p_txrx --> -txrx_ty³ - =ð -TYPE_TXTX -) - -187 -ušt8_t - -š_pÜt_id - = -pkt --> -pÜt -; - -188 -ušt32_t - -‘h_´Ùo_off£t - = -MBUF_HDR_ROOM - + 12; - -190 -ušt32_t - -pkt_mask - = 1 << -pkt_num -; - -192 -ušt32_t - -out_pÜt - = -p_txrx --> -p -. -n_pÜts_out - - 1; - -194 -ušt16_t - * -‘h_´Ùo - = - -195 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -, -‘h_´Ùo_off£t -); - -197 -ušt8_t - * -´ÙocÞ -; - -198 -ušt32_t - -´Ù_off£t - = - -199 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_PROTOCOL_OFST -; - -201 #ifdeà -IPV6 - - -202  -v6_hdr - * -v6_h -; - -203 -v6_h - = - `¹e_pktmbuf_mtod_off£t - ( -pkt -,  -v6_hdr - *, ( -‘h”_hdr -)); - -204 -ušt32_t - -´Ù_off£t_v6 - = - -205 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IPV6_HDR_PROTOCOL_OFST -; - -207 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo -è=ð -ETHER_TYPE_IPv6 -) - -208 -´ÙocÞ - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -, -´Ù_off£t_v6 -); - -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_´št_couÁ - < 10)) { - -217 - `´št_pkt1 -( -pkt -); - -218 -txrx_pkt_´št_couÁ -++; - -219 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -221 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo -), * -´ÙocÞ -, -ETH_TYPE_ARP -, - -222 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -225  -­p_lšk_·¿ms - * -lšk -; - -227 -lšk - = & -myAµ --> -lšk_·¿ms -[ -š_pÜt_id -]; - -230 -ušt32_t - -d¡_addr_off£t - = - -231 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -232 -ušt32_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 -(* -‘h_´Ùo -è=ð -ETH_TYPE_IPV4 -) - -236 - `´štf - ("%s:†škIp: %x, d¡_addr: %x\n", -__FUNCTION__ -, -lšk --> - -, * -d¡_addr -); - -239  - `¹e_be_to_ýu_16 -(* -‘h_´Ùo -)) { - -240  -ETH_TYPE_ARP -: - -241 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -242 -out_pÜt -, -pkt -); - -243 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask -); - -246  -ETH_TYPE_IPV4 -: - -247 ià((* -´ÙocÞ - =ð -IP_PROTOCOL_ICMP -) && - -248 ( -lšk --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr -))) { - -249 ià( - `is_phy_pÜt_´iv‹ -( -pkt --> -pÜt -)) { - -250 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( - -251 -p_txrx --> -p -.p, - -252 -out_pÜt -, -pkt -); - -253 - `¹e_p–še_ah_·ck‘_drÝ -( - -254 -p_txrx --> -p -.p, - -255 -pkt_mask -); - -261 #ifdeà -IPV6 - - -262  -ETH_TYPE_IPV6 -: - -263 ià(* -´ÙocÞ - =ð -ICMPV6_PROTOCOL_ID -) { - -264 #iâdeà -VNF_ACL - - -265 ià(! - `memcmp -( -v6_h --> -d¡_addr -, -lšk --> -v6 -, 16) - -266 || ! - `memcmp -( -v6_h --> -d¡_addr -, -sÞic™ed_node_muÉiÿ¡_addr -, 13)) { - -268 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -269 -out_pÜt -, -pkt -); - -270 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask -); - -271 #iâdeà -VNF_ACL - - -273 - `´štf -("Droppinghe IPv6…kt\n"); - -274 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask -); - -282 - `´štf -("Droppinghe…kt\n"); - -283 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask -); - -288 - } -} - -290  -šlše -  - -291 - $pkt4_wÜk_txrx -( -¹e_mbuf - ** -pkt -, -ušt32_t - -pkt_num -, * -¬g -) - -293  -p–še_txrx_š_pÜt_h_¬g - * -­ - = -¬g -; - -294  -p–še_txrx - * -p_txrx - = (p–še_txrx *) -­ --> -p -; - -295 -ušt8_t - -sÞic™ed_node_muÉiÿ¡_addr -[16] = - -299 ià( -p_txrx --> -txrx_ty³ - =ð -TYPE_TXTX -) - -302 -ušt16_t - -š_pÜt_id - = (* -pkt -)-> -pÜt -; - -303 -ušt32_t - -‘h_´Ùo_off£t - = -MBUF_HDR_ROOM - + 12; - -306 -ušt32_t - -pkt_mask0 - = 1 << -pkt_num -; - -307 -ušt32_t - -pkt_mask1 - = 1 << ( -pkt_num - + 1); - -308 -ušt32_t - -pkt_mask2 - = 1 << ( -pkt_num - + 2); - -309 -ušt32_t - -pkt_mask3 - = 1 << ( -pkt_num - + 3); - -312 -ušt32_t - -out_pÜt - = -p_txrx --> -p -. -n_pÜts_out - - 1; - -314 -ušt16_t - * -‘h_´Ùo0 - = - -315 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -[0], -‘h_´Ùo_off£t -); - -316 -ušt16_t - * -‘h_´Ùo1 - = - -317 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -[1], -‘h_´Ùo_off£t -); - -318 -ušt16_t - * -‘h_´Ùo2 - = - -319 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -[2], -‘h_´Ùo_off£t -); - -320 -ušt16_t - * -‘h_´Ùo3 - = - -321 - `RTE_MBUF_METADATA_UINT16_PTR -( -pkt -[3], -‘h_´Ùo_off£t -); - -323 -ušt8_t - * -´ÙocÞ0 -, * -´ÙocÞ1 -, * -´ÙocÞ2 -, * -´ÙocÞ3 -; - -324 -ušt32_t - -´Ù_off£t - = - -325 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_PROTOCOL_OFST -; - -327 #ifdeà -IPV6 - - -328  -v6_hdr - * -v6_h0 -, * -v6_h1 -, * -v6_h2 -, * -v6_h3 -; - -329 -v6_h0 - = - `¹e_pktmbuf_mtod_off£t - ( -pkt -[0],  -v6_hdr - *, ( -‘h”_hdr -)); - -330 -ušt32_t - -´Ù_off£t_v6 - = - -331 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IPV6_HDR_PROTOCOL_OFST -; - -334 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo0 -è=ð -ETHER_TYPE_IPv6 -) - -335 -´ÙocÞ0 - = - -336 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[0], -´Ù_off£t_v6 -); - -338 -´ÙocÞ0 - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[0], -´Ù_off£t -); - -341 -v6_h1 - = - `¹e_pktmbuf_mtod_off£t - ( -pkt -[1],  -v6_hdr - *, ( -‘h”_hdr -)); - -342 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo1 -è=ð -ETHER_TYPE_IPv6 -) - -343 -´ÙocÞ1 - = - -344 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[1], -´Ù_off£t_v6 -); - -346 -´ÙocÞ1 - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[1], -´Ù_off£t -); - -349 -v6_h2 - = - `¹e_pktmbuf_mtod_off£t - ( -pkt -[2],  -v6_hdr - *, ( -‘h”_hdr -)); - -350 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo2 -è=ð -ETHER_TYPE_IPv6 -) - -351 -´ÙocÞ2 - = - -352 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[2], -´Ù_off£t_v6 -); - -354 -´ÙocÞ2 - = - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[2], -´Ù_off£t -); - -357 -v6_h3 - = - `¹e_pktmbuf_mtod_off£t - ( -pkt -[3],  -v6_hdr - *, ( -‘h”_hdr -)); - -358 ià( - `¹e_be_to_ýu_16 -(* -‘h_´Ùo3 -è=ð -ETHER_TYPE_IPv6 -) - -359 -´ÙocÞ3 - = - -360 - `RTE_MBUF_METADATA_UINT8_PTR -( -pkt -[3], -´Ù_off£t_v6 -); - -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_´št_couÁ - < 10)) { - -371 - `´št_pkt1 -( -pkt -[0]); - -372 -txrx_pkt_´št_couÁ -++; - -373 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -375 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo0 -), * -´ÙocÞ0 -, -ETH_TYPE_ARP -, - -376 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -379  -­p_lšk_·¿ms - * -lšk -; - -381 -lšk - = & -myAµ --> -lšk_·¿ms -[ -š_pÜt_id -]; - -384 -ušt32_t - -d¡_addr_off£t0 - = - -385 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -386 -ušt32_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 -(* -‘h_´Ùo0 -è=ð -ETH_TYPE_IPV4 -) - -391 - `´štf - ("%s:†škIp: %x, d¡_addr0: %x\n", -__FUNCTION__ -, -lšk --> - -, * -d¡_addr0 -); - -394  - `¹e_be_to_ýu_16 -(* -‘h_´Ùo0 -)) { - -395  -ETH_TYPE_ARP -: - -396 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -397 -out_pÜt -, -pkt -[0]); - -398 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask0 -); - -401  -ETH_TYPE_IPV4 -: - -402 ià((* -´ÙocÞ0 - =ð -IP_PROTOCOL_ICMP -) && - -403 ( -lšk --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr0 -))) { - -404 ià( - `is_phy_pÜt_´iv‹ -( -pkt -[0]-> -pÜt -)) { - -405 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( - -406 -p_txrx --> -p -.p, -out_pÜt -, -pkt -[0]); - -407 - `¹e_p–še_ah_·ck‘_drÝ -( - -408 -p_txrx --> -p -.p, -pkt_mask0 -); - -414 #ifdeà -IPV6 - - -415  -ETH_TYPE_IPV6 -: - -416 ià(* -´ÙocÞ0 - =ð -ICMPV6_PROTOCOL_ID -) { - -417 #iâdeà -VNF_ACL - - -418 ià(! - `memcmp -( -v6_h0 --> -d¡_addr -, -lšk --> -v6 -, 16) - -419 || ! - `memcmp -( -v6_h0 --> -d¡_addr -, -sÞic™ed_node_muÉiÿ¡_addr -, 13)) { - -421 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -422 -out_pÜt -, -pkt -[0]); - -423 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask0 -); - -425 #iâdeà -VNF_ACL - - -427 - `´štf -("Droppinghe IPv6…kt\n"); - -428 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask0 -); - -436 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask0 -); - -441 ià(( -TXRX_DEBUG - > 2è&& ( -txrx_pkt_´št_couÁ - < 10)) { - -442 - `´št_pkt1 -( -pkt -[1]); - -443 -txrx_pkt_´št_couÁ -++; - -444 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -446 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo1 -), * -´ÙocÞ1 -, -ETH_TYPE_ARP -, - -447 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -451 -ušt32_t - -d¡_addr_off£t1 - = - -452 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -453 -ušt32_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 -(* -‘h_´Ùo1 -è=ð -ETH_TYPE_IPV4 -) - -458 - `´štf - ("%s:†škIp: %x, d¡_addr1: %x\n", -__FUNCTION__ -, -lšk --> - -, * -d¡_addr1 -); - -460  - `¹e_be_to_ýu_16 -(* -‘h_´Ùo1 -)) { - -461  -ETH_TYPE_ARP -: - -462 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -463 -out_pÜt -, -pkt -[1]); - -464 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask1 -); - -467  -ETH_TYPE_IPV4 -: - -468 ià((* -´ÙocÞ1 - =ð -IP_PROTOCOL_ICMP -) && - -469 ( -lšk --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr1 -))) { - -470 ià( - `is_phy_pÜt_´iv‹ -( -pkt -[1]-> -pÜt -)) { - -471 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( - -472 -p_txrx --> -p -.p, - -473 -out_pÜt -, -pkt -[1]); - -474 - `¹e_p–še_ah_·ck‘_drÝ -( - -475 -p_txrx --> -p -.p, - -476 -pkt_mask1 -); - -482 #ifdeà -IPV6 - - -483  -ETH_TYPE_IPV6 -: - -484 ià(* -´ÙocÞ1 - =ð -ICMPV6_PROTOCOL_ID -) { - -485 #iâdeà -VNF_ACL - - -486 ià(! - `memcmp -( -v6_h1 --> -d¡_addr -, -lšk --> -v6 -, 16) - -487 || ! - `memcmp -( -v6_h1 --> -d¡_addr -, -sÞic™ed_node_muÉiÿ¡_addr -, 13)) { - -489 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -490 -out_pÜt -, -pkt -[1]); - -491 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask1 -); - -492 #iâdeà -VNF_ACL - - -494 - `´štf -("Droppinghe IPv6…kt\n"); - -495 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask1 -); - -503 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask1 -); - -507 ià(( -TXRX_DEBUG - > 2è&& ( -txrx_pkt_´št_couÁ - < 10)) { - -508 - `´št_pkt1 -( -pkt -[2]); - -509 -txrx_pkt_´št_couÁ -++; - -510 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -512 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo2 -), * -´ÙocÞ2 -, -ETH_TYPE_ARP -, - -513 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -517 -ušt32_t - -d¡_addr_off£t2 - = - -518 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -519 -ušt32_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 -(* -‘h_´Ùo2 -è=ð -ETH_TYPE_IPV4 -) - -524 - `´štf - ("%s:†škIp: %x, d¡_addr2: %x\n", -__FUNCTION__ -, -lšk --> - -, * -d¡_addr2 -); - -526  - `¹e_be_to_ýu_16 -(* -‘h_´Ùo2 -)) { - -527  -ETH_TYPE_ARP -: - -528 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -529 -out_pÜt -, -pkt -[2]); - -530 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask2 -); - -533  -ETH_TYPE_IPV4 -: - -534 ià((* -´ÙocÞ2 - =ð -IP_PROTOCOL_ICMP -) && - -535 ( -lšk --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr2 -))) { - -536 ià( - `is_phy_pÜt_´iv‹ -( -pkt -[2]-> -pÜt -)) { - -537 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( - -538 -p_txrx --> -p -.p, - -539 -out_pÜt -, -pkt -[2]); - -540 - `¹e_p–še_ah_·ck‘_drÝ -( - -541 -p_txrx --> -p -.p, - -542 -pkt_mask2 -); - -548 #ifdeà -IPV6 - - -549  -ETH_TYPE_IPV6 -: - -550 ià(* -´ÙocÞ2 - =ð -ICMPV6_PROTOCOL_ID -) { - -551 #iâdeà -VNF_ACL - - -552 ià(! - `memcmp -( -v6_h2 --> -d¡_addr -, -lšk --> -v6 -, 16) - -553 || ! - `memcmp -( -v6_h2 --> -d¡_addr -, -sÞic™ed_node_muÉiÿ¡_addr -, 13)) { - -555 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -556 -out_pÜt -, -pkt -[2]); - -557 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask2 -); - -558 #iâdeà -VNF_ACL - - -560 - `´štf -("Droppinghe IPv6…kt\n"); - -561 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask2 -); - -569 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask2 -); - -573 ià(( -TXRX_DEBUG - > 2è&& ( -txrx_pkt_´št_couÁ - < 10)) { - -574 - `´št_pkt1 -( -pkt -[3]); - -575 -txrx_pkt_´št_couÁ -++; - -576 - `´štf -("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, " - -578 - `¹e_be_to_ýu_16 -(* -‘h_´Ùo3 -), * -´ÙocÞ3 -, -ETH_TYPE_ARP -, - -579 -ETH_TYPE_IPV4 -, -IP_PROTOCOL_ICMP -); - -583 -ušt32_t - -d¡_addr_off£t3 - = - -584 -MBUF_HDR_ROOM - + -ETH_HDR_SIZE - + -IP_HDR_DST_ADR_OFST -; - -585 -ušt32_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 -(* -‘h_´Ùo3 -è=ð -ETH_TYPE_IPV4 -) - -590 - `´štf - ("%s:†škIp: %x, d¡_addr3: %x\n", -__FUNCTION__ -, -lšk --> - -, * -d¡_addr3 -); - -592  - `¹e_be_to_ýu_16 -(* -‘h_´Ùo3 -)) { - -593  -ETH_TYPE_ARP -: - -594 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -595 -out_pÜt -, -pkt -[3]); - -596 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask3 -); - -599  -ETH_TYPE_IPV4 -: - -600 ià((* -´ÙocÞ3 - =ð -IP_PROTOCOL_ICMP -) && - -601 ( -lšk --> - - =ð - `¹e_be_to_ýu_32 -(* -d¡_addr3 -))) { - -602 ià( - `is_phy_pÜt_´iv‹ -( -pkt -[3]-> -pÜt -)) { - -603 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( - -604 -p_txrx --> -p -.p, - -605 -out_pÜt -, -pkt -[3]); - -606 - `¹e_p–še_ah_·ck‘_drÝ -( - -607 -p_txrx --> -p -.p, - -608 -pkt_mask3 -); - -614 #ifdeà -IPV6 - - -615  -ETH_TYPE_IPV6 -: - -616 ià(* -´ÙocÞ3 - =ð -ICMPV6_PROTOCOL_ID -) { - -617 #iâdeà -VNF_ACL - - -618 ià(! - `memcmp -( -v6_h3 --> -d¡_addr -, -lšk --> -v6 -, 16) - -619 || ! - `memcmp -( -v6_h3 --> -d¡_addr -, -sÞic™ed_node_muÉiÿ¡_addr -, 13)) { - -621 - `¹e_p–še_pÜt_out_·ck‘_š£¹ -( -p_txrx --> -p -.p, - -622 -out_pÜt -, -pkt -[3]); - -623 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask3 -); - -624 #iâdeà -VNF_ACL - - -626 - `´štf -("Droppinghe IPv6…kt\n"); - -627 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask3 -); - -635 - `¹e_p–še_ah_·ck‘_drÝ -( -p_txrx --> -p -.p, -pkt_mask3 -); - -639 -p_txrx --> -»ûivedPktCouÁ - += 4; - -641 - } -} - -643 -PIPELINE_TXRX_KEY_PORT_IN_AH -( -pÜt_š_ah_txrx -, -pkt_wÜk_txrx -, -pkt4_wÜk_txrx -); - -645 * - $p–še_txrx_š™ -( -p–še_·¿ms - * -·¿ms -, - -646 -__¹e_unu£d - * -¬g -) - -648  -p–še - * -p -; - -649  -p–še_txrx - * -p_± -; - -650 -ušt32_t - -size -, -i -, -š_pÜts_¬g_size -; - -652 - `´štf -("Start…ipeline_txrx_init\n"); - -655 ià(( -·¿ms - =ð -NULL -) || - -656 ( -·¿ms --> -n_pÜts_š - == 0) || - -657 ( -·¿ms --> -n_pÜts_out - == 0)) - -658  -NULL -; - -661 -size - = - `RTE_CACHE_LINE_ROUNDUP -(( -p–še_txrx -)); - -662 -p - = - `¹e_zm®loc -( -NULL -, -size -, -RTE_CACHE_LINE_SIZE -); - -663 -p_± - = ( -p–še_txrx - *) -p -; - -664 ià( -p - =ð -NULL -) - -665  -NULL -; - -667 - `PLOG -( -p -, -HIGH -, "TXRX"); - -668 - `¡rýy -( -p --> -Çme -, -·¿ms -->name); - -669 -p --> -log_Ëv– - = -·¿ms -->log_level; - -671 -p_± --> -»ûivedPktCouÁ - = 0; - -672 -p_± --> -drݳdPktCouÁ - = 0; - -673  -i - = 0; i < -PIPELINE_MAX_PORT_IN -; i++) - -674 -p_± --> -lšks_m­ -[ -i -] = 0xff; - -676 -p_± --> -p–še_num - = 0; - -677 - `´štf -("txrx initialization of variables done\n"); - -680 ià( - `p–še_txrx_·r£_¬gs -( -p_± -, -·¿ms -)) - -681  -NULL -; - -685  -¹e_p–še_·¿ms - -p–še_·¿ms - = { - -686 . -Çme - = "TXRX", - -687 . -sock‘_id - = -·¿ms -->socket_id, - -688 . -off£t_pÜt_id - = 0, - -691 -p -->°ð - `¹e_p–še_ü—‹ -(& -p–še_·¿ms -); - -692 ià( -p -->°=ð -NULL -) { - -693 - `¹e_ä“ -( -p -); - -694  -NULL -; - -698 -p --> -n_pÜts_š - = -·¿ms -->n_ports_in; - -699 -p --> -n_pÜts_out - = -·¿ms -->n_ports_out; - -700 -p --> -n_bËs - =…-> -n_pÜts_š -; - -703 -š_pÜts_¬g_size - = - -704 - `RTE_CACHE_LINE_ROUNDUP -(( - -705 ( -p–še_txrx_š_pÜt_h_¬g -)) * - -706 ( -·¿ms --> -n_pÜts_š -)); - -707  -p–še_txrx_š_pÜt_h_¬g - * -­ - = - -708 ( -p–še_txrx_š_pÜt_h_¬g - *) - `¹e_zm®loc -( -NULL -, - -709 -š_pÜts_¬g_size -, - -710 -RTE_CACHE_LINE_SIZE -); - -711 ià( -­ - =ð -NULL -) - -712  -NULL -; - -714  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -716 ( -­ -[ -i -]). -p - = -p_± -; - -717 ( -­ -[ -i -]). -š_pÜt_id - = i; - -718  -¹e_p–še_pÜt_š_·¿ms - -pÜt_·¿ms - = { - -719 . -Ýs - = - -720 - `p–še_pÜt_š_·¿ms_g‘_Ýs -(& -·¿ms --> - -721 -pÜt_š -[ -i -]), - -722 . -¬g_ü—‹ - = - -723 - `p–še_pÜt_š_·¿ms_cÚv”t -(& -·¿ms --> - -724 -pÜt_š -[ -i -]), - -725 . -f_aùiÚ - = -NULL -, - -726 . -¬g_ah - = &( -­ -[ -i -]), - -727 . -bur¡_size - = -·¿ms --> -pÜt_š -[ -i -].burst_size, - -730 -pÜt_·¿ms -. -f_aùiÚ - = -pÜt_š_ah_txrx -; - -732  -¡©us - = - `¹e_p–še_pÜt_š_ü—‹ -( -p -->p, - -733 & -pÜt_·¿ms -, - -734 & -p --> -pÜt_š_id -[ -i -]); - -736 ià( -¡©us -) { - -737 - `¹e_p–še_ä“ -( -p -->p); - -738 - `¹e_ä“ -( -p -); - -739  -NULL -; - -744  -i - = 0; i < -p --> -n_pÜts_out -; i++) { - -745  -¹e_p–še_pÜt_out_·¿ms - -pÜt_·¿ms - = { - -746 . -Ýs - = - -747 - `p–še_pÜt_out_·¿ms_g‘_Ýs -(& -·¿ms --> - -748 -pÜt_out -[ -i -]), - -749 . -¬g_ü—‹ - = - -750 - `p–še_pÜt_out_·¿ms_cÚv”t -(& -·¿ms --> - -751 -pÜt_out -[ -i -]), - -752 . -f_aùiÚ - = -NULL -, - -753 . -¬g_ah - = -NULL -, - -756  -¡©us - = - `¹e_p–še_pÜt_out_ü—‹ -( -p -->p, - -757 & -pÜt_·¿ms -, - -758 & -p --> -pÜt_out_id -[ -i -]); - -760 ià( -¡©us -) { - -761 - `¹e_p–še_ä“ -( -p -->p); - -762 - `¹e_ä“ -( -p -); - -763  -NULL -; - -767  -p–še_num - = 0; - -768  -¡©us - = - `ssÿnf -( -·¿ms --> -Çme -, "PIPELINE%d", & -p–še_num -); - -769 ià( -¡©us - < 0) { - -770 - `´štf -("Unableo„ead…ipeline‚umber\n"); - -771  -NULL -; - -773 -p_± --> -p–še_num - = ( -ušt8_t -)…ipeline_num; - -775 - `»gi¡”_p–še_Qs -( -p_± --> -p–še_num -, -p -); - -776 - `£t_lšk_m­ -( -p_± --> -p–še_num -, -p -,…_±-> -lšks_m­ -); - -777 - `£t_ouÜt_id -( -p_± --> -p–še_num -, -p -,…_±-> -ouÜt_id -); - -780  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -781  -¹e_p–še_bË_·¿ms - -bË_·¿ms - = { - -782 . -Ýs - = & -¹e_bË_¡ub_Ýs -, - -783 . -¬g_ü—‹ - = -NULL -, - -784 . -f_aùiÚ_h™ - = -NULL -, - -785 . -f_aùiÚ_miss - = -NULL -, - -786 . -¬g_ah - = -NULL -, - -787 . -aùiÚ_d©a_size - = 0, - -790  -¡©us - = - `¹e_p–še_bË_ü—‹ -( -p -->p, - -791 & -bË_·¿ms -, - -792 & -p --> -bË_id -[ -i -]); - -794 ià( -¡©us -) { - -795 - `¹e_p–še_ä“ -( -p -->p); - -796 - `¹e_ä“ -( -p -); - -797  -NULL -; - -802  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -803  -¡©us - = - `¹e_p–še_pÜt_š_cÚÃù_to_bË -( -p -->p, - -804 -p --> - -805 -pÜt_š_id - - -806 [ -i -], - -807 -p --> - -808 -bË_id -[ -i -]); - -810 ià( -¡©us -) { - -811 - `¹e_p–še_ä“ -( -p -->p); - -812 - `¹e_ä“ -( -p -); - -813  -NULL -; - -818  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -819  -¹e_p–še_bË_’Œy - -deçuÉ_’Œy - = { - -820 . -aùiÚ - = -RTE_PIPELINE_ACTION_PORT -, - -821 . -pÜt_id - = -p --> -pÜt_out_id -[ -i -], - -824  -¹e_p–še_bË_’Œy - * -deçuÉ_’Œy_±r -; - -826  -¡©us - = - `¹e_p–še_bË_deçuÉ_’Œy_add -( - -827 -p -->p, - -828 -p --> - -829 -bË_id -[ -i -], - -830 & -deçuÉ_’Œy -, - -831 & -deçuÉ_’Œy_±r -); - -833 ià( -¡©us -) { - -834 - `¹e_p–še_ä“ -( -p -->p); - -835 - `¹e_ä“ -( -p -); - -836  -NULL -; - -841  -i - = 0; i < -p --> -n_pÜts_š -; i++) { - -842  -¡©us - = - `¹e_p–še_pÜt_š_’abË -( -p -->p, - -843 -p --> -pÜt_š_id -[ -i -]); - -845 ià( -¡©us -) { - -846 - `¹e_p–še_ä“ -( -p -->p); - -847 - `¹e_ä“ -( -p -); - -848  -NULL -; - -853 ià( - `¹e_p–še_check -( -p -->p) < 0) { - -854 - `¹e_p–še_ä“ -( -p -->p); - -855 - `¹e_ä“ -( -p -); - -856  -NULL -; - -860 -p --> -n_msgq - = -·¿ms -->n_msgq; - -861  -i - = 0; i < -p --> -n_msgq -; i++) - -862 -p --> -msgq_š -[ -i -] = -·¿ms -->msgq_in[i]; - -863  -i - = 0; i < -p --> -n_msgq -; i++) - -864 -p --> -msgq_out -[ -i -] = -·¿ms -->msgq_out[i]; - -867 - `memýy -( -p --> -hªdËrs -, handlers, (p->handlers)); - -869  -p -; - -870 - } -} - -872  - $p–še_txrx_ä“ -(* -p–še -) - -874  -p–še - * -p - = (pipeline *)pipeline; - -877 ià( -p - =ð -NULL -) - -881 - `¹e_p–še_ä“ -( -p -->p); - -882 - `¹e_ä“ -( -p -); - -884 - } -} - -886  - $p–še_txrx_tim” -(* -p–še -) - -888  -p–še - * -p - = (pipeline *)pipeline; - -890 - `p–še_msg_»q_hªdË -( -p -); - -891 - `¹e_p–še_æush -( -p -->p); - -894 - } -} - -897 - $p–še_txrx_Œack -(* -p–še -, -ušt32_t - -pÜt_š -, ušt32_ˆ* -pÜt_out -) - -899  -p–še - * -p - = (pipeline *)pipeline; - -902 ià(( -p - =ð -NULL -è|| ( -pÜt_š - >ðp-> -n_pÜts_š -è|| ( -pÜt_out - == NULL)) - -905 * -pÜt_out - = -pÜt_š - / -p --> -n_pÜts_š -; - -907 - } -} - -909  -p–še_be_Ýs - - gp–še_txrx_be_Ýs - = { - -910 . -f_š™ - = -p–še_txrx_š™ -, - -911 . - gf_ä“ - = -p–še_txrx_ä“ -, - -912 . - gf_run - = -NULL -, - -913 . - gf_tim” - = -p–še_txrx_tim” -, - -914 . - gf_Œack - = -p–še_txrx_Œack -, - - @VIL/pipeline_txrx/pipeline_txrx_be.h - -17 #iâdeà -__INCLUDE_PIPELINE_TXRX_BE_H__ - - -18  - #__INCLUDE_PIPELINE_TXRX_BE_H__ - - - ) - -20  - ~"p–še_commÚ_be.h -" - -21  - #PIPELINE_TXRX_KEY_PORT_IN_AH -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -23 - `f_ah -( \ - -24 -__¹e_unu£d -  -¹e_p–še - * -¹e_p -, \ - -25  -¹e_mbuf - ** -pkts -, \ - -26 -ušt32_t - -n_pkts -, \ - -27 * -¬g -) \ - -29 -ušt32_t - -i -, -j -; \ - -31  -j - = 0; j < -n_pkts -; j++) \ - -32 - `¹e_´eãtch0 -( -pkts -[ -j -]); \ - -34 -pkt_bur¡_út - = 0; \ - -35  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) \ - -36 - `f_pkt4_wÜk -(& -pkts -[ -i -], i, -¬g -); \ - -38  ; -i - < -n_pkts -; i++) \ - -39 - `f_pkt_wÜk -( -pkts -[ -i -], i, -¬g -); \ - -43 } - - ) - -45  -p–še_be_Ýs - -p–še_txrx_be_Ýs -; - -49 - ep–še_txrx_msg_»q_ty³ - { - -50 - mPIPELINE_TXRX_MSG_REQ_ENTRY_DBG -, - -51 - mPIPELINE_TXRX_MSG_REQS - - -56  - sp–še_txrx_’Œy_dbg_msg_»q - { - -57 -p–še_msg_»q_ty³ - - mty³ -; - -58 -p–še_txrx_msg_»q_ty³ - - msubty³ -; - -61 -ušt8_t - - md©a -[5]; - -67  - sp–še_txrx_š_pÜt_h_¬g - { - -68  -p–še_txrx - * - mp -; - -69 -ušt8_t - - mš_pÜt_id -; - -72  - sp–še_txrx_’Œy_dbg_msg_r¥ - { - -73  - m¡©us -; - - @vnf_common/app.h - -17 #iâdeà -__INCLUDE_APP_H__ - - -18  - #__INCLUDE_APP_H__ - - - ) - -20  - ~<¡dšt.h -> - -21  - ~<¡ršg.h -> - -23  - ~<¹e_commÚ.h -> - -24  - ~<¹e_mempoÞ.h -> - -25  - ~<¹e_ršg.h -> - -26  - ~<¹e_sched.h -> - -27  - ~<¹e_tim”.h -> - -28  - ~ - -30  - ~<¹e_‘hdev.h -> - -32  - ~"ýu_cÜe_m­.h -" - -33  - ~"p–še.h -" - -35  - #APP_PARAM_NAME_SIZE - -PIPELINE_NAME_SIZE - - - ) - -36  - #APP_LINK_PCI_BDF_SIZE - 32 - - ) - -37  -­p_lšk_·¿ms - * - gfdœ_p_lšk -; - -38  - s­p_mempoÞ_·¿ms - { - -39 * - mÇme -; - -40 -ušt32_t - - m·r£d -; - -41 -ušt32_t - - mbufãr_size -; - -42 -ušt32_t - - mpoÞ_size -; - -43 -ušt32_t - - mÿche_size -; - -44 -ušt32_t - - mýu_sock‘_id -; - -47  - s­p_lšk_·¿ms - { - -48 * - mÇme -; - -49 -ušt32_t - - m·r£d -; - -50 -ušt32_t - - mpmd_id -; - -51 -ušt32_t - - m¬p_q -; - -52 -ušt32_t - - mtý_syn_q -; - -53 -ušt32_t - - m_loÿl_q -; - -54 -ušt32_t - - mtý_loÿl_q -; - -55 -ušt32_t - - mudp_loÿl_q -; - -56 -ušt32_t - - msùp_loÿl_q -; - -57 -ušt32_t - - m¡©e -; - -58 -ušt32_t - - m -; - -59 -ušt8_t - - mv6 -[16]; - -60 -ušt32_t - - md•th -; - -61 -ušt32_t - - md•th_v6 -; - -62 -ušt64_t - - mmac_addr -; - -63  - mpci_bdf -[ -APP_LINK_PCI_BDF_SIZE -]; - -65  -¹e_‘h_cÚf - - mcÚf -; - -66 -ušt8_t - - m´omisc -; - -69  - s­p_pktq_hwq_š_·¿ms - { - -70 * - mÇme -; - -71 -ušt32_t - - m·r£d -; - -72 -ušt32_t - - mmempoÞ_id -; - -73 -ušt32_t - - msize -; - -74 -ušt32_t - - mbur¡ -; - -76  -¹e_‘h_rxcÚf - - mcÚf -; - -79  - s­p_pktq_hwq_out_·¿ms - { - -80 * - mÇme -; - -81 -ušt32_t - - m·r£d -; - -82 -ušt32_t - - msize -; - -83 -ušt32_t - - mbur¡ -; - -84 -ušt32_t - - mdrÝËss -; - -85 -ušt64_t - - mn_»Œ›s -; - -86  -¹e_‘h_txcÚf - - mcÚf -; - -89  - s­p_pktq_swq_·¿ms - { - -90 * - mÇme -; - -91 -ušt32_t - - m·r£d -; - -92 -ušt32_t - - msize -; - -93 -ušt32_t - - mbur¡_»ad -; - -94 -ušt32_t - - mbur¡_wr™e -; - -95 -ušt32_t - - mdrÝËss -; - -96 -ušt64_t - - mn_»Œ›s -; - -97 -ušt32_t - - mýu_sock‘_id -; - -98 -ušt32_t - - mv4_äag -; - -99 -ušt32_t - - mv6_äag -; - -100 -ušt32_t - - mv4_¿s -; - -101 -ušt32_t - - mv6_¿s -; - -102 -ušt32_t - - mmtu -; - -103 -ušt32_t - - mm‘ad©a_size -; - -104 -ušt32_t - - mmempoÞ_dœeù_id -; - -105 -ušt32_t - - mmempoÞ_šdœeù_id -; - -108 #iâdeà -APP_FILE_NAME_SIZE - - -109  - #APP_FILE_NAME_SIZE - 256 - - ) - -112 #iâdeà -APP_MAX_SCHED_SUBPORTS - - -113  - #APP_MAX_SCHED_SUBPORTS - 8 - - ) - -116 #iâdeà -APP_MAX_SCHED_PIPES - - -117  - #APP_MAX_SCHED_PIPES - 4096 - - ) - -120  - s­p_pktq_tm_·¿ms - { - -121 * - mÇme -; - -122 -ušt32_t - - m·r£d -; - -123 cÚ¡ * - mfže_Çme -; - -124  -¹e_sched_pÜt_·¿ms - - msched_pÜt_·¿ms -; - -125  -¹e_sched_subpÜt_·¿ms - - -126 - msched_subpÜt_·¿ms -[ -APP_MAX_SCHED_SUBPORTS -]; - -127  -¹e_sched_pe_·¿ms - - -128 - msched_pe_´ofžes -[ -RTE_SCHED_PIPE_PROFILES_PER_PORT -]; - -129  - msched_pe_to_´ofže -[ -APP_MAX_SCHED_SUBPORTS - * -APP_MAX_SCHED_PIPES -]; - -130 -ušt32_t - - mbur¡_»ad -; - -131 -ušt32_t - - mbur¡_wr™e -; - -134  - s­p_pktq_sourû_·¿ms - { - -135 * - mÇme -; - -136 -ušt32_t - - m·r£d -; - -137 -ušt32_t - - mmempoÞ_id -; - -138 -ušt32_t - - mbur¡ -; - -139 * - mfže_Çme -; - -140 -ušt32_t - - mn_by‹s_³r_pkt -; - -143  - s­p_pktq_sšk_·¿ms - { - -144 * - mÇme -; - -145 -ušt8_t - - m·r£d -; - -146 * - mfže_Çme -; - -147 -ušt32_t - - mn_pkts_to_dump -; - -150  - s­p_msgq_·¿ms - { - -151 * - mÇme -; - -152 -ušt32_t - - m·r£d -; - -153 -ušt32_t - - msize -; - -154 -ušt32_t - - mýu_sock‘_id -; - -157 - e­p_pktq_š_ty³ - { - -158 - mAPP_PKTQ_IN_HWQ -, - -159 - mAPP_PKTQ_IN_SWQ -, - -160 - mAPP_PKTQ_IN_TM -, - -161 - mAPP_PKTQ_IN_SOURCE -, - -164  - s­p_pktq_š_·¿ms - { - -165 -­p_pktq_š_ty³ - - mty³ -; - -166 -ušt32_t - - mid -; - -169 - 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  - s­p_pktq_out_·¿ms - { - -177 -­p_pktq_out_ty³ - - mty³ -; - -178 -ušt32_t - - mid -; - -181 #iâdeà -APP_PIPELINE_TYPE_SIZE - - -182  - #APP_PIPELINE_TYPE_SIZE - 64 - - ) - -185  - #APP_MAX_PIPELINE_PKTQ_IN - -PIPELINE_MAX_PORT_IN - - - ) - -186  - #APP_MAX_PIPELINE_PKTQ_OUT - -PIPELINE_MAX_PORT_OUT - - - ) - -187  - #APP_MAX_PIPELINE_MSGQ_IN - -PIPELINE_MAX_MSGQ_IN - - - ) - -188  - #APP_MAX_PIPELINE_MSGQ_OUT - -PIPELINE_MAX_MSGQ_OUT - - - ) - -190  - #APP_MAX_PIPELINE_ARGS - -PIPELINE_MAX_ARGS - - - ) - -192  - s­p_p–še_·¿ms - { - -193 * - mÇme -; - -194 -ušt8_t - - m·r£d -; - -196  - mty³ -[ -APP_PIPELINE_TYPE_SIZE -]; - -198 -ušt32_t - - msock‘_id -; - -199 -ušt32_t - - mcÜe_id -; - -200 -ušt32_t - - mhy³r_th_id -; - -202  -­p_pktq_š_·¿ms - - mpktq_š -[ -APP_MAX_PIPELINE_PKTQ_IN -]; - -203  -­p_pktq_out_·¿ms - - mpktq_out -[ -APP_MAX_PIPELINE_PKTQ_OUT -]; - -204 -ušt32_t - - mmsgq_š -[ -APP_MAX_PIPELINE_MSGQ_IN -]; - -205 -ušt32_t - - mmsgq_out -[ -APP_MAX_PIPELINE_MSGQ_OUT -]; - -207 -ušt32_t - - mn_pktq_š -; - -208 -ušt32_t - - mn_pktq_out -; - -209 -ušt32_t - - mn_msgq_š -; - -210 -ušt32_t - - mn_msgq_out -; - -212 -ušt32_t - - mtim”_³riod -; - -214 * - m¬gs_Çme -[ -APP_MAX_PIPELINE_ARGS -]; - -215 * - m¬gs_v®ue -[ -APP_MAX_PIPELINE_ARGS -]; - -216 -ušt32_t - - mn_¬gs -; - -219  - s­p_p–še_d©a - { - -220 * - mbe -; - -221 * - mã -; - -222  -p–še_ty³ - * - m±y³ -; - -223 -ušt64_t - - mtim”_³riod -; - -224 -ušt32_t - - m’abËd -; - -227  - s­p_th»ad_p–še_d©a - { - -228 -ušt32_t - - mp–še_id -; - -229 * - mbe -; - -230 -p–še_be_Ý_run - - mf_run -; - -231 -p–še_be_Ý_tim” - - mf_tim” -; - -232 -ušt64_t - - mtim”_³riod -; - -233 -ušt64_t - - md—dlše -; - -236 #iâdeà -APP_MAX_THREAD_PIPELINES - - -237  - #APP_MAX_THREAD_PIPELINES - 32 - - ) - -240 #iâdeà -APP_THREAD_TIMER_PERIOD - - -241  - #APP_THREAD_TIMER_PERIOD - 1 - - ) - -244  - s­p_th»ad_d©a - { - -245  -­p_th»ad_p–še_d©a - - m»guÏr -[ -APP_MAX_THREAD_PIPELINES -]; - -246  -­p_th»ad_p–še_d©a - - mcu¡om -[ -APP_MAX_THREAD_PIPELINES -]; - -248 -ušt32_t - - mn_»guÏr -; - -249 -ušt32_t - - mn_cu¡om -; - -251 -ušt64_t - - mtim”_³riod -; - -252 -ušt64_t - - mth»ad_»q_d—dlše -; - -254 -ušt64_t - - md—dlše -; - -256  -¹e_ršg - * - mmsgq_š -; - -257  -¹e_ršg - * - mmsgq_out -; - -259 -ušt64_t - - mh—droom_time -; - -260 -ušt64_t - - mh—droom_cyþes -; - -261  - mh—droom_¿tio -; - -264 #iâdeà -APP_MAX_LINKS - - -265  - #APP_MAX_LINKS - 32 - - ) - -268  - s­p_—l_·¿ms - { - -270 * - mcÜem­ -; - -273 -ušt32_t - - mma¡”_lcÜe_´e£Á -; - -274 -ušt32_t - - mma¡”_lcÜe -; - -277 -ušt32_t - - mchªÃls_´e£Á -; - -278 -ušt32_t - - mchªÃls -; - -281 -ušt32_t - - mmemÜy_´e£Á -; - -282 -ušt32_t - - mmemÜy -; - -285 -ušt32_t - - m¿nks_´e£Á -; - -286 -ušt32_t - - m¿nks -; - -289 * - mpci_bÏckli¡ -[ -APP_MAX_LINKS -]; - -292 * - mpci_wh™–i¡ -[ -APP_MAX_LINKS -]; - -295 * - mvdev -[ -APP_MAX_LINKS -]; - -298 -ušt32_t - - mvmw¬e_tsc_m­_´e£Á -; - -299  - mvmw¬e_tsc_m­ -; - -302 * - m´oc_ty³ -; - -305 * - msy¦og -; - -308 -ušt32_t - - mlog_Ëv–_´e£Á -; - -309 -ušt32_t - - mlog_Ëv– -; - -312 -ušt32_t - - mv”siÚ_´e£Á -; - -313  - mv”siÚ -; - -316 -ušt32_t - - mh–p_´e£Á -; - -317  - mh–p -; - -320 -ušt32_t - - mno_huge_´e£Á -; - -321  - mno_huge -; - -324 -ušt32_t - - mno_pci_´e£Á -; - -325  - mno_pci -; - -328 -ušt32_t - - mno_h³t_´e£Á -; - -329  - mno_h³t -; - -332 -ušt32_t - - mno_shcÚf_´e£Á -; - -333  - mno_shcÚf -; - -336 * - madd_driv” -; - -339 * - msock‘_mem -; - -342 * - mhuge_dœ -; - -345 * - mfže_´efix -; - -348 * - mba£_vœddr -; - -351 -ušt32_t - - mü—‹_uio_dev_´e£Á -; - -352  - mü—‹_uio_dev -; - -355 * - mvfio_šŒ -; - -358 -ušt32_t - - mx’_dom0_´e£Á -; - -359  - mx’_dom0 -; - -362 #iâdeà -APP_APPNAME_SIZE - - -363  - #APP_APPNAME_SIZE - 256 - - ) - -366 #iâdeà -APP_MAX_MEMPOOLS - - -367  - #APP_MAX_MEMPOOLS - 8 - - ) - -370 #iâdeà -APP_LINK_MAX_HWQ_IN - - -371  - #APP_LINK_MAX_HWQ_IN - 64 - - ) - -374 #iâdeà -APP_LINK_MAX_HWQ_OUT - - -375  - #APP_LINK_MAX_HWQ_OUT - 64 - - ) - -378  - #APP_MAX_HWQ_IN - ( -APP_MAX_LINKS - * -APP_LINK_MAX_HWQ_IN -) - - ) - -380  - #APP_MAX_HWQ_OUT - ( -APP_MAX_LINKS - * -APP_LINK_MAX_HWQ_OUT -) - - ) - -382 #iâdeà -APP_MAX_PKTQ_SWQ - - -383  - #APP_MAX_PKTQ_SWQ - 256 - - ) - -386  - #APP_MAX_PKTQ_TM - -APP_MAX_LINKS - - - ) - -388 #iâdeà -APP_MAX_PKTQ_SOURCE - - -389  - #APP_MAX_PKTQ_SOURCE - 32 - - ) - -392 #iâdeà -APP_MAX_PKTQ_SINK - - -393  - #APP_MAX_PKTQ_SINK - 32 - - ) - -396 #iâdeà -APP_MAX_MSGQ - - -397  - #APP_MAX_MSGQ - 128 - - ) - -400 #iâdeà -APP_MAX_PIPELINES - - -401  - #APP_MAX_PIPELINES - 64 - - ) - -404 #iâdeà -APP_EAL_ARGC - - -405  - #APP_EAL_ARGC - 32 - - ) - -408 #iâdeà -APP_MAX_PIPELINE_TYPES - - -409  - #APP_MAX_PIPELINE_TYPES - 64 - - ) - -412 #iâdeà -APP_MAX_THREADS - - -413  - #APP_MAX_THREADS - -RTE_MAX_LCORE - - - ) - -416 #iâdeà -APP_MAX_CMDS - - -417  - #APP_MAX_CMDS - 128 - - ) - -420 #iâdeà -APP_THREAD_HEADROOM_STATS_COLLECT - - -421  - #APP_THREAD_HEADROOM_STATS_COLLECT - 1 - - ) - -424 -ušt8_t - - g’abË_hwlb -; - -425 -ušt8_t - - g’abË_æow_dœ -; - -427  - #APP_CORE_MASK_SIZE - \ - -428 ( -RTE_MAX_LCORE - / 64 + ((RTE_MAX_LCORE % 64è? 1 : 0)) - - ) - -430  - s­p_·¿ms - { - -432  - m­p_Çme -[ -APP_APPNAME_SIZE -]; - -433 cÚ¡ * - mcÚfig_fže -; - -434 cÚ¡ * - msüt_fže -; - -435 cÚ¡ * - m·r£r_fže -; - -436 cÚ¡ * - mouut_fže -; - -437 cÚ¡ * - m´•roc -; - -438 cÚ¡ * - m´•roc_¬gs -; - -439 -ušt64_t - - mpÜt_mask -; - -440 -ušt32_t - - mlog_Ëv– -; - -442  -­p_—l_·¿ms - - m—l_·¿ms -; - -443  -­p_mempoÞ_·¿ms - - mmempoÞ_·¿ms -[ -APP_MAX_MEMPOOLS -]; - -444  -­p_lšk_·¿ms - - mlšk_·¿ms -[ -APP_MAX_LINKS -]; - -445  -­p_pktq_hwq_š_·¿ms - - mhwq_š_·¿ms -[ -APP_MAX_HWQ_IN -]; - -446  -­p_pktq_hwq_out_·¿ms - - mhwq_out_·¿ms -[ -APP_MAX_HWQ_OUT -]; - -447  -­p_pktq_swq_·¿ms - - mswq_·¿ms -[ -APP_MAX_PKTQ_SWQ -]; - -448  -­p_pktq_tm_·¿ms - - mtm_·¿ms -[ -APP_MAX_PKTQ_TM -]; - -449  -­p_pktq_sourû_·¿ms - - msourû_·¿ms -[ -APP_MAX_PKTQ_SOURCE -]; - -450  -­p_pktq_sšk_·¿ms - - msšk_·¿ms -[ -APP_MAX_PKTQ_SINK -]; - -451  -­p_msgq_·¿ms - - mmsgq_·¿ms -[ -APP_MAX_MSGQ -]; - -452  -­p_p–še_·¿ms - - mp–še_·¿ms -[ -APP_MAX_PIPELINES -]; - -454 -ušt32_t - - mn_mempoÞs -; - -455 -ušt32_t - - mn_lšks -; - -456 -ušt32_t - - mn_pktq_hwq_š -; - -457 -ušt32_t - - mn_pktq_hwq_out -; - -458 -ušt32_t - - mn_pktq_swq -; - -459 -ušt32_t - - mn_pktq_tm -; - -460 -ušt32_t - - mn_pktq_sourû -; - -461 -ušt32_t - - mn_pktq_sšk -; - -462 -ušt32_t - - mn_msgq -; - -463 -ušt32_t - - mn_p–šes -; - -465 -ušt32_t - - mh—d”_csum_»q -; - -466 -ušt32_t - - mn_hwlb_q -; - -468 * - m—l_¬gv -[1 + -APP_EAL_ARGC -]; - -469  -ýu_cÜe_m­ - * - mcÜe_m­ -; - -470 -ušt64_t - - mcÜe_mask -[ -APP_CORE_MASK_SIZE -]; - -471  -¹e_mempoÞ - * - mmempoÞ -[ -APP_MAX_MEMPOOLS -]; - -472  -¹e_ršg - * - mswq -[ -APP_MAX_PKTQ_SWQ -]; - -473  -¹e_sched_pÜt - * - mtm -[ -APP_MAX_PKTQ_TM -]; - -474  -¹e_ršg - * - mmsgq -[ -APP_MAX_MSGQ -]; - -475  -p–še_ty³ - - mp–še_ty³ -[ -APP_MAX_PIPELINE_TYPES -]; - -476  -­p_p–še_d©a - - mp–še_d©a -[ -APP_MAX_PIPELINES -]; - -477  -­p_th»ad_d©a - - mth»ad_d©a -[ -APP_MAX_THREADS -]; - -478 -cmdlše_·r£_ùx_t - - mcmds -[ -APP_MAX_CMDS - + 1]; - -480  - m—l_¬gc -; - -481 -ušt32_t - - mn_p–še_ty³s -; - -482 -ušt32_t - - mn_cmds -; - -485  - #APP_PARAM_VALID -( -obj -è((obj)-> -Çme - !ð -NULL -) - - ) - -487  - #APP_PARAM_COUNT -( -obj_¬¿y -, -n_objs -) \ - -489 -size_t - -i -; \ - -491 -n_objs - = 0; \ - -492  -i - = 0; i < - `RTE_DIM -( -obj_¬¿y -); i++) \ - -493 ià( - `APP_PARAM_VALID -(&(( -obj_¬¿y -)[ -i -]))) \ - -494 -n_objs -++; \ - -495 } - - ) - -497  - #APP_PARAM_FIND -( -obj_¬¿y -, -key -) \ - -499 -ssize_t - -obj_idx -; \ - -500 cÚ¡ -ssize_t - -obj_couÁ - = - `RTE_DIM -( -obj_¬¿y -); \ - -502  -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  - #APP_PARAM_FIND_BY_ID -( -obj_¬¿y -, -´efix -, -id -, -obj -) \ - -514  -Çme -[ -APP_PARAM_NAME_SIZE -]; \ - -515 -ssize_t - -pos -; \ - -517 - `¥rštf -( -Çme -, -´efix - "%" -PRIu32 -, -id -); \ - -518 -pos - = - `APP_PARAM_FIND -( -obj_¬¿y -, -Çme -); \ - -519 -obj - = ( -pos - < 0è? -NULL - : &(( -obj_¬¿y -)[pos]); \ - -520 } 0) - - ) - -522  - #APP_PARAM_GET_ID -( -obj -, -´efix -, -id -) \ - -524 - `ssÿnf -( -obj --> -Çme -, -´efix - "%" -SCNu32 -, & -id -); \ - -526 - - ) - -527  - #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  -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  - #APP_CHECK -( -exp -, -fmt -, ...) \ - -551 ià(!( -exp -)) { \ - -552 - `årštf -( -¡d”r -, -fmt - "\n", ## -__VA_ARGS__ -); \ - -553 - `abÜt -(); \ - -555 } 0) - - ) - -557 - e­p_log_Ëv– - { - -558 - mAPP_LOG_LEVEL_HIGH - = 1, - -559 - mAPP_LOG_LEVEL_LOW -, - -560 - mAPP_LOG_LEVELS - - -563  - #APP_LOG -( -­p -, -Ëv– -, -fmt -, ...) \ - -565 ià( -­p --> -log_Ëv– - >ð -APP_LOG_LEVEL_ - ## -Ëv– -) \ - -566 - `årštf -( -¡dout -, "[APP] " -fmt - "\n", ## -__VA_ARGS__ -); \ - -567 } 0) - - ) - -569  -šlše - -ušt32_t - - -570 - $­p_lšk_g‘_n_rxq -( -­p_·¿ms - * -­p -,  -­p_lšk_·¿ms - * -lšk -) - -572 -ušt32_t - -n_rxq - = 0, -lšk_id -, -i -; - -573 -ušt32_t - -n_pktq_hwq_š - = - `RTE_MIN -( -­p -->n_pktq_hwq_in, - -574 - `RTE_DIM -( -­p --> -hwq_š_·¿ms -)); - -576 - `APP_PARAM_GET_ID -( -lšk -, "LINK", -lšk_id -); - -578  -i - = 0; i < -n_pktq_hwq_š -; i++) { - -579  -­p_pktq_hwq_š_·¿ms - * -p - = & -­p --> -hwq_š_·¿ms -[ -i -]; - -580 -ušt32_t - -rxq_lšk_id -, -rxq_queue_id -; - -582 - `ssÿnf -( -p --> -Çme -, "RXQ%" -SCNu32 - ".%" SCNu32, - -583 & -rxq_lšk_id -, & -rxq_queue_id -); - -584 ià( -rxq_lšk_id - =ð -lšk_id -) - -585 -n_rxq -++; - -588  -n_rxq -; - -589 - } -} - -591  -šlše - -ušt32_t - - -592 - $­p_lšk_g‘_n_txq -( -­p_·¿ms - * -­p -,  -­p_lšk_·¿ms - * -lšk -) - -594 -ušt32_t - -n_txq - = 0, -lšk_id -, -i -; - -595 -ušt32_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šk -, "LINK", -lšk_id -); - -600  -i - = 0; i < -n_pktq_hwq_out -; i++) { - -601  -­p_pktq_hwq_out_·¿ms - * -p - = & -­p --> -hwq_out_·¿ms -[ -i -]; - -602 -ušt32_t - -txq_lšk_id -, -txq_queue_id -; - -604 - `ssÿnf -( -p --> -Çme -, "TXQ%" -SCNu32 - ".%" SCNu32, - -605 & -txq_lšk_id -, & -txq_queue_id -); - -606 ià( -txq_lšk_id - =ð -lšk_id -) - -607 -n_txq -++; - -610  -n_txq -; - -611 - } -} - -613  -šlše - -ušt32_t - - -614 - $­p_rxq_g‘_»ad”s -( -­p_·¿ms - * -­p -,  -­p_pktq_hwq_š_·¿ms - * -rxq -) - -616 -ušt32_t - -pos - = -rxq - - -­p --> -hwq_š_·¿ms -; - -617 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -618 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -619 -ušt32_t - -n_»ad”s - = 0, -i -; - -621  -i - = 0; i < -n_p–šes -; i++) { - -622  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -623 -ušt32_t - -n_pktq_š - = - `RTE_MIN -( -p -->n_pktq_š, - `RTE_DIM -Õ-> -pktq_š -)); - -624 -ušt32_t - -j -; - -626  -j - = 0; j < -n_pktq_š -; j++) { - -627  -­p_pktq_š_·¿ms - * -pktq - = & -p --> -pktq_š -[ -j -]; - -629 ià(( -pktq --> -ty³ - =ð -APP_PKTQ_IN_HWQ -) && - -630 ( -pktq --> -id - =ð -pos -)) - -631 -n_»ad”s -++; - -635  -n_»ad”s -; - -636 - } -} - -638  -šlše - -ušt32_t - - -639 - $­p_swq_g‘_»ad”s -( -­p_·¿ms - * -­p -,  -­p_pktq_swq_·¿ms - * -swq -) - -641 -ušt32_t - -pos - = -swq - - -­p --> -swq_·¿ms -; - -642 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -643 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -644 -ušt32_t - -n_»ad”s - = 0, -i -; - -646  -i - = 0; i < -n_p–šes -; i++) { - -647  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -648 -ušt32_t - -n_pktq_š - = - `RTE_MIN -( -p -->n_pktq_š, - `RTE_DIM -Õ-> -pktq_š -)); - -649 -ušt32_t - -j -; - -651  -j - = 0; j < -n_pktq_š -; j++) { - -652  -­p_pktq_š_·¿ms - * -pktq - = & -p --> -pktq_š -[ -j -]; - -654 ià(( -pktq --> -ty³ - =ð -APP_PKTQ_IN_SWQ -) && - -655 ( -pktq --> -id - =ð -pos -)) - -656 -n_»ad”s -++; - -660  -n_»ad”s -; - -661 - } -} - -663  -šlše - -ušt32_t - - -664 - $­p_tm_g‘_»ad”s -( -­p_·¿ms - * -­p -,  -­p_pktq_tm_·¿ms - * -tm -) - -666 -ušt32_t - -pos - = -tm - - -­p --> -tm_·¿ms -; - -667 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -668 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -669 -ušt32_t - -n_»ad”s - = 0, -i -; - -671  -i - = 0; i < -n_p–šes -; i++) { - -672  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -673 -ušt32_t - -n_pktq_š - = - `RTE_MIN -( -p -->n_pktq_š, - `RTE_DIM -Õ-> -pktq_š -)); - -674 -ušt32_t - -j -; - -676  -j - = 0; j < -n_pktq_š -; j++) { - -677  -­p_pktq_š_·¿ms - * -pktq - = & -p --> -pktq_š -[ -j -]; - -679 ià(( -pktq --> -ty³ - =ð -APP_PKTQ_IN_TM -) && - -680 ( -pktq --> -id - =ð -pos -)) - -681 -n_»ad”s -++; - -685  -n_»ad”s -; - -686 - } -} - -688  -šlše - -ušt32_t - - -689 - $­p_sourû_g‘_»ad”s -( -­p_·¿ms - * -­p -, - -690  -­p_pktq_sourû_·¿ms - * -sourû -) - -692 -ušt32_t - -pos - = -sourû - - -­p --> -sourû_·¿ms -; - -693 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -694 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -695 -ušt32_t - -n_»ad”s - = 0, -i -; - -697  -i - = 0; i < -n_p–šes -; i++) { - -698  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -699 -ušt32_t - -n_pktq_š - = - `RTE_MIN -( -p -->n_pktq_š, - `RTE_DIM -Õ-> -pktq_š -)); - -700 -ušt32_t - -j -; - -702  -j - = 0; j < -n_pktq_š -; j++) { - -703  -­p_pktq_š_·¿ms - * -pktq - = & -p --> -pktq_š -[ -j -]; - -705 ià(( -pktq --> -ty³ - =ð -APP_PKTQ_IN_SOURCE -) && - -706 ( -pktq --> -id - =ð -pos -)) - -707 -n_»ad”s -++; - -711  -n_»ad”s -; - -712 - } -} - -714  -šlše - -ušt32_t - - -715 - $­p_msgq_g‘_»ad”s -( -­p_·¿ms - * -­p -,  -­p_msgq_·¿ms - * -msgq -) - -717 -ušt32_t - -pos - = -msgq - - -­p --> -msgq_·¿ms -; - -718 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -719 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -720 -ušt32_t - -n_»ad”s - = 0, -i -; - -722  -i - = 0; i < -n_p–šes -; i++) { - -723  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -724 -ušt32_t - -n_msgq_š - = - `RTE_MIN -( -p -->n_msgq_š, - `RTE_DIM -Õ-> -msgq_š -)); - -725 -ušt32_t - -j -; - -727  -j - = 0; j < -n_msgq_š -; j++) - -728 ià( -p --> -msgq_š -[ -j -] =ð -pos -) - -729 -n_»ad”s -++; - -732  -n_»ad”s -; - -733 - } -} - -735  -šlše - -ušt32_t - - -736 - $­p_txq_g‘_wr™”s -( -­p_·¿ms - * -­p -,  -­p_pktq_hwq_out_·¿ms - * -txq -) - -738 -ušt32_t - -pos - = -txq - - -­p --> -hwq_out_·¿ms -; - -739 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -740 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -741 -ušt32_t - -n_wr™”s - = 0, -i -; - -743  -i - = 0; i < -n_p–šes -; i++) { - -744  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -745 -ušt32_t - -n_pktq_out - = - `RTE_MIN -( -p -->n_pktq_out, - -746 - `RTE_DIM -( -p --> -pktq_out -)); - -747 -ušt32_t - -j -; - -749  -j - = 0; j < -n_pktq_out -; j++) { - -750  -­p_pktq_out_·¿ms - * -pktq - = & -p --> -pktq_out -[ -j -]; - -752 ià(( -pktq --> -ty³ - =ð -APP_PKTQ_OUT_HWQ -) && - -753 ( -pktq --> -id - =ð -pos -)) - -754 -n_wr™”s -++; - -758  -n_wr™”s -; - -759 - } -} - -761  -šlše - -ušt32_t - - -762 - $­p_swq_g‘_wr™”s -( -­p_·¿ms - * -­p -,  -­p_pktq_swq_·¿ms - * -swq -) - -764 -ušt32_t - -pos - = -swq - - -­p --> -swq_·¿ms -; - -765 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -766 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -767 -ušt32_t - -n_wr™”s - = 0, -i -; - -769  -i - = 0; i < -n_p–šes -; i++) { - -770  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -771 -ušt32_t - -n_pktq_out - = - `RTE_MIN -( -p -->n_pktq_out, - -772 - `RTE_DIM -( -p --> -pktq_out -)); - -773 -ušt32_t - -j -; - -775  -j - = 0; j < -n_pktq_out -; j++) { - -776  -­p_pktq_out_·¿ms - * -pktq - = & -p --> -pktq_out -[ -j -]; - -778 ià(( -pktq --> -ty³ - =ð -APP_PKTQ_OUT_SWQ -) && - -779 ( -pktq --> -id - =ð -pos -)) - -780 -n_wr™”s -++; - -784  -n_wr™”s -; - -785 - } -} - -787  -šlše - -ušt32_t - - -788 - $­p_tm_g‘_wr™”s -( -­p_·¿ms - * -­p -,  -­p_pktq_tm_·¿ms - * -tm -) - -790 -ušt32_t - -pos - = -tm - - -­p --> -tm_·¿ms -; - -791 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -792 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -793 -ušt32_t - -n_wr™”s - = 0, -i -; - -795  -i - = 0; i < -n_p–šes -; i++) { - -796  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -797 -ušt32_t - -n_pktq_out - = - `RTE_MIN -( -p -->n_pktq_out, - -798 - `RTE_DIM -( -p --> -pktq_out -)); - -799 -ušt32_t - -j -; - -801  -j - = 0; j < -n_pktq_out -; j++) { - -802  -­p_pktq_out_·¿ms - * -pktq - = & -p --> -pktq_out -[ -j -]; - -804 ià(( -pktq --> -ty³ - =ð -APP_PKTQ_OUT_TM -) && - -805 ( -pktq --> -id - =ð -pos -)) - -806 -n_wr™”s -++; - -810  -n_wr™”s -; - -811 - } -} - -813  -šlše - -ušt32_t - - -814 - $­p_sšk_g‘_wr™”s -( -­p_·¿ms - * -­p -,  -­p_pktq_sšk_·¿ms - * -sšk -) - -816 -ušt32_t - -pos - = -sšk - - -­p --> -sšk_·¿ms -; - -817 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -818 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -819 -ušt32_t - -n_wr™”s - = 0, -i -; - -821  -i - = 0; i < -n_p–šes -; i++) { - -822  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -823 -ušt32_t - -n_pktq_out - = - `RTE_MIN -( -p -->n_pktq_out, - -824 - `RTE_DIM -( -p --> -pktq_out -)); - -825 -ušt32_t - -j -; - -827  -j - = 0; j < -n_pktq_out -; j++) { - -828  -­p_pktq_out_·¿ms - * -pktq - = & -p --> -pktq_out -[ -j -]; - -830 ià(( -pktq --> -ty³ - =ð -APP_PKTQ_OUT_SINK -) && - -831 ( -pktq --> -id - =ð -pos -)) - -832 -n_wr™”s -++; - -836  -n_wr™”s -; - -837 - } -} - -839  -šlše - -ušt32_t - - -840 - $­p_cÜe_is_’abËd -( -­p_·¿ms - * -­p -, -ušt32_t - -lcÜe_id -) { - -841 ( -­p --> -cÜe_mask -[ -lcÜe_id - / 64] & - -842 (1LLU << ( -lcÜe_id - % 64))); - -843 - } -} - -845  -šlše -  - -846 - $­p_cÜe_’abË_š_cÜe_mask -( -­p_·¿ms - * -­p -,  -lcÜe_id -) { - -847 -­p --> -cÜe_mask -[ -lcÜe_id - / 64] |= 1LLU << (lcore_id % 64); - -849 - } -} - -851  -šlše -  - -852 - $­p_cÜe_bužd_cÜe_mask_¡ršg -( -­p_·¿ms - * -­p -,  - -853 * -mask_bufãr -) { - -854  -i -; - -856 -mask_bufãr -[0] = '\0'; - -857  -i - = () - `RTE_DIM -( -­p --> -cÜe_mask -); i > 0; i--) { - -859  -bufãr -[(64 / 8) * 2 + 1]; - -860 - `mem£t -( -bufãr -, 0, (buffer)); - -861 - `¢´štf -( -bufãr -, (bufãr), "%016" -PRIx64 -, - -862 -­p --> -cÜe_mask -[ -i --1]); - -863 - `¡rÿt -( -mask_bufãr -, -bufãr -); - -865 - } -} - -867  -šlše - -ušt32_t - - -868 - $­p_msgq_g‘_wr™”s -( -­p_·¿ms - * -­p -,  -­p_msgq_·¿ms - * -msgq -) - -870 -ušt32_t - -pos - = -msgq - - -­p --> -msgq_·¿ms -; - -871 -ušt32_t - -n_p–šes - = - `RTE_MIN -( -­p -->n_pipelines, - -872 - `RTE_DIM -( -­p --> -p–še_·¿ms -)); - -873 -ušt32_t - -n_wr™”s - = 0, -i -; - -875  -i - = 0; i < -n_p–šes -; i++) { - -876  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -877 -ušt32_t - -n_msgq_out - = - `RTE_MIN -( -p -->n_msgq_out, - -878 - `RTE_DIM -( -p --> -msgq_out -)); - -879 -ušt32_t - -j -; - -881  -j - = 0; j < -n_msgq_out -; j++) - -882 ià( -p --> -msgq_out -[ -j -] =ð -pos -) - -883 -n_wr™”s -++; - -886  -n_wr™”s -; - -887 - } -} - -889  -šlše -  -­p_lšk_·¿ms - * - -890 - $­p_g‘_lšk_fÜ_rxq -( -­p_·¿ms - * -­p -,  -­p_pktq_hwq_š_·¿ms - * -p -) - -892  -lšk_Çme -[ -APP_PARAM_NAME_SIZE -]; - -893 -ssize_t - -lšk_·¿m_idx -; - -894 -ušt32_t - -rxq_lšk_id -, -rxq_queue_id -; - -896 - `ssÿnf -( -p --> -Çme -, "RXQ%" -SCNu32 - ".%" SCNu32, - -897 & -rxq_lšk_id -, & -rxq_queue_id -); - -898 - `¥rštf -( -lšk_Çme -, "LINK%" -PRIu32 -, -rxq_lšk_id -); - -899 -lšk_·¿m_idx - = - `APP_PARAM_FIND -( -­p --> -lšk_·¿ms -, -lšk_Çme -); - -900 - `APP_CHECK -(( -lšk_·¿m_idx - >= 0), - -901 "CªnÙ fšd % fÜ %s", -lšk_Çme -, -p --> -Çme -); - -903  & -­p --> -lšk_·¿ms -[ -lšk_·¿m_idx -]; - -904 - } -} - -906  -šlše -  -­p_lšk_·¿ms - * - -907 - $­p_g‘_lšk_fÜ_txq -( -­p_·¿ms - * -­p -,  -­p_pktq_hwq_out_·¿ms - * -p -) - -909  -lšk_Çme -[ -APP_PARAM_NAME_SIZE -]; - -910 -ssize_t - -lšk_·¿m_idx -; - -911 -ušt32_t - -txq_lšk_id -, -txq_queue_id -; - -913 - `ssÿnf -( -p --> -Çme -, "TXQ%" -SCNu32 - ".%" SCNu32, - -914 & -txq_lšk_id -, & -txq_queue_id -); - -915 - `¥rštf -( -lšk_Çme -, "LINK%" -PRIu32 -, -txq_lšk_id -); - -916 -lšk_·¿m_idx - = - `APP_PARAM_FIND -( -­p --> -lšk_·¿ms -, -lšk_Çme -); - -917 - `APP_CHECK -(( -lšk_·¿m_idx - >= 0), - -918 "CªnÙ fšd % fÜ %s", -lšk_Çme -, -p --> -Çme -); - -920  & -­p --> -lšk_·¿ms -[ -lšk_·¿m_idx -]; - -921 - } -} - -923  -šlše -  -­p_lšk_·¿ms - * - -924 - $­p_g‘_lšk_fÜ_tm -( -­p_·¿ms - * -­p -,  -­p_pktq_tm_·¿ms - * -p_tm -) - -926  -lšk_Çme -[ -APP_PARAM_NAME_SIZE -]; - -927 -ušt32_t - -lšk_id -; - -928 -ssize_t - -lšk_·¿m_idx -; - -930 - `ssÿnf -( -p_tm --> -Çme -, "TM%" -PRIu32 -, & -lšk_id -); - -931 - `¥rštf -( -lšk_Çme -, "LINK%" -PRIu32 -, -lšk_id -); - -932 -lšk_·¿m_idx - = - `APP_PARAM_FIND -( -­p --> -lšk_·¿ms -, -lšk_Çme -); - -933 - `APP_CHECK -(( -lšk_·¿m_idx - >= 0), - -934 "CªnÙ fšd % fÜ %s", -lšk_Çme -, -p_tm --> -Çme -); - -936  & -­p --> -lšk_·¿ms -[ -lšk_·¿m_idx -]; - -937 - } -} - -939  -­p_cÚfig_š™ -( -­p_·¿ms - * -­p -); - -941  -­p_cÚfig_¬gs -( -­p_·¿ms - * -­p -, - -942  -¬gc -, ** -¬gv -); - -944  -­p_cÚfig_´•roc -( -­p_·¿ms - * -­p -); - -946  -­p_cÚfig_·r£ -( -­p_·¿ms - * -­p -, - -947 cÚ¡ * -fže_Çme -); - -949  -­p_cÚfig_·r£_tm -( -­p_·¿ms - * -­p -); - -951  -­p_cÚfig_§ve -( -­p_·¿ms - * -­p -, - -952 cÚ¡ * -fže_Çme -); - -954  -­p_cÚfig_check -( -­p_·¿ms - * -­p -); - -956  -­p_š™ -( -­p_·¿ms - * -­p -); - -958  -­p_th»ad -(* -¬g -); - -960  -­p_p–še_ty³_»gi¡” -( -­p_·¿ms - * -­p -, - -961  -p–še_ty³ - * -±y³ -); - -963  -p–še_ty³ - * -­p_p–še_ty³_fšd -( -­p_·¿ms - * -­p -, - -964 * -Çme -); - -966  -­p_lšk_up_š‹º® -( -­p_·¿ms - * -­p -, - -967  -­p_lšk_·¿ms - * -ý -); - -969  -­p_lšk_down_š‹º® -( -­p_·¿ms - * -­p -, - -970  -­p_lšk_·¿ms - * -ý -); - - @vnf_common/config_check.c - -17  - ~<¡dio.h -> - -19  - ~<¹e_.h -> - -21  - ~"­p.h -" - -23 -ušt8_t - - gg_n_hwq_š -; - -25 - $check_mempoÞs -( -­p_·¿ms - * -­p -) - -27 -ušt32_t - -i -; - -29  -i - = 0; i < -­p --> -n_mempoÞs -; i++) { - -30  -­p_mempoÞ_·¿ms - * -p - = & -­p --> -mempoÞ_·¿ms -[ -i -]; - -32 - `APP_CHECK -(( -p --> -poÞ_size - > 0), - -33 "MempoÞ % sizi 0\n", -p --> -Çme -); - -35 - `APP_CHECK -(( -p --> -ÿche_size - > 0), - -36 "MempoÞ % ÿchsizi 0\n", -p --> -Çme -); - -38 - `APP_CHECK -( - `¹e_is_pow”_of_2 -( -p --> -ÿche_size -), - -39 "MempoÞ % ÿchsiznه…ow” oà2\n", -p --> -Çme -); - -41 - } -} - -44 - $check_lšks -( -­p_·¿ms - * -­p -) - -46 -ušt32_t - -i -; - -49 ià( -­p --> -pÜt_mask -) { - -50 -ušt32_t - -n_lšks_pÜt_mask - = - -51 - `__bužtš_pÝcouÁÎ -( -­p --> -pÜt_mask -); - -53 - `APP_CHECK -(( -­p --> -n_lšks - =ð -n_lšks_pÜt_mask -), - -57  -i - = 0; i < -­p --> -n_lšks -; i++) { - -58  -­p_lšk_·¿ms - * -lšk - = & -­p --> -lšk_·¿ms -[ -i -]; - -59 -ušt32_t - -rxq_max -, -n_rxq -, -n_txq -, -lšk_id -, -i -; - -61 - `APP_PARAM_GET_ID -( -lšk -, "LINK", -lšk_id -); - -64 -rxq_max - = 0; - -65 ià( -lšk --> -¬p_q - > -rxq_max -) - -66 -rxq_max - = -lšk --> -¬p_q -; - -67 ià( -lšk --> -tý_syn_q - > -rxq_max -) - -68 -rxq_max - = -lšk --> -tý_syn_q -; - -69 ià( -lšk --> -_loÿl_q - > -rxq_max -) - -70 -rxq_max - = -lšk --> -_loÿl_q -; - -71 ià( -lšk --> -tý_loÿl_q - > -rxq_max -) - -72 -rxq_max - = -lšk --> -tý_loÿl_q -; - -73 ià( -lšk --> -udp_loÿl_q - > -rxq_max -) - -74 -rxq_max - = -lšk --> -udp_loÿl_q -; - -75 ià( -lšk --> -sùp_loÿl_q - > -rxq_max -) - -76 -rxq_max - = -lšk --> -sùp_loÿl_q -; - -78 if( -’abË_hwlb - || -’abË_æow_dœ -){ - -79 -g_n_hwq_š - = -­p --> -n_hwlb_q -; - -80 -rxq_max - = ( -g_n_hwq_š - - 1); - -81  -i - = -g_n_hwq_š -; i <ð -rxq_max -; i++) - -82 - `APP_CHECK -((( -lšk --> -¬p_q - =ð -i -) || - -83 ( -lšk --> -tý_syn_q - =ð -i -) || - -84 ( -lšk --> -_loÿl_q - =ð -i -) || - -85 ( -lšk --> -tý_loÿl_q - =ð -i -) || - -86 ( -lšk --> -udp_loÿl_q - =ð -i -) || - -87 ( -lšk --> -sùp_loÿl_q - =ð -i -)), - -88 "% RXQ ¬nÙ cÚtiguou (A)\n", -lšk --> -Çme -); - -92  -i - = 1; i <ð -rxq_max -; i++) - -93 - `APP_CHECK -((( -lšk --> -¬p_q - =ð -i -) || - -94 ( -lšk --> -tý_syn_q - =ð -i -) || - -95 ( -lšk --> -_loÿl_q - =ð -i -) || - -96 ( -lšk --> -tý_loÿl_q - =ð -i -) || - -97 ( -lšk --> -udp_loÿl_q - =ð -i -) || - -98 ( -lšk --> -sùp_loÿl_q - =ð -i -)), - -99 "% RXQ ¬nÙ cÚtiguou (A)\n", -lšk --> -Çme -); - -101 -n_rxq - = - `­p_lšk_g‘_n_rxq -( -­p -, -lšk -); - -103 - `APP_CHECK -(( -n_rxq -), "% dÛ nÙ havªy RXQ\n", -lšk --> -Çme -); - -104 - `´štf -("n_rxq = %d\n", -n_rxq -); - -105 - `´štf -("rxq_max = %d\n", -rxq_max -); - -109  -i - = 0; i < -n_rxq -; i++) { - -110  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -111  -pos -; - -113 - `¥rštf -( -Çme -, "RXQ%" -PRIu32 - ".%" PRIu32, - -114 -lšk_id -, -i -); - -115 -pos - = - `APP_PARAM_FIND -( -­p --> -hwq_š_·¿ms -, -Çme -); - -116 - `APP_CHECK -(( -pos - >= 0), - -117 "% RXQ ¬nÙ cÚtiguou (C)\n", -lšk --> -Çme -); - -121 -n_txq - = - `­p_lšk_g‘_n_txq -( -­p -, -lšk -); - -123 - `APP_CHECK -(( -n_txq -), "% dÛ nÙ havªy TXQ\n", -lšk --> -Çme -); - -125  -i - = 0; i < -n_txq -; i++) { - -126  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -127  -pos -; - -129 - `¥rštf -( -Çme -, "TXQ%" -PRIu32 - ".%" PRIu32, - -130 -lšk_id -, -i -); - -131 -pos - = - `APP_PARAM_FIND -( -­p --> -hwq_out_·¿ms -, -Çme -); - -132 - `APP_CHECK -(( -pos - >= 0), - -133 "% TXQ ¬nÙ cÚtiguous\n", -lšk --> -Çme -); - -136 - } -} - -139 - $check_rxqs -( -­p_·¿ms - * -­p -) - -141 -ušt32_t - -i -; - -143  -i - = 0; i < -­p --> -n_pktq_hwq_š -; i++) { - -144  -­p_pktq_hwq_š_·¿ms - * -p - = & -­p --> -hwq_š_·¿ms -[ -i -]; - -145 -ušt32_t - -n_»ad”s - = - `­p_rxq_g‘_»ad”s -( -­p -, -p -); - -147 - `APP_CHECK -(( -p --> -size - > 0), - -148 "% sizi 0\n", -p --> -Çme -); - -150 - `APP_CHECK -(( - `¹e_is_pow”_of_2 -( -p --> -size -)), - -151 "% sizi nه…ow” oà2\n", -p --> -Çme -); - -153 - `APP_CHECK -(( -p --> -bur¡ - > 0), - -154 "% bur¡ sizi 0\n", -p --> -Çme -); - -156 - `APP_CHECK -(( -p --> -bur¡ - <ðp-> -size -), - -157 "% bur¡ sizi bigg”hª it size\n", -p --> -Çme -); - -159 - `APP_CHECK -(( -n_»ad”s - != 0), - -160 "% ha nØ»ad”\n", -p --> -Çme -); - -162 - `APP_CHECK -(( -n_»ad”s - == 1), - -163 "% ha mܐthª oėd”\n", -p --> -Çme -); - -165 - } -} - -168 - $check_txqs -( -­p_·¿ms - * -­p -) - -170 -ušt32_t - -i -; - -172  -i - = 0; i < -­p --> -n_pktq_hwq_out -; i++) { - -173  -­p_pktq_hwq_out_·¿ms - * -p - = & -­p --> -hwq_out_·¿ms -[ -i -]; - -174 -ušt32_t - -n_wr™”s - = - `­p_txq_g‘_wr™”s -( -­p -, -p -); - -176 - `APP_CHECK -(( -p --> -size - > 0), - -177 "% sizi 0\n", -p --> -Çme -); - -179 - `APP_CHECK -(( - `¹e_is_pow”_of_2 -( -p --> -size -)), - -180 "% sizi nه…ow” oà2\n", -p --> -Çme -); - -182 - `APP_CHECK -(( -p --> -bur¡ - > 0), - -183 "% bur¡ sizi 0\n", -p --> -Çme -); - -185 - `APP_CHECK -(( -p --> -bur¡ - <ðp-> -size -), - -186 "% bur¡ sizi bigg”hª it size\n", -p --> -Çme -); - -188 - `APP_CHECK -(( -n_wr™”s - != 0), - -189 "% ha nØwr™”\n", -p --> -Çme -); - -191 - `APP_CHECK -(( -n_wr™”s - == 1), - -192 "% ha mܐthª oà wr™”\n", -p --> -Çme -); - -194 - } -} - -197 - $check_swqs -( -­p_·¿ms - * -­p -) - -199 -ušt32_t - -i -; - -201  -i - = 0; i < -­p --> -n_pktq_swq -; i++) { - -202  -­p_pktq_swq_·¿ms - * -p - = & -­p --> -swq_·¿ms -[ -i -]; - -203 -ušt32_t - -n_»ad”s - = - `­p_swq_g‘_»ad”s -( -­p -, -p -); - -204 -ušt32_t - -n_wr™”s - = - `­p_swq_g‘_wr™”s -( -­p -, -p -); - -205 -ušt32_t - -n_æags -; - -207 - `APP_CHECK -(( -p --> -size - > 0), - -208 "% sizi 0\n", -p --> -Çme -); - -210 - `APP_CHECK -(( - `¹e_is_pow”_of_2 -( -p --> -size -)), - -211 "% sizi nه…ow” oà2\n", -p --> -Çme -); - -213 - `APP_CHECK -(( -p --> -bur¡_»ad - > 0), - -214 "% »ad bur¡ sizi 0\n", -p --> -Çme -); - -216 - `APP_CHECK -(( -p --> -bur¡_»ad - <ðp-> -size -), - -218 -p --> -Çme -); - -220 - `APP_CHECK -(( -p --> -bur¡_wr™e - > 0), - -221 "% wr™bur¡ sizi 0\n", -p --> -Çme -); - -223 - `APP_CHECK -(( -p --> -bur¡_wr™e - <ðp-> -size -), - -225 -p --> -Çme -); - -227 - `APP_CHECK -(( -n_»ad”s - != 0), - -228 "% ha nØ»ad”\n", -p --> -Çme -); - -230 ià( -n_»ad”s - > 1) - -231 - `APP_LOG -( -­p -, -LOW -, "% ha mܐthª oėd”", -p --> -Çme -); - -233 - `APP_CHECK -(( -n_wr™”s - != 0), - -234 "% ha nØwr™”\n", -p --> -Çme -); - -236 ià( -n_wr™”s - > 1) - -237 - `APP_LOG -( -­p -, -LOW -, "% ha mܐthª oà wr™”", -p --> -Çme -); - -239 -n_æags - = -p --> -v4_äag - +…-> -v6_äag - +…-> -v4_¿s - +…-> -v6_¿s -; - -241 - `APP_CHECK -(( -n_æags - < 2), - -243 -p --> -Çme -); - -245 - `APP_CHECK -((!(( -n_»ad”s - > 1è&& ( -n_æags - == 1))), - -248 -p --> -Çme -); - -250 - `APP_CHECK -((!(( -n_wr™”s - > 1è&& ( -n_æags - == 1))), - -253 -p --> -Çme -); - -255 -n_æags - = -p --> -v4_¿s - +…-> -v6_¿s -; - -257 - `APP_CHECK -((!(( -p --> -drÝËss - =ð1è&& ( -n_æags - == 1))), - -258 "% ha drÝËs wh’„—s£mbly mod’abËd\n", -p --> -Çme -); - -260 -n_æags - = -p --> -v4_äag - +…-> -v6_äag -; - -262 ià( -n_æags - == 1) { - -263 -ušt16_t - -_hdr_size - = ( -p --> -v4_äag -è? ( -v4_hdr -) : - -264 ( -v6_hdr -); - -266 - `APP_CHECK -(( -p --> -mtu - > -_hdr_size -), - -267 "% mtu sizi sm®Ë¸thª i°h—d”\n", -p --> -Çme -); - -269 - `APP_CHECK -((!(( -p --> -mtu - - -_hdr_size -) % 8)), - -270 "% mtu sizi šcÜ»ù\n", -p --> -Çme -); - -273 - } -} - -276 - $check_tms -( -­p_·¿ms - * -­p -) - -278 -ušt32_t - -i -; - -280  -i - = 0; i < -­p --> -n_pktq_tm -; i++) { - -281  -­p_pktq_tm_·¿ms - * -p - = & -­p --> -tm_·¿ms -[ -i -]; - -282 -ušt32_t - -n_»ad”s - = - `­p_tm_g‘_»ad”s -( -­p -, -p -); - -283 -ušt32_t - -n_wr™”s - = - `­p_tm_g‘_wr™”s -( -­p -, -p -); - -285 - `APP_CHECK -(( -n_»ad”s - != 0), - -286 "% ha nØ»ad”\n", -p --> -Çme -); - -288 - `APP_CHECK -(( -n_»ad”s - == 1), - -289 "% ha mܐthª oėd”\n", -p --> -Çme -); - -291 - `APP_CHECK -(( -n_wr™”s - != 0), - -292 "% ha nØwr™”\n", -p --> -Çme -); - -294 - `APP_CHECK -(( -n_wr™”s - == 1), - -295 "% ha mܐthª oà wr™”\n", -p --> -Çme -); - -297 - } -} - -300 - $check_sourûs -( -­p_·¿ms - * -­p -) - -302 -ušt32_t - -i -; - -304  -i - = 0; i < -­p --> -n_pktq_sourû -; i++) { - -305  -­p_pktq_sourû_·¿ms - * -p - = & -­p --> -sourû_·¿ms -[ -i -]; - -306 -ušt32_t - -n_»ad”s - = - `­p_sourû_g‘_»ad”s -( -­p -, -p -); - -308 - `APP_CHECK -(( -n_»ad”s - != 0), - -309 "% ha nØ»ad”\n", -p --> -Çme -); - -311 - `APP_CHECK -(( -n_»ad”s - == 1), - -312 "% ha mܐthª oėd”\n", -p --> -Çme -); - -314 - } -} - -317 - $check_sšks -( -­p_·¿ms - * -­p -) - -319 -ušt32_t - -i -; - -321  -i - = 0; i < -­p --> -n_pktq_sšk -; i++) { - -322  -­p_pktq_sšk_·¿ms - * -p - = & -­p --> -sšk_·¿ms -[ -i -]; - -323 -ušt32_t - -n_wr™”s - = - `­p_sšk_g‘_wr™”s -( -­p -, -p -); - -325 - `APP_CHECK -(( -n_wr™”s - != 0), - -326 "% ha nØwr™”\n", -p --> -Çme -); - -328 - `APP_CHECK -(( -n_wr™”s - == 1), - -329 "% ha mܐthª oà wr™”\n", -p --> -Çme -); - -331 - } -} - -334 - $check_msgqs -( -­p_·¿ms - * -­p -) - -336 -ušt32_t - -i -; - -338  -i - = 0; i < -­p --> -n_msgq -; i++) { - -339  -­p_msgq_·¿ms - * -p - = & -­p --> -msgq_·¿ms -[ -i -]; - -340 -ušt32_t - -n_»ad”s - = - `­p_msgq_g‘_»ad”s -( -­p -, -p -); - -341 -ušt32_t - -n_wr™”s - = - `­p_msgq_g‘_wr™”s -( -­p -, -p -); - -342 -ušt32_t - -msgq_»q_p–še -, -msgq_r¥_p–še -; - -343 -ušt32_t - -msgq_»q_cÜe -, -msgq_r¥_cÜe -; - -345 - `APP_CHECK -(( -p --> -size - > 0), - -346 "% sizi 0\n", -p --> -Çme -); - -348 - `APP_CHECK -(( - `¹e_is_pow”_of_2 -( -p --> -size -)), - -349 "% sizi nه…ow” oà2\n", -p --> -Çme -); - -351 -msgq_»q_p–še - = ( - `¡ºcmp -( -p --> -Çme -, "MSGQ-REQ-PIPELINE", - -352 - `¡¾’ -("MSGQ-REQ-PIPELINE")) == 0); - -354 -msgq_r¥_p–še - = ( - `¡ºcmp -( -p --> -Çme -, "MSGQ-RSP-PIPELINE", - -355 - `¡¾’ -("MSGQ-RSP-PIPELINE")) == 0); - -357 -msgq_»q_cÜe - = ( - `¡ºcmp -( -p --> -Çme -, "MSGQ-REQ-CORE", - -358 - `¡¾’ -("MSGQ-REQ-CORE")) == 0); - -360 -msgq_r¥_cÜe - = ( - `¡ºcmp -( -p --> -Çme -, "MSGQ-RSP-CORE", - -361 - `¡¾’ -("MSGQ-RSP-CORE")) == 0); - -363 ià(( -msgq_»q_p–še - == 0) && - -364 ( -msgq_r¥_p–še - == 0) && - -365 ( -msgq_»q_cÜe - == 0) && - -366 ( -msgq_r¥_cÜe - == 0)) { - -367 - `APP_CHECK -(( -n_»ad”s - != 0), - -368 "% ha nØ»ad”\n", -p --> -Çme -); - -370 - `APP_CHECK -(( -n_»ad”s - == 1), - -371 "% ha mܐthª oėd”\n", -p --> -Çme -); - -373 - `APP_CHECK -(( -n_wr™”s - != 0), - -374 "% ha nØwr™”\n", -p --> -Çme -); - -376 - `APP_CHECK -(( -n_wr™”s - == 1), - -377 "% ha mܐthª oà wr™”\n", -p --> -Çme -); - -380 ià( -msgq_»q_p–še -) { - -381  -­p_p–še_·¿ms - * -p–še -; - -382 -ušt32_t - -p–še_id -; - -384 - `APP_PARAM_GET_ID -( -p -, "MSGQ-REQ-PIPELINE", -p–še_id -); - -386 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, - -388 -p–še_id -, - -389 -p–še -); - -391 - `APP_CHECK -(( -p–še - !ð -NULL -), - -393 -p --> -Çme -); - -396 ià( -msgq_r¥_p–še -) { - -397  -­p_p–še_·¿ms - * -p–še -; - -398 -ušt32_t - -p–še_id -; - -400 - `APP_PARAM_GET_ID -( -p -, "MSGQ-RSP-PIPELINE", -p–še_id -); - -402 - `APP_PARAM_FIND_BY_ID -( -­p --> -p–še_·¿ms -, - -404 -p–še_id -, - -405 -p–še -); - -407 - `APP_CHECK -(( -p–še - !ð -NULL -), - -409 -p --> -Çme -); - -412 - } -} - -415 - $check_p–šes -( -­p_·¿ms - * -­p -) - -417 -ušt32_t - -i -; - -419  -i - = 0; i < -­p --> -n_p–šes -; i++) { - -420  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -422 - `APP_CHECK -(( -p --> -n_msgq_š - =ðp-> -n_msgq_out -), - -424 "thnumb” oàouuˆMSGQs\n", -p --> -Çme -); - -426 - } -} - -429 - $­p_cÚfig_check -( -­p_·¿ms - * -­p -) - -431 - `check_mempoÞs -( -­p -); - -432 - `check_lšks -( -­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šks -( -­p -); - -439 - `check_msgqs -( -­p -); - -440 - `check_p–šes -( -­p -); - -443 - } -} - - @vnf_common/config_parse.c - -16  - ~<¡dšt.h -> - -17  - ~<¡dlib.h -> - -18  - ~<¡dio.h -> - -19  - ~<ùy³.h -> - -20  - ~ - -21  - ~<”ºo.h -> - -22  - ~<¡d¬g.h -> - -23  - ~<¡ršg.h -> - -24  - ~ - -25  - ~ - -26  - ~ - -28  - ~<¹e_”ºo.h -> - -29  - ~<¹e_cfgfže.h -> - -30  - ~<¹e_¡ršg_âs.h -> - -32  - ~"­p.h -" - -33  - ~"·r£r.h -" - -39  -­p_·¿ms - - g­p_·¿ms_deçuÉ - = { - -40 . -cÚfig_fže - = "./config/ip_pipeline.cfg", - -41 . - glog_Ëv– - = -APP_LOG_LEVEL_HIGH -, - -42 . - gpÜt_mask - = 0, - -44 . - g—l_·¿ms - = { - -45 . -chªÃls - = 4, - -49 cÚ¡  -­p_mempoÞ_·¿ms - - gmempoÞ_·¿ms_deçuÉ - = { - -50 . -·r£d - = 0, - -51 . - gbufãr_size - = 2048 + ( -¹e_mbuf -è+ -RTE_PKTMBUF_HEADROOM -, - -52 . - gpoÞ_size - = 32 * 1024, - -53 . - gÿche_size - = 256, - -54 . - gýu_sock‘_id - = 0, - -57 cÚ¡  -­p_lšk_·¿ms - - glšk_·¿ms_deçuÉ - = { - -58 . -·r£d - = 0, - -59 . - gpmd_id - = 0, - -60 . - g¬p_q - = 0, - -61 . - gtý_syn_q - = 0, - -62 . - g_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 - = 0, - -68 . - gv6 - = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - -69 . - gd•th - = 0, - -70 . - gd•th_v6 - = 0, - -71 . - gmac_addr - = 0, - -72 . - gpci_bdf - = {0}, - -74 . - gcÚf - = { - -75 . -lšk_¥“ds - = 0, - -76 . - grxmode - = { - -77 . -mq_mode - = -ETH_MQ_RX_NONE -, - -79 . - gh—d”_¥l™ - = 0, - -80 . - ghw__checksum - = 0, - -81 . - ghw_vÏn_fž‹r - = 0, - -82 . - ghw_vÏn_¡r - = 0, - -83 . - ghw_vÏn_ex‹nd - = 0, - -84 . - gjumbo_äame - = 0, - -85 . - ghw_¡r_üc - = 0, - -86 . - g’abË_sÿ‰” - = 0, - -88 . - gmax_rx_pkt_Ën - = 9000, - -89 . - g¥l™_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šŒ_cÚf - = { - -98 . -lsc - = 1, - -104 . - g´omisc - = 1, - -107 cÚ¡  -­p_pktq_hwq_š_·¿ms - - gdeçuÉ_hwq_š_·¿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_ä“_th»sh - = 64, - -120 . - grx_drÝ_’ - = 0, - -121 . - grx_deã¼ed_¡¬t - = 0, - -125 cÚ¡  -­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_»Œ›s - = 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_ä“_th»sh - = 0, - -140 . - gtxq_æags - = -ETH_TXQ_FLAGS_NOMULTSEGS - | - -141 -ETH_TXQ_FLAGS_NOOFFLOADS -, - -142 . - gtx_deã¼ed_¡¬t - = 0, - -146 cÚ¡  -­p_pktq_swq_·¿ms - - gdeçuÉ_swq_·¿ms - = { - -147 . -·r£d - = 0, - -148 . - gsize - = 256, - -149 . - gbur¡_»ad - = 32, - -150 . - gbur¡_wr™e - = 32, - -151 . - gdrÝËss - = 0, - -152 . - gn_»Œ›s - = 0, - -153 . - gýu_sock‘_id - = 0, - -154 . - gv4_äag - = 0, - -155 . - gv6_äag - = 0, - -156 . - gv4_¿s - = 0, - -157 . - gv6_¿s - = 0, - -158 . - gmtu - = 0, - -159 . - gm‘ad©a_size - = 0, - -160 . - gmempoÞ_dœeù_id - = 0, - -161 . - gmempoÞ_šdœeù_id - = 0, - -164  -­p_pktq_tm_·¿ms - - gdeçuÉ_tm_·¿ms - = { - -165 . -·r£d - = 0, - -166 . - gfže_Çme - = "./config/tm_profile.cfg", - -167 . - gbur¡_»ad - = 64, - -168 . - gbur¡_wr™e - = 32, - -171  -­p_pktq_sourû_·¿ms - - gdeçuÉ_sourû_·¿ms - = { - -172 . -·r£d - = 0, - -173 . - gmempoÞ_id - = 0, - -174 . - gbur¡ - = 32, - -175 . - gfže_Çme - = -NULL -, - -176 . - gn_by‹s_³r_pkt - = 0, - -179  -­p_pktq_sšk_·¿ms - - gdeçuÉ_sšk_·¿ms - = { - -180 . -·r£d - = 0, - -181 . - gfže_Çme - = -NULL -, - -182 . - gn_pkts_to_dump - = 0, - -185  -­p_msgq_·¿ms - - gdeçuÉ_msgq_·¿ms - = { - -186 . -·r£d - = 0, - -187 . - gsize - = 64, - -188 . - gýu_sock‘_id - = 0, - -191  -­p_p–še_·¿ms - - gdeçuÉ_p–še_·¿ms - = { - -192 . -·r£d - = 0, - -193 . - gsock‘_id - = 0, - -194 . - gcÜe_id - = 0, - -195 . - ghy³r_th_id - = 0, - -196 . - gn_pktq_š - = 0, - -197 . - gn_pktq_out - = 0, - -198 . - gn_msgq_š - = 0, - -199 . - gn_msgq_out - = 0, - -200 . - gtim”_³riod - = 1, - -201 . - gn_¬gs - = 0, - -204 cÚ¡  - g­p_u§ge -[] = - -220 - $­p_´št_u§ge -(* -´gÇme -) - -222 - `¹e_ex™ -(0, -­p_u§ge -, -´gÇme -, -­p_·¿ms_deçuÉ -. -cÚfig_fže -); - -223 - } -} - -225  - #sk_wh™e_¥aûs -( -pos -) \ - -227 - `__ty³of__ -( -pos -è -_p - = (pos); \ - -228  ; - `is¥aû -(* -_p -); _p++); \ - -229 -_p -; \ - -230 }) - - ) - -232  - #PARSER_PARAM_ADD_CHECK -( -»suÉ -, -·¿ms_¬¿y -, -£ùiÚ_Çme -) \ - -234 - `APP_CHECK -(( -»suÉ - !ð- -EINVAL -), \ - -236 - `APP_CHECK -(( -»suÉ - !ð- -ENOMEM -), \ - -237 "P¬£ƒ¼Ü:oØmªy \"%s\" seùiÚs", -£ùiÚ_Çme -); \ - -238 - `APP_CHECK -((( -»suÉ - >ð0è&& ( -·¿ms_¬¿y -)[»suÉ]. -·r£d - == 0),\ - -239 "P¬£ƒ¼Ü: du¶iÿ‹ \"%s\" seùiÚ", -£ùiÚ_Çme -); \ - -240 - `APP_CHECK -(( -»suÉ - >= 0), \ - -241 "P¬£ƒ¼Ü iÀ£ùiÚ \"%s\"", -£ùiÚ_Çme -); \ - -242 } 0) - - ) - -245 - $·r£r_»ad_¬g_boÞ -(cÚ¡ * -p -) - -247 -p - = - `sk_wh™e_¥aûs -(p); - -248  -»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_wh™e_¥aûs -(p); - -276 ià( -p -[0] != '\0') - -277  - -EINVAL -; - -279  -»suÉ -; - -280 - } -} - -282  - #PARSE_ERROR -( -exp -, -£ùiÚ -, -’Œy -) \ - -283 - `APP_CHECK -( -exp -, "P¬£ƒ¼Ü iÀ£ùiÚ \"%s\":ƒÁry \"%s\"\n", -£ùiÚ -, -’Œy -) - - ) - -285  - #PARSE_ERROR_MESSAGE -( -exp -, -£ùiÚ -, -’Œy -, -mes§ge -) \ - -286 - `APP_CHECK -( -exp -, "Parseƒrror in section \"%s\",ƒntry \"%s\": %s\n", \ - -287 -£ùiÚ -, -’Œy -, -mes§ge -) - - ) - -290  - #PARSE_ERROR_MALLOC -( -exp -) \ - -291 - `APP_CHECK -( -exp -, "P¬£ƒ¼Ü:‚Øä“ memÜy\n") - - ) - -293  - #PARSE_ERROR_SECTION -( -exp -, -£ùiÚ -) \ - -294 - `APP_CHECK -( -exp -, "P¬£ƒ¼Ü iÀ£ùiÚ \"%s\"", -£ùiÚ -) - - ) - -296  - #PARSE_ERROR_SECTION_NO_ENTRIES -( -exp -, -£ùiÚ -) \ - -297 - `APP_CHECK -( -exp -, "P¬£ƒ¼Ü iÀ£ùiÚ \"%s\":‚Ø’Œ›s\n", -£ùiÚ -) - - ) - -299  - #PARSE_WARNING_IGNORED -( -exp -, -£ùiÚ -, -’Œy -) \ - -301 ià(!( -exp -)) \ - -302 - `årštf -( -¡d”r -, "Parse warning in section \"%s\": " \ - -303 "’Œy \"%s\" i ignÜed\n", -£ùiÚ -, -’Œy -); \ - -304 0) - - ) - -306  - #PARSE_ERROR_INVALID -( -exp -, -£ùiÚ -, -’Œy -) \ - -307 - `APP_CHECK -( -exp -, "Parseƒrror in section \"%s\": unrecognizedƒntry \"%s\"\n",\ - -308 -£ùiÚ -, -’Œy -) - - ) - -310  - #PARSE_ERROR_DUPLICATE -( -exp -, -£ùiÚ -, -’Œy -) \ - -311 - `APP_CHECK -( -exp -, "Parseƒrror in section \"%s\": duplicateƒntry \"%s\"\n",\ - -312 -£ùiÚ -, -’Œy -) - - ) - -315 - $·r£r_»ad_ušt64 -( -ušt64_t - * -v®ue -, cÚ¡ * -p -) - -317 * -Ãxt -; - -318 -ušt64_t - -v® -; - -320 -p - = - `sk_wh™e_¥aûs -(p); - -321 ià(! - `isdig™ -(* -p -)) - -322  - -EINVAL -; - -324 -v® - = - `¡¹oul -( -p -, & -Ãxt -, 10); - -325 ià( -p - =ð -Ãxt -) - -326  - -EINVAL -; - -328 -p - = -Ãxt -; - -329 * -p -) { - -331 -v® - *= 1024ULL; - -334 -v® - *= 1024ULL; - -337 -v® - *= 1024ULL; - -341 -v® - *= 1024ULL; - -342 -p -++; - -346 -p - = - `sk_wh™e_¥aûs -(p); - -347 ià(* -p - != '\0') - -348  - -EINVAL -; - -350 * -v®ue - = -v® -; - -352 - } -} - -355 - $·r£r_»ad_ušt32 -( -ušt32_t - * -v®ue -, cÚ¡ * -p -) - -357 -ušt64_t - -v® - = 0; - -358  -»t - = - `·r£r_»ad_ušt64 -(& -v® -, -p -); - -360 ià( -»t - < 0) - -361  -»t -; - -363 ià( -v® - > -UINT32_MAX -) - -364  - -ERANGE -; - -366 * -v®ue - = -v® -; - -368 - } -} - -371 - $·r£_p–še_cÜe -( -ušt32_t - * -sock‘ -, - -372 -ušt32_t - * -cÜe -, - -373 -ušt32_t - * -ht -, - -374 cÚ¡ * -’Œy -) - -376 -size_t - -num_Ën -; - -377  -num -[8]; - -379 -ušt32_t - -s - = 0, -c - = 0, -h - = 0, -v® -; - -380 -ušt8_t - -s_·r£d - = 0, -c_·r£d - = 0, -h_·r£d - = 0; - -381 cÚ¡ * -Ãxt - = - `sk_wh™e_¥aûs -( -’Œy -); - -382  -ty³ -; - -385 * -Ãxt - != '\0') { - -387 ià( -s_·r£d - && -c_·r£d - && -h_·r£d -) - -388  - -EINVAL -; - -390 -ty³ - = * -Ãxt -; - -391  -ty³ -) { - -394 ià( -s_·r£d - || -c_·r£d - || -h_·r£d -) - -395  - -EINVAL -; - -396 -s_·r£d - = 1; - -397 -Ãxt -++; - -401 ià( -c_·r£d - || -h_·r£d -) - -402  - -EINVAL -; - -403 -c_·r£d - = 1; - -404 -Ãxt -++; - -408 ià( -h_·r£d -) - -409  - -EINVAL -; - -410 -h_·r£d - = 1; - -411 -Ãxt -++; - -415 ià(! - `isdig™ -(* -Ãxt -è|| -s_·r£d - || -c_·r£d - || -h_·r£d -) - -416  - -EINVAL -; - -418 -ty³ - = 'C'; - -421  -num_Ën - = 0; * -Ãxt - != '\0';‚ext++,‚um_len++) { - -422 ià( -num_Ën - =ð - `RTE_DIM -( -num -)) - -423  - -EINVAL -; - -425 ià(! - `isdig™ -(* -Ãxt -)) - -428 -num -[ -num_Ën -] = * -Ãxt -; - -431 ià( -num_Ën - =ð0 && -ty³ - != 'h' &&ype != 'H') - -432  - -EINVAL -; - -434 ià( -num_Ën - !ð0 && ( -ty³ - == 'h' ||ype == 'H')) - -435  - -EINVAL -; - -436 if( -num_Ën - < ( -num -)) - -437 -num -[ -num_Ën -] = '\0'; - -438 -v® - = - `¡¹Þ -( -num -, -NULL -, 10); - -440 -h - = 0; - -441  -ty³ -) { - -444 -s - = -v® -; - -448 -c - = -v® -; - -452 -h - = 1; - -457 * -sock‘ - = -s -; - -458 * -cÜe - = -c -; - -459 * -ht - = -h -; - -461 - } -} - -463  -ušt32_t - - -464 - $g‘_hex_v® -( -c -) - -466  -c -) { - -469  -c - - '0'; - -471  -c - - 'A' + 10; - -473  -c - - 'a' + 10; - -477 - } -} - -480 - $·r£_hex_¡ršg -(* -¤c -, -ušt8_t - * -d¡ -, -ušt32_t - * -size -) - -482 * -c -; - -483 -ušt32_t - -Ën -, -i -; - -486 ià(( -¤c - =ð -NULL -) || - -487 ( -d¡ - =ð -NULL -) || - -488 ( -size - =ð -NULL -) || - -489 (* -size - == 0)) - -492 -Ën - = - `¡¾’ -( -¤c -); - -493 ià((( -Ën - & 3) != 0) || - -494 ( -Ën - > (* -size -) * 2)) - -496 * -size - = -Ën - / 2; - -498  -c - = -¤c -; *c != 0; c++) { - -499 ià((((* -c -) >= '0') && ((*c) <= '9')) || - -500 (((* -c -) >= 'A') && ((*c) <= 'F')) || - -501 (((* -c -) >= 'a') && ((*c) <= 'f'))) - -508  -i - = 0; i < * -size -; i++) - -509 -d¡ -[ -i -] = - `g‘_hex_v® -( -¤c -[2 * i]) * 16 + - -510 - `g‘_hex_v® -( -¤c -[2 * -i - + 1]); - -513 - } -} - -515  -size_t - - -516 - $sk_dig™s -(cÚ¡ * -¤c -) - -518 -size_t - -i -; - -520  -i - = 0; - `isdig™ -( -¤c -[i]); i++); - -522  -i -; - -523 - } -} - -526 - $v®id©e_Çme -(cÚ¡ * -Çme -, cÚ¡ * -´efix -,  -num -) - -528 -size_t - -i -, -j -; - -530  -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_dig™s -(& -Çme -[ -i -]); - -547 -i - +ð -j -; - -548 ià(( -j - =ð0è|| ( -Çme -[ -i -] != '.')) - -550 -i -++; - -553 ià( -num - == 1) { - -554 -j - = - `sk_dig™s -(& -Çme -[ -i -]); - -555 -i - +ð -j -; - -556 ià(( -j - =ð0è|| ( -Çme -[ -i -] != '\0')) - -561 - } -} - -564 - $·r£_—l -( -­p_·¿ms - * -­p -, - -565 cÚ¡ * -£ùiÚ_Çme -, - -566  -¹e_cfgfže - * -cfg -) - -568  -­p_—l_·¿ms - * -p - = & -­p --> -—l_·¿ms -; - -569  -¹e_cfgfže_’Œy - * -’Œ›s -; - -570  -n_’Œ›s -, -i -; - -572 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -573 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -575 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -576 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -578 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -580  -i - = 0; i < -n_’Œ›s -; i++) { - -581  -¹e_cfgfže_’Œy - * -’Œy - = & -’Œ›s -[ -i -]; - -584 ià( - `¡rcmp -( -’Œy --> -Çme -, "c") == 0) { - -585 - `PARSE_WARNING_IGNORED -(0, -£ùiÚ_Çme -, -’Œy --> -Çme -); - -590 ià( - `¡rcmp -( -’Œy --> -Çme -, "l") == 0) { - -591 - `PARSE_WARNING_IGNORED -(0, -£ùiÚ_Çme -, -’Œy --> -Çme -); - -596 ià( - `¡rcmp -( -’Œy --> -Çme -, "lcores") == 0) { - -597 - `PARSE_ERROR_DUPLICATE -(( -p --> -cÜem­ - =ð -NULL -), - -598 -£ùiÚ_Çme -, - -599 -’Œy --> -Çme -); - -600 -p --> -cÜem­ - = - `¡rdup -( -’Œy --> -v®ue -); - -605 ià( - `¡rcmp -( -’Œy --> -Çme -, "master_lcore") == 0) { - -606  -¡©us -; - -608 - `PARSE_ERROR_DUPLICATE -(( -p --> -ma¡”_lcÜe_´e£Á - == 0), - -609 -£ùiÚ_Çme -, - -610 -’Œy --> -Çme -); - -611 -p --> -ma¡”_lcÜe_´e£Á - = 1; - -613 -¡©us - = - `·r£r_»ad_ušt32 -(& -p --> -ma¡”_lcÜe -, - -614 -’Œy --> -v®ue -); - -615 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -620 ià( - `¡rcmp -( -’Œy --> -Çme -, "n") == 0) { - -621  -¡©us -; - -623 - `PARSE_ERROR_DUPLICATE -(( -p --> -chªÃls_´e£Á - == 0), - -624 -£ùiÚ_Çme -, - -625 -’Œy --> -Çme -); - -626 -p --> -chªÃls_´e£Á - = 1; - -628 -¡©us - = - `·r£r_»ad_ušt32 -(& -p --> -chªÃls -, -’Œy --> -v®ue -); - -629 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -634 ià( - `¡rcmp -( -’Œy --> -Çme -, "m") == 0) { - -635  -¡©us -; - -637 - `PARSE_ERROR_DUPLICATE -(( -p --> -memÜy_´e£Á - == 0), - -638 -£ùiÚ_Çme -, - -639 -’Œy --> -Çme -); - -640 -p --> -memÜy_´e£Á - = 1; - -642 -¡©us - = - `·r£r_»ad_ušt32 -(& -p --> -memÜy -, -’Œy --> -v®ue -); - -643 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -648 ià( - `¡rcmp -( -’Œy --> -Çme -, "r") == 0) { - -649  -¡©us -; - -651 - `PARSE_ERROR_DUPLICATE -(( -p --> -¿nks_´e£Á - == 0), - -652 -£ùiÚ_Çme -, - -653 -’Œy --> -Çme -); - -654 -p --> -¿nks_´e£Á - = 1; - -656 -¡©us - = - `·r£r_»ad_ušt32 -(& -p --> -¿nks -, -’Œy --> -v®ue -); - -657 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -662 ià(( - `¡rcmp -( -’Œy --> -Çme -, "pci_blacklist") == 0) || - -663 ( - `¡rcmp -( -’Œy --> -Çme -, "b") == 0)) { - -664 -ušt32_t - -i -; - -666  -i - = 0; i < -APP_MAX_LINKS -; i++) { - -667 ià( -p --> -pci_bÏckli¡ -[ -i -]) - -670 -p --> -pci_bÏckli¡ -[ -i -] = - -671 - `¡rdup -( -’Œy --> -v®ue -); - -672 - `PARSE_ERROR_MALLOC -( -p --> -pci_bÏckli¡ -[ -i -]); - -677 - `PARSE_ERROR_MESSAGE -(( -i - < -APP_MAX_LINKS -), - -678 -£ùiÚ_Çme -, -’Œy --> -Çme -, - -684 ià(( - `¡rcmp -( -’Œy --> -Çme -, "pci_whitelist") == 0) || - -685 ( - `¡rcmp -( -’Œy --> -Çme -, "w") == 0)) { - -686 -ušt32_t - -i -; - -688 - `PARSE_ERROR_MESSAGE -(( -­p --> -pÜt_mask - != 0), - -689 -£ùiÚ_Çme -, -’Œy --> -Çme -, "entryo be " - -693  -i - = 0; i < -APP_MAX_LINKS -; i++) { - -694 ià( -p --> -pci_wh™–i¡ -[ -i -]) - -697 -p --> -pci_wh™–i¡ -[ -i -] = - `¡rdup -( -’Œy --> -v®ue -); - -698 - `PARSE_ERROR_MALLOC -( -p --> -pci_wh™–i¡ -[ -i -]); - -703 - `PARSE_ERROR_MESSAGE -(( -i - < -APP_MAX_LINKS -), - -704 -£ùiÚ_Çme -, -’Œy --> -Çme -, - -710 ià( - `¡rcmp -( -’Œy --> -Çme -, "vdev") == 0) { - -711 -ušt32_t - -i -; - -713  -i - = 0; i < -APP_MAX_LINKS -; i++) { - -714 ià( -p --> -vdev -[ -i -]) - -717 -p --> -vdev -[ -i -] = - `¡rdup -( -’Œy --> -v®ue -); - -718 - `PARSE_ERROR_MALLOC -( -p --> -vdev -[ -i -]); - -723 - `PARSE_ERROR_MESSAGE -(( -i - < -APP_MAX_LINKS -), - -724 -£ùiÚ_Çme -, -’Œy --> -Çme -, - -730 ià( - `¡rcmp -( -’Œy --> -Çme -, "vmware_tsc_map") == 0) { - -731  -v® -; - -733 - `PARSE_ERROR_DUPLICATE -(( -p --> -vmw¬e_tsc_m­_´e£Á - == 0), - -734 -£ùiÚ_Çme -, - -735 -’Œy --> -Çme -); - -736 -p --> -vmw¬e_tsc_m­_´e£Á - = 1; - -738 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -739 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -740 -p --> -vmw¬e_tsc_m­ - = -v® -; - -745 ià( - `¡rcmp -( -’Œy --> -Çme -, "proc_type") == 0) { - -746 - `PARSE_ERROR_DUPLICATE -(( -p --> -´oc_ty³ - =ð -NULL -), - -747 -£ùiÚ_Çme -, - -748 -’Œy --> -Çme -); - -749 -p --> -´oc_ty³ - = - `¡rdup -( -’Œy --> -v®ue -); - -754 ià( - `¡rcmp -( -’Œy --> -Çme -, "syslog") == 0) { - -755 - `PARSE_ERROR_DUPLICATE -(( -p --> -sy¦og - =ð -NULL -), - -756 -£ùiÚ_Çme -, - -757 -’Œy --> -Çme -); - -758 -p --> -sy¦og - = - `¡rdup -( -’Œy --> -v®ue -); - -763 ià( - `¡rcmp -( -’Œy --> -Çme -, "log_level") == 0) { - -764  -¡©us -; - -766 - `PARSE_ERROR_DUPLICATE -(( -p --> -log_Ëv–_´e£Á - == 0), - -767 -£ùiÚ_Çme -, - -768 -’Œy --> -Çme -); - -769 -p --> -log_Ëv–_´e£Á - = 1; - -771 -¡©us - = - `·r£r_»ad_ušt32 -(& -p --> -log_Ëv– -, - -772 -’Œy --> -v®ue -); - -773 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -778 ià( - `¡rcmp -( -’Œy --> -Çme -, "v") == 0) { - -779  -v® -; - -781 - `PARSE_ERROR_DUPLICATE -(( -p --> -v”siÚ_´e£Á - == 0), - -782 -£ùiÚ_Çme -, - -783 -’Œy --> -Çme -); - -784 -p --> -v”siÚ_´e£Á - = 1; - -786 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -787 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -788 -p --> -v”siÚ - = -v® -; - -793 ià(( - `¡rcmp -( -’Œy --> -Çme -, "help") == 0) || - -794 ( - `¡rcmp -( -’Œy --> -Çme -, "h") == 0)) { - -795  -v® -; - -797 - `PARSE_ERROR_DUPLICATE -(( -p --> -h–p_´e£Á - == 0), - -798 -£ùiÚ_Çme -, - -799 -’Œy --> -Çme -); - -800 -p --> -h–p_´e£Á - = 1; - -802 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -803 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -804 -p --> -h–p - = -v® -; - -809 ià( - `¡rcmp -( -’Œy --> -Çme -, "no_huge") == 0) { - -810  -v® -; - -812 - `PARSE_ERROR_DUPLICATE -(( -p --> -no_huge_´e£Á - == 0), - -813 -£ùiÚ_Çme -, - -814 -’Œy --> -Çme -); - -815 -p --> -no_huge_´e£Á - = 1; - -817 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -818 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -819 -p --> -no_huge - = -v® -; - -824 ià( - `¡rcmp -( -’Œy --> -Çme -, "no_pci") == 0) { - -825  -v® -; - -827 - `PARSE_ERROR_DUPLICATE -(( -p --> -no_pci_´e£Á - == 0), - -828 -£ùiÚ_Çme -, - -829 -’Œy --> -Çme -); - -830 -p --> -no_pci_´e£Á - = 1; - -832 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -833 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -834 -p --> -no_pci - = -v® -; - -839 ià( - `¡rcmp -( -’Œy --> -Çme -, "no_hpet") == 0) { - -840  -v® -; - -842 - `PARSE_ERROR_DUPLICATE -(( -p --> -no_h³t_´e£Á - == 0), - -843 -£ùiÚ_Çme -, - -844 -’Œy --> -Çme -); - -845 -p --> -no_h³t_´e£Á - = 1; - -847 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -848 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -849 -p --> -no_h³t - = -v® -; - -854 ià( - `¡rcmp -( -’Œy --> -Çme -, "no_shconf") == 0) { - -855  -v® -; - -857 - `PARSE_ERROR_DUPLICATE -(( -p --> -no_shcÚf_´e£Á - == 0), - -858 -£ùiÚ_Çme -, - -859 -’Œy --> -Çme -); - -860 -p --> -no_shcÚf_´e£Á - = 1; - -862 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -863 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -864 -p --> -no_shcÚf - = -v® -; - -869 ià( - `¡rcmp -( -’Œy --> -Çme -, "d") == 0) { - -870 - `PARSE_ERROR_DUPLICATE -(( -p --> -add_driv” - =ð -NULL -), - -871 -£ùiÚ_Çme -, - -872 -’Œy --> -Çme -); - -873 -p --> -add_driv” - = - `¡rdup -( -’Œy --> -v®ue -); - -878 ià( - `¡rcmp -( -’Œy --> -Çme -, "socket_mem") == 0) { - -879 - `PARSE_ERROR_DUPLICATE -(( -p --> -sock‘_mem - =ð -NULL -), - -880 -£ùiÚ_Çme -, - -881 -’Œy --> -Çme -); - -882 -p --> -sock‘_mem - = - `¡rdup -( -’Œy --> -v®ue -); - -887 ià( - `¡rcmp -( -’Œy --> -Çme -, "huge_dir") == 0) { - -888 - `PARSE_ERROR_DUPLICATE -(( -p --> -huge_dœ - =ð -NULL -), - -889 -£ùiÚ_Çme -, - -890 -’Œy --> -Çme -); - -891 -p --> -huge_dœ - = - `¡rdup -( -’Œy --> -v®ue -); - -896 ià( - `¡rcmp -( -’Œy --> -Çme -, "file_prefix") == 0) { - -897 - `PARSE_ERROR_DUPLICATE -(( -p --> -fže_´efix - =ð -NULL -), - -898 -£ùiÚ_Çme -, - -899 -’Œy --> -Çme -); - -900 -p --> -fže_´efix - = - `¡rdup -( -’Œy --> -v®ue -); - -905 ià( - `¡rcmp -( -’Œy --> -Çme -, "base_virtaddr") == 0) { - -906 - `PARSE_ERROR_DUPLICATE -(( -p --> -ba£_vœddr - =ð -NULL -), - -907 -£ùiÚ_Çme -, - -908 -’Œy --> -Çme -); - -909 -p --> -ba£_vœddr - = - `¡rdup -( -’Œy --> -v®ue -); - -914 ià( - `¡rcmp -( -’Œy --> -Çme -, "create_uio_dev") == 0) { - -915  -v® -; - -917 - `PARSE_ERROR_DUPLICATE -(( -p --> -ü—‹_uio_dev_´e£Á - == 0), - -918 -£ùiÚ_Çme -, - -919 -’Œy --> -Çme -); - -920 -p --> -ü—‹_uio_dev_´e£Á - = 1; - -922 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -923 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -924 -p --> -ü—‹_uio_dev - = -v® -; - -929 ià( - `¡rcmp -( -’Œy --> -Çme -, "vfio_intr") == 0) { - -930 - `PARSE_ERROR_DUPLICATE -(( -p --> -vfio_šŒ - =ð -NULL -), - -931 -£ùiÚ_Çme -, - -932 -’Œy --> -Çme -); - -933 -p --> -vfio_šŒ - = - `¡rdup -( -’Œy --> -v®ue -); - -938 ià( - `¡rcmp -( -’Œy --> -Çme -, "xen_dom0") == 0) { - -939  -v® -; - -941 - `PARSE_ERROR_DUPLICATE -(( -p --> -x’_dom0_´e£Á - == 0), - -942 -£ùiÚ_Çme -, - -943 -’Œy --> -Çme -); - -944 -p --> -x’_dom0_´e£Á - = 1; - -946 -v® - = - `·r£r_»ad_¬g_boÞ -( -’Œy --> -v®ue -); - -947 - `PARSE_ERROR -(( -v® - >ð0), -£ùiÚ_Çme -, -’Œy --> -Çme -); - -948 -p --> -x’_dom0 - = -v® -; - -953 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’Œy --> -Çme -); - -956 - `ä“ -( -’Œ›s -); - -957 - } -} - -960 - $·r£_p–še_pÿp_sourû -( -­p_·¿ms - * -­p -, - -961  -­p_p–še_·¿ms - * -p -, - -962 cÚ¡ * -fže_Çme -, cÚ¡ * -ý_size -) - -964 cÚ¡ * -Ãxt - = -NULL -; - -965 * -’d -; - -966 -ušt32_t - -i -; - -967  -·r£_fže - = 0; - -969 ià( -fže_Çme - && ! -ý_size -) { - -970 -Ãxt - = -fže_Çme -; - -971 -·r£_fže - = 1; - -972 } ià( -ý_size - && ! -fže_Çme -) { - -973 -Ãxt - = -ý_size -; - -974 -·r£_fže - = 0; - -976  - -EINVAL -; - -978  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -979 -size_t - -Çme_Ën -; - -981 ià( -p --> -n_pktq_š - == 0) - -982  - -EINVAL -; - -984 -i - = 0; - -985 * -Ãxt - != '\0') { - -986 -ušt32_t - -id -; - -988 ià( -i - >ð -p --> -n_pktq_š -) - -989  - -EINVAL -; - -991 -id - = -p --> -pktq_š -[ -i -].id; - -993 -’d - = - `¡rchr -( -Ãxt -, ' '); - -994 ià(! -’d -) - -995 -Çme_Ën - = - `¡¾’ -( -Ãxt -); - -997 -Çme_Ën - = -’d - - -Ãxt -; - -999 ià( -Çme_Ën - =ð0 ||‚ame_ËÀ=ð( -Çme -)) - -1000  - -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že -) { - -1009 -­p --> -sourû_·¿ms -[ -id -]. -fže_Çme - = - `¡rdup -( -Çme -); - -1010 ià( -­p --> -sourû_·¿ms -[ -id -]. -fže_Çme - =ð -NULL -) - -1011  - -ENOMEM -; - -1013 ià( - `·r£r_»ad_ušt32 -( - -1014 & -­p --> -sourû_·¿ms -[ -id -]. -n_by‹s_³r_pkt -, - -1015 -Çme -) != 0) { - -1016 ià( -­p --> -sourû_·¿ms -[ -id -]. - -1017 -fže_Çme - !ð -NULL -) - -1018 - `ä“ -( -­p --> -sourû_·¿ms -[ -id -]. - -1019 -fže_Çme -); - -1020  - -EINVAL -; - -1024 -i -++; - -1026 ià( -i - =ð -p --> -n_pktq_š -) - -1030  - -EINVAL -; - -1031 - } -} - -1034 - $·r£_p–še_pÿp_sšk -( -­p_·¿ms - * -­p -, - -1035  -­p_p–še_·¿ms - * -p -, - -1036 cÚ¡ * -fže_Çme -, cÚ¡ * -n_pkts_to_dump -) - -1038 cÚ¡ * -Ãxt - = -NULL -; - -1039 * -’d -; - -1040 -ušt32_t - -i -; - -1041  -·r£_fže - = 0; - -1043 ià( -fže_Çme - && ! -n_pkts_to_dump -) { - -1044 -Ãxt - = -fže_Çme -; - -1045 -·r£_fže - = 1; - -1046 } ià( -n_pkts_to_dump - && ! -fže_Çme -) { - -1047 -Ãxt - = -n_pkts_to_dump -; - -1048 -·r£_fže - = 0; - -1050  - -EINVAL -; - -1052  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -1053 -size_t - -Çme_Ën -; - -1055 ià( -p --> -n_pktq_out - == 0) - -1056  - -EINVAL -; - -1058 -i - = 0; - -1059 * -Ãxt - != '\0') { - -1060 -ušt32_t - -id -; - -1062 ià( -i - >ð -p --> -n_pktq_out -) - -1063  - -EINVAL -; - -1065 -id - = -p --> -pktq_out -[ -i -].id; - -1067 -’d - = - `¡rchr -( -Ãxt -, ' '); - -1068 ià(! -’d -) - -1069 -Çme_Ën - = - `¡¾’ -( -Ãxt -); - -1071 -Çme_Ën - = -’d - - -Ãxt -; - -1073 ià( -Çme_Ën - =ð0 ||‚ame_ËÀ=ð( -Çme -)) - -1074  - -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že -) { - -1083 -­p --> -sšk_·¿ms -[ -id -]. -fže_Çme - = - `¡rdup -( -Çme -); - -1084 ià( -­p --> -sšk_·¿ms -[ -id -]. -fže_Çme - =ð -NULL -) - -1085  - -ENOMEM -; - -1087 ià( - `·r£r_»ad_ušt32 -( - -1088 & -­p --> -sšk_·¿ms -[ -id -]. -n_pkts_to_dump -, - -1089 -Çme -) != 0) { - -1090 ià( -­p --> -sšk_·¿ms -[ -id -]. -fže_Çme - != - -1091 -NULL -) - -1092 - `ä“ -( -­p --> -sšk_·¿ms -[ -id -]. - -1093 -fže_Çme -); - -1094  - -EINVAL -; - -1098 -i -++; - -1100 ià( -i - =ð -p --> -n_pktq_out -) - -1104  - -EINVAL -; - -1105 - } -} - -1108 - $·r£_p–še_pktq_š -( -­p_·¿ms - * -­p -, - -1109  -­p_p–še_·¿ms - * -p -, - -1110 cÚ¡ * -v®ue -) - -1112 cÚ¡ * -Ãxt - = -v®ue -; - -1113 if( -Ãxt - =ð -NULL -) - -1114  - -EINVAL -; - -1115 * -’d -; - -1116  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -1117 -size_t - -Çme_Ën -; - -1119 * -Ãxt - != '\0') { - -1120 -­p_pktq_š_ty³ - -ty³ -; - -1121  -id -; - -1122 * -’d_¥aû -; - -1123 * -’d_b -; - -1124 if( -Ãxt - !ð -NULL -) - -1125 -Ãxt - = - `sk_wh™e_¥aûs -(next); - -1126 ià(! -Ãxt -) - -1129 -’d_¥aû - = - `¡rchr -( -Ãxt -, ' '); - -1130 -’d_b - = - `¡rchr -( -Ãxt -, ' '); - -1132 ià( -’d_¥aû - && (! -’d_b -)) - -1133 -’d - = -’d_¥aû -; - -1134 ià((! -’d_¥aû -è&& -’d_b -) - -1135 -’d - = -’d_b -; - -1136 ià( -’d_¥aû - && -’d_b -) - -1137 -’d - = - `RTE_MIN -( -’d_¥aû -, -’d_b -); - -1139 -’d - = -NULL -; - -1141 ià(! -’d -) - -1142 -Çme_Ën - = - `¡¾’ -( -Ãxt -); - -1144 -Çme_Ën - = -’d - - -Ãxt -; - -1146 ià( -Çme_Ën - =ð0 ||‚ame_ËÀ=ð( -Çme -)) - -1147  - -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_š_·¿ms -, -Çme -); - -1158 } ià( - `v®id©e_Çme -( -Çme -, "SWQ", 1) == 0) { - -1159 -ty³ - = -APP_PKTQ_IN_SWQ -; - -1160 -id - = - `APP_PARAM_ADD -( -­p --> -swq_·¿ms -, -Çme -); - -1161 } ià( - `v®id©e_Çme -( -Çme -, "TM", 1) == 0) { - -1162 -ty³ - = -APP_PKTQ_IN_TM -; - -1163 -id - = - `APP_PARAM_ADD -( -­p --> -tm_·¿ms -, -Çme -); - -1164 } ià( - `v®id©e_Çme -( -Çme -, "SOURCE", 1) == 0) { - -1165 -ty³ - = -APP_PKTQ_IN_SOURCE -; - -1166 -id - = - `APP_PARAM_ADD -( -­p --> -sourû_·¿ms -, -Çme -); - -1168  - -EINVAL -; - -1170 ià( -id - < 0) - -1171  -id -; - -1173 -p --> -pktq_š -[p-> -n_pktq_š -]. -ty³ - =ype; - -1174 -p --> -pktq_š -[p-> -n_pktq_š -]. -id - = ( -ušt32_t -) id; - -1175 -p --> -n_pktq_š -++; - -1179 - } -} - -1182 - $·r£_p–še_pktq_out -( -­p_·¿ms - * -­p -, - -1183  -­p_p–še_·¿ms - * -p -, - -1184 cÚ¡ * -v®ue -) - -1186 cÚ¡ * -Ãxt - = -v®ue -; - -1187 if( -Ãxt - =ð -NULL -) - -1188  - -EINVAL -; - -1189 * -’d -; - -1190  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -1191 -size_t - -Çme_Ën -; - -1193 * -Ãxt - != '\0') { - -1194 -­p_pktq_out_ty³ - -ty³ -; - -1195  -id -; - -1196 * -’d_¥aû -; - -1197 * -’d_b -; - -1198 if( -Ãxt - !ð -NULL -) - -1199 -Ãxt - = - `sk_wh™e_¥aûs -(next); - -1200 ià(! -Ãxt -) - -1203 -’d_¥aû - = - `¡rchr -( -Ãxt -, ' '); - -1204 -’d_b - = - `¡rchr -( -Ãxt -, ' '); - -1206 ià( -’d_¥aû - && (! -’d_b -)) - -1207 -’d - = -’d_¥aû -; - -1208 ià((! -’d_¥aû -è&& -’d_b -) - -1209 -’d - = -’d_b -; - -1210 ià( -’d_¥aû - && -’d_b -) - -1211 -’d - = - `RTE_MIN -( -’d_¥aû -, -’d_b -); - -1213 -’d - = -NULL -; - -1215 ià(! -’d -) - -1216 -Çme_Ën - = - `¡¾’ -( -Ãxt -); - -1218 -Çme_Ën - = -’d - - -Ãxt -; - -1220 ià( -Çme_Ën - =ð0 ||‚ame_ËÀ=ð( -Çme -)) - -1221  - -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 } ià( - `v®id©e_Çme -( -Çme -, "SWQ", 1) == 0) { - -1232 -ty³ - = -APP_PKTQ_OUT_SWQ -; - -1233 -id - = - `APP_PARAM_ADD -( -­p --> -swq_·¿ms -, -Çme -); - -1234 } ià( - `v®id©e_Çme -( -Çme -, "TM", 1) == 0) { - -1235 -ty³ - = -APP_PKTQ_OUT_TM -; - -1236 -id - = - `APP_PARAM_ADD -( -­p --> -tm_·¿ms -, -Çme -); - -1237 } ià( - `v®id©e_Çme -( -Çme -, "SINK", 1) == 0) { - -1238 -ty³ - = -APP_PKTQ_OUT_SINK -; - -1239 -id - = - `APP_PARAM_ADD -( -­p --> -sšk_·¿ms -, -Çme -); - -1241  - -EINVAL -; - -1243 ià( -id - < 0) - -1244  -id -; - -1246 -p --> -pktq_out -[p-> -n_pktq_out -]. -ty³ - =ype; - -1247 -p --> -pktq_out -[p-> -n_pktq_out -]. -id - = id; - -1248 -p --> -n_pktq_out -++; - -1252 - } -} - -1255 - $·r£_p–še_msgq_š -( -­p_·¿ms - * -­p -, - -1256  -­p_p–še_·¿ms - * -p -, - -1257 cÚ¡ * -v®ue -) - -1259 cÚ¡ * -Ãxt - = -v®ue -; - -1260 if( -Ãxt - =ð -NULL -) - -1261  - -EINVAL -; - -1262 * -’d -; - -1263  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -1264 -size_t - -Çme_Ën -; - -1265 -ssize_t - -idx -; - -1267 * -Ãxt - != '\0') { - -1268 * -’d_¥aû -; - -1269 * -’d_b -; - -1270 if( -Ãxt - !ð -NULL -) - -1271 -Ãxt - = - `sk_wh™e_¥aûs -(next); - -1272 ià(! -Ãxt -) - -1275 -’d_¥aû - = - `¡rchr -( -Ãxt -, ' '); - -1276 -’d_b - = - `¡rchr -( -Ãxt -, ' '); - -1278 ià( -’d_¥aû - && (! -’d_b -)) - -1279 -’d - = -’d_¥aû -; - -1280 ià((! -’d_¥aû -è&& -’d_b -) - -1281 -’d - = -’d_b -; - -1282 ià( -’d_¥aû - && -’d_b -) - -1283 -’d - = - `RTE_MIN -( -’d_¥aû -, -’d_b -); - -1285 -’d - = -NULL -; - -1287 ià(! -’d -) - -1288 -Çme_Ën - = - `¡¾’ -( -Ãxt -); - -1290 -Çme_Ën - = -’d - - -Ãxt -; - -1292 ià( -Çme_Ën - =ð0 ||‚ame_ËÀ=ð( -Çme -)) - -1293  - -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  - -EINVAL -; - -1304 -idx - = - `APP_PARAM_ADD -( -­p --> -msgq_·¿ms -, -Çme -); - -1305 ià( -idx - < 0) - -1306  -idx -; - -1308 -p --> -msgq_š -[p-> -n_msgq_š -] = -idx -; - -1309 -p --> -n_msgq_š -++; - -1313 - } -} - -1316 - $·r£_p–še_msgq_out -( -­p_·¿ms - * -­p -, - -1317  -­p_p–še_·¿ms - * -p -, - -1318 cÚ¡ * -v®ue -) - -1320 cÚ¡ * -Ãxt - = -v®ue -; - -1321 if( -Ãxt - =ð -NULL -) - -1322  - -EINVAL -; - -1323 * -’d -; - -1324  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -1325 -size_t - -Çme_Ën -; - -1326 -ssize_t - -idx -; - -1328 * -Ãxt - != '\0') { - -1329 * -’d_¥aû -; - -1330 * -’d_b -; - -1331 if( -Ãxt - !ð -NULL -) - -1332 -Ãxt - = - `sk_wh™e_¥aûs -(next); - -1333 ià(! -Ãxt -) - -1336 -’d_¥aû - = - `¡rchr -( -Ãxt -, ' '); - -1337 -’d_b - = - `¡rchr -( -Ãxt -, ' '); - -1339 ià( -’d_¥aû - && (! -’d_b -)) - -1340 -’d - = -’d_¥aû -; - -1341 ià((! -’d_¥aû -è&& -’d_b -) - -1342 -’d - = -’d_b -; - -1343 ià( -’d_¥aû - && -’d_b -) - -1344 -’d - = - `RTE_MIN -( -’d_¥aû -, -’d_b -); - -1346 -’d - = -NULL -; - -1348 ià(! -’d -) - -1349 -Çme_Ën - = - `¡¾’ -( -Ãxt -); - -1351 -Çme_Ën - = -’d - - -Ãxt -; - -1353 ià( -Çme_Ën - =ð0 ||‚ame_ËÀ=ð( -Çme -)) - -1354  - -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  - -EINVAL -; - -1365 -idx - = - `APP_PARAM_ADD -( -­p --> -msgq_·¿ms -, -Çme -); - -1366 ià( -idx - < 0) - -1367  -idx -; - -1369 -p --> -msgq_out -[p-> -n_msgq_out -] = -idx -; - -1370 -p --> -n_msgq_out -++; - -1374 - } -} - -1377 - $·r£_p–še -( -­p_·¿ms - * -­p -, - -1378 cÚ¡ * -£ùiÚ_Çme -, - -1379  -¹e_cfgfže - * -cfg -) - -1381  -Çme -[ -CFG_NAME_LEN -]; - -1382  -­p_p–še_·¿ms - * -·¿m -; - -1383  -¹e_cfgfže_’Œy - * -’Œ›s -; - -1384 -ssize_t - -·¿m_idx -; - -1385  -n_’Œ›s -, -i -; - -1387 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -1388 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -1390 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -1391 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -1393 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -1395 -·¿m_idx - = - `APP_PARAM_ADD -( -­p --> -p–še_·¿ms -, -£ùiÚ_Çme -); - -1396 - `PARSER_PARAM_ADD_CHECK -( -·¿m_idx -, -­p --> -p–še_·¿ms -, -£ùiÚ_Çme -); - -1398 -·¿m - = & -­p --> -p–še_·¿ms -[ -·¿m_idx -]; - -1400  -i - = 0; i < -n_’Œ›s -; i++) { - -1401  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -1403 ià( - `¡rcmp -( -’t --> -Çme -, "type") == 0) { - -1404  -w_size - = - `¢´štf -( -·¿m --> -ty³ -, - `RTE_DIM -(param->type), - -1405 "%s", -’t --> -v®ue -); - -1407 - `PARSE_ERROR -((( -w_size - > 0) && - -1408 ( -w_size - < () - `RTE_DIM -( -·¿m --> -ty³ -))), - -1409 -£ùiÚ_Çme -, - -1410 -’t --> -Çme -); - -1414 ià( - `¡rcmp -( -’t --> -Çme -, "core") == 0) { - -1415  -¡©us - = - `·r£_p–še_cÜe -( - -1416 & -·¿m --> -sock‘_id -, &·¿m-> -cÜe_id -, - -1417 & -·¿m --> -hy³r_th_id -, -’t --> -v®ue -); - -1419 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1420 -’t --> -Çme -); - -1424 ià( - `¡rcmp -( -’t --> -Çme -, "pktq_in") == 0) { - -1425  -¡©us - = - `·r£_p–še_pktq_š -( -­p -, -·¿m -, - -1426 -’t --> -v®ue -); - -1428 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1429 -’t --> -Çme -); - -1433 ià( - `¡rcmp -( -’t --> -Çme -, "pktq_out") == 0) { - -1434  -¡©us - = - `·r£_p–še_pktq_out -( -­p -, -·¿m -, - -1435 -’t --> -v®ue -); - -1437 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1438 -’t --> -Çme -); - -1442 ià( - `¡rcmp -( -’t --> -Çme -, "msgq_in") == 0) { - -1443  -¡©us - = - `·r£_p–še_msgq_š -( -­p -, -·¿m -, - -1444 -’t --> -v®ue -); - -1446 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1447 -’t --> -Çme -); - -1451 ià( - `¡rcmp -( -’t --> -Çme -, "msgq_out") == 0) { - -1452  -¡©us - = - `·r£_p–še_msgq_out -( -­p -, -·¿m -, - -1453 -’t --> -v®ue -); - -1455 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1456 -’t --> -Çme -); - -1460 ià( - `¡rcmp -( -’t --> -Çme -, "timer_period") == 0) { - -1461  -¡©us - = - `·r£r_»ad_ušt32 -( - -1462 & -·¿m --> -tim”_³riod -, - -1463 -’t --> -v®ue -); - -1465 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1466 -’t --> -Çme -); - -1470 ià( - `¡rcmp -( -’t --> -Çme -, "pcap_file_rd") == 0) { - -1471  -¡©us -; - -1473 #iâdeà -RTE_PORT_PCAP - - -1474 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -1477 -¡©us - = - `·r£_p–še_pÿp_sourû -( -­p -, - -1478 -·¿m -, -’t --> -v®ue -, -NULL -); - -1480 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1481 -’t --> -Çme -); - -1485 ià( - `¡rcmp -( -’t --> -Çme -, "pcap_bytes_rd_per_pkt") == 0) { - -1486  -¡©us -; - -1488 #iâdeà -RTE_PORT_PCAP - - -1489 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -1492 -¡©us - = - `·r£_p–še_pÿp_sourû -( -­p -, - -1493 -·¿m -, -NULL -, -’t --> -v®ue -); - -1495 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1496 -’t --> -Çme -); - -1500 ià( - `¡rcmp -( -’t --> -Çme -, "pcap_file_wr") == 0) { - -1501  -¡©us -; - -1503 #iâdeà -RTE_PORT_PCAP - - -1504 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -1507 -¡©us - = - `·r£_p–še_pÿp_sšk -( -­p -, -·¿m -, - -1508 -’t --> -v®ue -, -NULL -); - -1510 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1511 -’t --> -Çme -); - -1515 ià( - `¡rcmp -( -’t --> -Çme -, "pcap_n_pkt_wr") == 0) { - -1516  -¡©us -; - -1518 #iâdeà -RTE_PORT_PCAP - - -1519 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -1522 -¡©us - = - `·r£_p–še_pÿp_sšk -( -­p -, -·¿m -, - -1523 -NULL -, -’t --> -v®ue -); - -1525 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1526 -’t --> -Çme -); - -1531 - `APP_CHECK -(( -·¿m --> -n_¬gs - < -APP_MAX_PIPELINE_ARGS -), - -1533 "p–š¥ecif›d…¬am‘”s", -£ùiÚ_Çme -); - -1535 -·¿m --> -¬gs_Çme -[·¿m-> -n_¬gs -] = - `¡rdup -( -’t --> -Çme -); - -1536 -·¿m --> -¬gs_v®ue -[·¿m-> -n_¬gs -] = - `¡rdup -( -’t --> -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 - `¢´štf -( -Çme -, Ò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‘_id - = -·¿m --> -sock‘_id -; - -1551 -·¿m --> -msgq_š -[·¿m-> -n_msgq_š -++] = -·¿m_idx -; - -1553 - `¢´štf -( -Çme -, Ò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‘_id - = -·¿m --> -sock‘_id -; - -1557 -·¿m --> -msgq_out -[·¿m-> -n_msgq_out -++] = -·¿m_idx -; - -1559 - `¢´štf -( -Çme -, Òame), "MSGQ-REQ-CORE-s%" -PRIu32 - "c%" PRIu32 "%s", - -1560 -·¿m --> -sock‘_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‘_id - = -·¿m --> -sock‘_id -; - -1567 - `¢´štf -( -Çme -, Òame), "MSGQ-RSP-CORE-s%" -PRIu32 - "c%" PRIu32 "%s", - -1568 -·¿m --> -sock‘_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‘_id - = -·¿m --> -sock‘_id -; - -1575 - `ä“ -( -’Œ›s -); - -1576 - } -} - -1579 - $·r£_mempoÞ -( -­p_·¿ms - * -­p -, - -1580 cÚ¡ * -£ùiÚ_Çme -, - -1581  -¹e_cfgfže - * -cfg -) - -1583  -­p_mempoÞ_·¿ms - * -·¿m -; - -1584  -¹e_cfgfže_’Œy - * -’Œ›s -; - -1585 -ssize_t - -·¿m_idx -; - -1586  -n_’Œ›s -, -i -; - -1588 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -1589 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -1591 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -1592 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -1594 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -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  -i - = 0; i < -n_’Œ›s -; i++) { - -1602  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -1604 ià( - `¡rcmp -( -’t --> -Çme -, "buffer_size") == 0) { - -1605  -¡©us - = - `·r£r_»ad_ušt32 -( - -1606 & -·¿m --> -bufãr_size -, -’t --> -v®ue -); - -1608 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1609 -’t --> -Çme -); - -1613 ià( - `¡rcmp -( -’t --> -Çme -, "pool_size") == 0) { - -1614  -¡©us - = - `·r£r_»ad_ušt32 -( - -1615 & -·¿m --> -poÞ_size -, -’t --> -v®ue -); - -1617 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1618 -’t --> -Çme -); - -1622 ià( - `¡rcmp -( -’t --> -Çme -, "cache_size") == 0) { - -1623  -¡©us - = - `·r£r_»ad_ušt32 -( - -1624 & -·¿m --> -ÿche_size -, -’t --> -v®ue -); - -1626 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1627 -’t --> -Çme -); - -1631 ià( - `¡rcmp -( -’t --> -Çme -, "cpu") == 0) { - -1632  -¡©us - = - `·r£r_»ad_ušt32 -( - -1633 & -·¿m --> -ýu_sock‘_id -, -’t --> -v®ue -); - -1635 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1636 -’t --> -Çme -); - -1641 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -1644 -·¿m --> -·r£d - = 1; - -1646 - `ä“ -( -’Œ›s -); - -1647 - } -} - -1650 - $·r£_lšk -( -­p_·¿ms - * -­p -, - -1651 cÚ¡ * -£ùiÚ_Çme -, - -1652  -¹e_cfgfže - * -cfg -) - -1654  -­p_lšk_·¿ms - * -·¿m -; - -1655  -¹e_cfgfže_’Œy - * -’Œ›s -; - -1656  -n_’Œ›s -, -i -; - -1657  -pci_bdf_´e£Á - = 0; - -1658 -ssize_t - -·¿m_idx -; - -1660 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -1661 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -1663 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -1664 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -1666 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -1668 -·¿m_idx - = - `APP_PARAM_ADD -( -­p --> -lšk_·¿ms -, -£ùiÚ_Çme -); - -1669 - `PARSER_PARAM_ADD_CHECK -( -·¿m_idx -, -­p --> -lšk_·¿ms -, -£ùiÚ_Çme -); - -1671 -·¿m - = & -­p --> -lšk_·¿ms -[ -·¿m_idx -]; - -1673  -i - = 0; i < -n_’Œ›s -; i++) { - -1674  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -1676 ià( - `¡rcmp -( -’t --> -Çme -, "promisc") == 0) { - -1677  -¡©us - = - `·r£r_»ad_¬g_boÞ -( -’t --> -v®ue -); - -1679 - `PARSE_ERROR -(( -¡©us - !ð- -EINVAL -), -£ùiÚ_Çme -, - -1680 -’t --> -Çme -); - -1681 -·¿m --> -´omisc - = -¡©us -; - -1685 ià( - `¡rcmp -( -’t --> -Çme -, "arp_q") == 0) { - -1686  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -¬p_q -, - -1687 -’t --> -v®ue -); - -1689 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1690 -’t --> -Çme -); - -1694 ià( - `¡rcmp -( -’t --> -Çme -, "tcp_syn_q") == 0) { - -1695  -¡©us - = - `·r£r_»ad_ušt32 -( - -1696 & -·¿m --> -tý_syn_q -, -’t --> -v®ue -); - -1698 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, -’t --> -Çme -); - -1702 ià( - `¡rcmp -( -’t --> -Çme -, "ip_local_q") == 0) { - -1703  -¡©us - = - `·r£r_»ad_ušt32 -( - -1704 & -·¿m --> -_loÿl_q -, -’t --> -v®ue -); - -1706 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1707 -’t --> -Çme -); - -1712 ià( - `¡rcmp -( -’t --> -Çme -, "tcp_local_q") == 0) { - -1713  -¡©us - = - `·r£r_»ad_ušt32 -( - -1714 & -·¿m --> -tý_loÿl_q -, -’t --> -v®ue -); - -1716 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1717 -’t --> -Çme -); - -1721 ià( - `¡rcmp -( -’t --> -Çme -, "udp_local_q") == 0) { - -1722  -¡©us - = - `·r£r_»ad_ušt32 -( - -1723 & -·¿m --> -udp_loÿl_q -, -’t --> -v®ue -); - -1725 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1726 -’t --> -Çme -); - -1730 ià( - `¡rcmp -( -’t --> -Çme -, "sctp_local_q") == 0) { - -1731  -¡©us - = - `·r£r_»ad_ušt32 -( - -1732 & -·¿m --> -sùp_loÿl_q -, -’t --> -v®ue -); - -1734 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1735 -’t --> -Çme -); - -1739 ià( - `¡rcmp -( -’t --> -Çme -, "pci_bdf") == 0) { - -1740 - `PARSE_ERROR_DUPLICATE -(( -pci_bdf_´e£Á - == 0), - -1741 -£ùiÚ_Çme -, -’t --> -Çme -); - -1743 - `¢´štf -( -·¿m --> -pci_bdf -, -APP_LINK_PCI_BDF_SIZE -, - -1744 "%s", -’t --> -v®ue -); - -1745 -pci_bdf_´e£Á - = 1; - -1750 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Ç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 - `ä“ -( -’Œ›s -); - -1767 - } -} - -1770 - $·r£_rxq -( -­p_·¿ms - * -­p -, - -1771 cÚ¡ * -£ùiÚ_Çme -, - -1772  -¹e_cfgfže - * -cfg -) - -1774  -­p_pktq_hwq_š_·¿ms - * -·¿m -; - -1775  -¹e_cfgfže_’Œy - * -’Œ›s -; - -1776  -n_’Œ›s -, -i -; - -1777 -ssize_t - -·¿m_idx -; - -1779 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -1780 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -1782 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -1783 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -1785 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -1787 -·¿m_idx - = - `APP_PARAM_ADD -( -­p --> -hwq_š_·¿ms -, -£ùiÚ_Çme -); - -1788 - `PARSER_PARAM_ADD_CHECK -( -·¿m_idx -, -­p --> -hwq_š_·¿ms -, -£ùiÚ_Çme -); - -1790 -·¿m - = & -­p --> -hwq_š_·¿ms -[ -·¿m_idx -]; - -1792  -i - = 0; i < -n_’Œ›s -; i++) { - -1793  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -1795 ià( - `¡rcmp -( -’t --> -Çme -, "mempool") == 0) { - -1796  -¡©us - = - `v®id©e_Çme -( -’t --> -v®ue -, - -1798 -ssize_t - -idx -; - -1800 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1801 -’t --> -Çme -); - -1802 -idx - = - `APP_PARAM_ADD -( -­p --> -mempoÞ_·¿ms -, - -1803 -’t --> -v®ue -); - -1804 - `PARSER_PARAM_ADD_CHECK -( -idx -, -­p --> -mempoÞ_·¿ms -, - -1805 -£ùiÚ_Çme -); - -1806 -·¿m --> -mempoÞ_id - = -idx -; - -1810 ià( - `¡rcmp -( -’t --> -Çme -, "size") == 0) { - -1811  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -size -, - -1812 -’t --> -v®ue -); - -1814 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1815 -’t --> -Çme -); - -1819 ià( - `¡rcmp -( -’t --> -Çme -, "burst") == 0) { - -1820  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -bur¡ -, - -1821 -’t --> -v®ue -); - -1823 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1824 -’t --> -Çme -); - -1829 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -1832 -·¿m --> -·r£d - = 1; - -1834 - `ä“ -( -’Œ›s -); - -1835 - } -} - -1838 - $·r£_txq -( -­p_·¿ms - * -­p -, - -1839 cÚ¡ * -£ùiÚ_Çme -, - -1840  -¹e_cfgfže - * -cfg -) - -1842  -­p_pktq_hwq_out_·¿ms - * -·¿m -; - -1843  -¹e_cfgfže_’Œy - * -’Œ›s -; - -1844  -n_’Œ›s -, -i -; - -1845 -ssize_t - -·¿m_idx -; - -1847 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -1848 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -1850 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -1851 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -1853 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -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  -i - = 0; i < -n_’Œ›s -; i++) { - -1861  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -1863 ià( - `¡rcmp -( -’t --> -Çme -, "size") == 0) { - -1864  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -size -, - -1865 -’t --> -v®ue -); - -1867 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1868 -’t --> -Çme -); - -1872 ià( - `¡rcmp -( -’t --> -Çme -, "burst") == 0) { - -1873  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -bur¡ -, - -1874 -’t --> -v®ue -); - -1876 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1877 -’t --> -Çme -); - -1881 ià( - `¡rcmp -( -’t --> -Çme -, "dropless") == 0) { - -1882  -¡©us - = - `·r£r_»ad_¬g_boÞ -( -’t --> -v®ue -); - -1885 - `PARSE_ERROR -(( -¡©us - !ð- -EINVAL -), -£ùiÚ_Çme -, - -1886 -’t --> -Çme -); - -1887 -·¿m --> -drÝËss - = -¡©us -; - -1892 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -1895 -·¿m --> -·r£d - = 1; - -1897 - `ä“ -( -’Œ›s -); - -1898 - } -} - -1901 - $·r£_swq -( -­p_·¿ms - * -­p -, - -1902 cÚ¡ * -£ùiÚ_Çme -, - -1903  -¹e_cfgfže - * -cfg -) - -1905  -­p_pktq_swq_·¿ms - * -·¿m -; - -1906  -¹e_cfgfže_’Œy - * -’Œ›s -; - -1907  -n_’Œ›s -, -i -; - -1908 -ušt32_t - -mtu_´e£Á - = 0; - -1909 -ušt32_t - -m‘ad©a_size_´e£Á - = 0; - -1910 -ušt32_t - -mempoÞ_dœeù_´e£Á - = 0; - -1911 -ušt32_t - -mempoÞ_šdœeù_´e£Á - = 0; - -1913 -ssize_t - -·¿m_idx -; - -1915 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -1916 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -1918 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -1919 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -1921 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -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  -i - = 0; i < -n_’Œ›s -; i++) { - -1929  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -1931 ià( - `¡rcmp -( -’t --> -Çme -, "size") == 0) { - -1932  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -size -, - -1933 -’t --> -v®ue -); - -1935 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1936 -’t --> -Çme -); - -1940 ià( - `¡rcmp -( -’t --> -Çme -, "burst_read") == 0) { - -1941  -¡©us - = - `·r£r_»ad_ušt32 -(& - -1942 -·¿m --> -bur¡_»ad -, -’t --> -v®ue -); - -1944 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1945 -’t --> -Çme -); - -1949 ià( - `¡rcmp -( -’t --> -Çme -, "burst_write") == 0) { - -1950  -¡©us - = - `·r£r_»ad_ušt32 -( - -1951 & -·¿m --> -bur¡_wr™e -, -’t --> -v®ue -); - -1953 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1954 -’t --> -Çme -); - -1958 ià( - `¡rcmp -( -’t --> -Çme -, "dropless") == 0) { - -1959  -¡©us - = - `·r£r_»ad_¬g_boÞ -( -’t --> -v®ue -); - -1961 - `PARSE_ERROR -(( -¡©us - !ð- -EINVAL -), -£ùiÚ_Çme -, - -1962 -’t --> -Çme -); - -1963 -·¿m --> -drÝËss - = -¡©us -; - -1967 ià( - `¡rcmp -( -’t --> -Çme -, "n_retries") == 0) { - -1968  -¡©us - = - `·r£r_»ad_ušt64 -(& -·¿m --> -n_»Œ›s -, - -1969 -’t --> -v®ue -); - -1971 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -1972 -’t --> -Çme -); - -1976 ià( - `¡rcmp -( -’t --> -Çme -, "cpu") == 0) { - -1977  -¡©us - = - `·r£r_»ad_ušt32 -( - -1978 & -·¿m --> -ýu_sock‘_id -, -’t --> -v®ue -); - -1980 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, -’t --> -Çme -); - -1984 ià( - `¡rcmp -( -’t --> -Çme -, "ipv4_frag") == 0) { - -1985  -¡©us - = - `·r£r_»ad_¬g_boÞ -( -’t --> -v®ue -); - -1987 - `PARSE_ERROR -(( -¡©us - !ð- -EINVAL -), -£ùiÚ_Çme -, - -1988 -’t --> -Çme -); - -1990 -·¿m --> -v4_äag - = -¡©us -; - -1991 ià( -·¿m --> -mtu - == 0) - -1992 -·¿m --> -mtu - = 1500; - -1997 ià( - `¡rcmp -( -’t --> -Çme -, "ipv6_frag") == 0) { - -1998  -¡©us - = - `·r£r_»ad_¬g_boÞ -( -’t --> -v®ue -); - -2000 - `PARSE_ERROR -(( -¡©us - !ð- -EINVAL -), -£ùiÚ_Çme -, - -2001 -’t --> -Çme -); - -2002 -·¿m --> -v6_äag - = -¡©us -; - -2003 ià( -·¿m --> -mtu - == 0) - -2004 -·¿m --> -mtu - = 1320; - -2008 ià( - `¡rcmp -( -’t --> -Çme -, "ipv4_ras") == 0) { - -2009  -¡©us - = - `·r£r_»ad_¬g_boÞ -( -’t --> -v®ue -); - -2011 - `PARSE_ERROR -(( -¡©us - !ð- -EINVAL -), -£ùiÚ_Çme -, - -2012 -’t --> -Çme -); - -2013 -·¿m --> -v4_¿s - = -¡©us -; - -2017 ià( - `¡rcmp -( -’t --> -Çme -, "ipv6_ras") == 0) { - -2018  -¡©us - = - `·r£r_»ad_¬g_boÞ -( -’t --> -v®ue -); - -2020 - `PARSE_ERROR -(( -¡©us - !ð- -EINVAL -), -£ùiÚ_Çme -, - -2021 -’t --> -Çme -); - -2022 -·¿m --> -v6_¿s - = -¡©us -; - -2026 ià( - `¡rcmp -( -’t --> -Çme -, "mtu") == 0) { - -2027  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -mtu -, - -2028 -’t --> -v®ue -); - -2030 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2031 -’t --> -Çme -); - -2032 -mtu_´e£Á - = 1; - -2036 ià( - `¡rcmp -( -’t --> -Çme -, "metadata_size") == 0) { - -2037  -¡©us - = - `·r£r_»ad_ušt32 -( - -2038 & -·¿m --> -m‘ad©a_size -, -’t --> -v®ue -); - -2040 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2041 -’t --> -Çme -); - -2042 -m‘ad©a_size_´e£Á - = 1; - -2046 ià( - `¡rcmp -( -’t --> -Çme -, "mempool_direct") == 0) { - -2047  -¡©us - = - `v®id©e_Çme -( -’t --> -v®ue -, - -2049 -ssize_t - -idx -; - -2051 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2052 -’t --> -Çme -); - -2054 -idx - = - `APP_PARAM_ADD -( -­p --> -mempoÞ_·¿ms -, - -2055 -’t --> -v®ue -); - -2056 - `PARSER_PARAM_ADD_CHECK -( -idx -, -­p --> -mempoÞ_·¿ms -, - -2057 -£ùiÚ_Çme -); - -2058 -·¿m --> -mempoÞ_dœeù_id - = -idx -; - -2059 -mempoÞ_dœeù_´e£Á - = 1; - -2063 ià( - `¡rcmp -( -’t --> -Çme -, "mempool_indirect") == 0) { - -2064  -¡©us - = - `v®id©e_Çme -( -’t --> -v®ue -, - -2066 -ssize_t - -idx -; - -2068 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2069 -’t --> -Çme -); - -2070 -idx - = - `APP_PARAM_ADD -( -­p --> -mempoÞ_·¿ms -, - -2071 -’t --> -v®ue -); - -2072 - `PARSER_PARAM_ADD_CHECK -( -idx -, -­p --> -mempoÞ_·¿ms -, - -2073 -£ùiÚ_Çme -); - -2074 -·¿m --> -mempoÞ_šdœeù_id - = -idx -; - -2075 -mempoÞ_šdœeù_´e£Á - = 1; - -2080 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -2083 - `APP_CHECK -((( -mtu_´e£Á -) && - -2084 (( -·¿m --> -v4_äag - =ð1è|| (·¿m-> -v6_äag - == 1))), - -2087 -£ùiÚ_Çme -); - -2089 - `APP_CHECK -((( -m‘ad©a_size_´e£Á -) && - -2090 (( -·¿m --> -v4_äag - =ð1è|| (·¿m-> -v6_äag - == 1))), - -2093 "nهÎowed", -£ùiÚ_Çme -); - -2095 - `APP_CHECK -((( -mempoÞ_dœeù_´e£Á -) && - -2096 (( -·¿m --> -v4_äag - =ð1è|| (·¿m-> -v6_äag - == 1))), - -2099 "nهÎowed", -£ùiÚ_Çme -); - -2101 - `APP_CHECK -((( -mempoÞ_šdœeù_´e£Á -) && - -2102 (( -·¿m --> -v4_äag - =ð1è|| (·¿m-> -v6_äag - == 1))), - -2105 "nهÎowed", -£ùiÚ_Çme -); - -2107 -·¿m --> -·r£d - = 1; - -2109 - `ä“ -( -’Œ›s -); - -2110 - } -} - -2113 - $·r£_tm -( -­p_·¿ms - * -­p -, - -2114 cÚ¡ * -£ùiÚ_Çme -, - -2115  -¹e_cfgfže - * -cfg -) - -2117  -­p_pktq_tm_·¿ms - * -·¿m -; - -2118  -¹e_cfgfže_’Œy - * -’Œ›s -; - -2119  -n_’Œ›s -, -i -; - -2120 -ssize_t - -·¿m_idx -; - -2122 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -2123 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -2125 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -2126 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -2128 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -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  -i - = 0; i < -n_’Œ›s -; i++) { - -2136  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -2138 ià( - `¡rcmp -( -’t --> -Çme -, "cfg") == 0) { - -2139 -·¿m --> -fže_Çme - = - `¡rdup -( -’t --> -v®ue -); - -2140 - `PARSE_ERROR_MALLOC -( -·¿m --> -fže_Çme - !ð -NULL -); - -2144 ià( - `¡rcmp -( -’t --> -Çme -, "burst_read") == 0) { - -2145  -¡©us - = - `·r£r_»ad_ušt32 -( - -2146 & -·¿m --> -bur¡_»ad -, -’t --> -v®ue -); - -2148 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2149 -’t --> -Çme -); - -2153 ià( - `¡rcmp -( -’t --> -Çme -, "burst_write") == 0) { - -2154  -¡©us - = - `·r£r_»ad_ušt32 -( - -2155 & -·¿m --> -bur¡_wr™e -, -’t --> -v®ue -); - -2157 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2158 -’t --> -Çme -); - -2163 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -2166 -·¿m --> -·r£d - = 1; - -2168 - `ä“ -( -’Œ›s -); - -2169 - } -} - -2172 - $·r£_sourû -( -­p_·¿ms - * -­p -, - -2173 cÚ¡ * -£ùiÚ_Çme -, - -2174  -¹e_cfgfže - * -cfg -) - -2176  -­p_pktq_sourû_·¿ms - * -·¿m -; - -2177  -¹e_cfgfže_’Œy - * -’Œ›s -; - -2178  -n_’Œ›s -, -i -; - -2179 -ssize_t - -·¿m_idx -; - -2180 -ušt32_t - -pÿp_fže_´e£Á - = 0; - -2181 -ušt32_t - -pÿp_size_´e£Á - = 0; - -2183 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -2184 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -2186 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -2187 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -2189 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -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  -i - = 0; i < -n_’Œ›s -; i++) { - -2197  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -2199 ià( - `¡rcmp -( -’t --> -Çme -, "mempool") == 0) { - -2200  -¡©us - = - `v®id©e_Çme -( -’t --> -v®ue -, - -2202 -ssize_t - -idx -; - -2204 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2205 -’t --> -Çme -); - -2206 -idx - = - `APP_PARAM_ADD -( -­p --> -mempoÞ_·¿ms -, - -2207 -’t --> -v®ue -); - -2208 - `PARSER_PARAM_ADD_CHECK -( -idx -, -­p --> -mempoÞ_·¿ms -, - -2209 -£ùiÚ_Çme -); - -2210 -·¿m --> -mempoÞ_id - = -idx -; - -2214 ià( - `¡rcmp -( -’t --> -Çme -, "burst") == 0) { - -2215  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -bur¡ -, - -2216 -’t --> -v®ue -); - -2218 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2219 -’t --> -Çme -); - -2223 ià( - `¡rcmp -( -’t --> -Çme -, "pcap_file_rd")) { - -2224 - `PARSE_ERROR_DUPLICATE -(( -pÿp_fže_´e£Á - == 0), - -2225 -£ùiÚ_Çme -, -’t --> -Çme -); - -2227 -·¿m --> -fže_Çme - = - `¡rdup -( -’t --> -v®ue -); - -2229 - `PARSE_ERROR_MALLOC -( -·¿m --> -fže_Çme - !ð -NULL -); - -2230 -pÿp_fže_´e£Á - = 1; - -2235 ià( - `¡rcmp -( -’t --> -Çme -, "pcap_bytes_rd_per_pkt") == 0) { - -2236  -¡©us -; - -2238 - `PARSE_ERROR_DUPLICATE -(( -pÿp_size_´e£Á - == 0), - -2239 -£ùiÚ_Çme -, -’t --> -Çme -); - -2241 -¡©us - = - `·r£r_»ad_ušt32 -( - -2242 & -·¿m --> -n_by‹s_³r_pkt -, -’t --> -v®ue -); - -2244 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2245 -’t --> -Çme -); - -2246 -pÿp_size_´e£Á - = 1; - -2252 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -2255 -·¿m --> -·r£d - = 1; - -2257 - `ä“ -( -’Œ›s -); - -2258 - } -} - -2261 - $·r£_sšk -( -­p_·¿ms - * -­p -, - -2262 cÚ¡ * -£ùiÚ_Çme -, - -2263  -¹e_cfgfže - * -cfg -) - -2265  -­p_pktq_sšk_·¿ms - * -·¿m -; - -2266  -¹e_cfgfže_’Œy - * -’Œ›s -; - -2267  -n_’Œ›s -, -i -; - -2268 -ssize_t - -·¿m_idx -; - -2269 -ušt32_t - -pÿp_fže_´e£Á - = 0; - -2270 -ušt32_t - -pÿp_n_pkt_´e£Á - = 0; - -2272 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -2273 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -2275 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -2276 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -2278 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -2280 -·¿m_idx - = - `APP_PARAM_ADD -( -­p --> -sšk_·¿ms -, -£ùiÚ_Çme -); - -2281 - `PARSER_PARAM_ADD_CHECK -( -·¿m_idx -, -­p --> -sšk_·¿ms -, -£ùiÚ_Çme -); - -2283 -·¿m - = & -­p --> -sšk_·¿ms -[ -·¿m_idx -]; - -2285  -i - = 0; i < -n_’Œ›s -; i++) { - -2286  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -2288 ià( - `¡rcmp -( -’t --> -Çme -, "pcap_file_wr")) { - -2289 - `PARSE_ERROR_DUPLICATE -(( -pÿp_fže_´e£Á - == 0), - -2290 -£ùiÚ_Çme -, -’t --> -Çme -); - -2292 -·¿m --> -fže_Çme - = - `¡rdup -( -’t --> -v®ue -); - -2294 - `PARSE_ERROR_MALLOC -(( -·¿m --> -fže_Çme - !ð -NULL -)); - -2299 ià( - `¡rcmp -( -’t --> -Çme -, "pcap_n_pkt_wr")) { - -2300  -¡©us -; - -2302 - `PARSE_ERROR_DUPLICATE -(( -pÿp_n_pkt_´e£Á - == 0), - -2303 -£ùiÚ_Çme -, -’t --> -Çme -); - -2305 -¡©us - = - `·r£r_»ad_ušt32 -( - -2306 & -·¿m --> -n_pkts_to_dump -, -’t --> -v®ue -); - -2308 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2309 -’t --> -Çme -); - -2315 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -2318 -·¿m --> -·r£d - = 1; - -2320 - `ä“ -( -’Œ›s -); - -2321 - } -} - -2324 - $·r£_msgq_»q_p–še -( -­p_·¿ms - * -­p -, - -2325 cÚ¡ * -£ùiÚ_Çme -, - -2326  -¹e_cfgfže - * -cfg -) - -2328  -­p_msgq_·¿ms - * -·¿m -; - -2329  -¹e_cfgfže_’Œy - * -’Œ›s -; - -2330  -n_’Œ›s -, -i -; - -2331 -ssize_t - -·¿m_idx -; - -2333 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -2334 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -2336 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -2337 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -2339 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -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  -i - = 0; i < -n_’Œ›s -; i++) { - -2347  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -2349 ià( - `¡rcmp -( -’t --> -Çme -, "size") == 0) { - -2350  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -size -, - -2351 -’t --> -v®ue -); - -2353 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2354 -’t --> -Çme -); - -2359 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -2362 -·¿m --> -·r£d - = 1; - -2363 - `ä“ -( -’Œ›s -); - -2364 - } -} - -2367 - $·r£_msgq_r¥_p–še -( -­p_·¿ms - * -­p -, - -2368 cÚ¡ * -£ùiÚ_Çme -, - -2369  -¹e_cfgfže - * -cfg -) - -2371  -­p_msgq_·¿ms - * -·¿m -; - -2372  -¹e_cfgfže_’Œy - * -’Œ›s -; - -2373  -n_’Œ›s -, -i -; - -2374 -ssize_t - -·¿m_idx -; - -2376 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -2377 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -2379 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -2380 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -2382 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -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  -i - = 0; i < -n_’Œ›s -; i++) { - -2390  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -2392 ià( - `¡rcmp -( -’t --> -Çme -, "size") == 0) { - -2393  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -size -, - -2394 -’t --> -v®ue -); - -2396 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2397 -’t --> -Çme -); - -2402 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -2405 -·¿m --> -·r£d - = 1; - -2407 - `ä“ -( -’Œ›s -); - -2408 - } -} - -2411 - $·r£_msgq -( -­p_·¿ms - * -­p -, - -2412 cÚ¡ * -£ùiÚ_Çme -, - -2413  -¹e_cfgfže - * -cfg -) - -2415  -­p_msgq_·¿ms - * -·¿m -; - -2416  -¹e_cfgfže_’Œy - * -’Œ›s -; - -2417  -n_’Œ›s -, -i -; - -2418 -ssize_t - -·¿m_idx -; - -2420 -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -cfg -, -£ùiÚ_Çme -); - -2421 - `PARSE_ERROR_SECTION_NO_ENTRIES -(( -n_’Œ›s - > 0), -£ùiÚ_Çme -); - -2423 -’Œ›s - = - `m®loc -( -n_’Œ›s - * ( -¹e_cfgfže_’Œy -)); - -2424 - `PARSE_ERROR_MALLOC -( -’Œ›s - !ð -NULL -); - -2426 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -cfg -, -£ùiÚ_Çme -, -’Œ›s -, -n_’Œ›s -); - -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  -i - = 0; i < -n_’Œ›s -; i++) { - -2434  -¹e_cfgfže_’Œy - * -’t - = & -’Œ›s -[ -i -]; - -2436 ià( - `¡rcmp -( -’t --> -Çme -, "size") == 0) { - -2437  -¡©us - = - `·r£r_»ad_ušt32 -(& -·¿m --> -size -, - -2438 -’t --> -v®ue -); - -2440 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2441 -’t --> -Çme -); - -2445 ià( - `¡rcmp -( -’t --> -Çme -, "cpu") == 0) { - -2446  -¡©us - = - `·r£r_»ad_ušt32 -( - -2447 & -·¿m --> -ýu_sock‘_id -, -’t --> -v®ue -); - -2449 - `PARSE_ERROR -(( -¡©us - =ð0), -£ùiÚ_Çme -, - -2450 -’t --> -Çme -); - -2455 - `PARSE_ERROR_INVALID -(0, -£ùiÚ_Çme -, -’t --> -Çme -); - -2458 -·¿m --> -·r£d - = 1; - -2460 - `ä“ -( -’Œ›s -); - -2461 - } -} - -2463 (* - tcÚfig_£ùiÚ_lßd -)( - t­p_·¿ms - * - tp -, - -2464 cÚ¡ * - t£ùiÚ_Çme -, - -2465  - t¹e_cfgfže - * - tcfg -); - -2467  - scÚfig_£ùiÚ - { - -2468 cÚ¡  -´efix -[ -CFG_NAME_LEN -]; - -2469  -numb”s -; - -2470 -cÚfig_£ùiÚ_lßd - -lßd -; - -2473 cÚ¡  -cÚfig_£ùiÚ - -cfg_fže_scheme -[] = { - -2474 {"EAL", 0, -·r£_—l -}, - -2475 {"PIPELINE", 1, -·r£_p–še -}, - -2476 {"MEMPOOL", 1, -·r£_mempoÞ -}, - -2477 {"LINK", 1, -·r£_lšk -}, - -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šk -}, - -2484 {"MSGQ-REQ-PIPELINE", 1, -·r£_msgq_»q_p–še -}, - -2485 {"MSGQ-RSP-PIPELINE", 1, -·r£_msgq_r¥_p–še -}, - -2486 {"MSGQ", 1, -·r£_msgq -}, - -2487 - } -}; - -2490 - $ü—‹_im¶ic™_mempoÞs -( -­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 - $ü—‹_im¶ic™_lšks_äom_pÜt_mask -( -­p_·¿ms - * -­p -, - -2500 -ušt64_t - -pÜt_mask -) - -2502 -ušt32_t - -pmd_id -, -lšk_id -; - -2504 -lšk_id - = 0; - -2505  -pmd_id - = 0;…md_id < -RTE_MAX_ETHPORTS -;…md_id++) { - -2506  -Çme -[ -APP_PARAM_NAME_SIZE -]; - -2507 -ssize_t - -idx -; - -2509 ià(( -pÜt_mask - & (1LLU << -pmd_id -)) == 0) - -2512 - `¢´štf -( -Çme -, Òame), "LINK%" -PRIu32 -, -lšk_id -); - -2513 -idx - = - `APP_PARAM_ADD -( -­p --> -lšk_·¿ms -, -Çme -); - -2514 - `PARSER_PARAM_ADD_CHECK -( -idx -, -­p --> -lšk_·¿ms -, -Çme -); - -2516 -­p --> -lšk_·¿ms -[ -idx -]. -pmd_id - =…md_id; - -2517 -lšk_id -++; - -2519 - } -} - -2522 - $assign_lšk_pmd_id_äom_pci_bdf -( -­p_·¿ms - * -­p -) - -2524 -ušt32_t - -i -; - -2526  -i - = 0; i < -­p --> -n_lšks -; i++) { - -2527  -­p_lšk_·¿ms - * -lšk - = & -­p --> -lšk_·¿ms -[ -i -]; - -2529 -lšk --> -pmd_id - = -i -; - -2531 - } -} - -2534 - $­p_cÚfig_·r£ -( -­p_·¿ms - * -­p -, cÚ¡ * -fže_Çme -) - -2536  -¹e_cfgfže - * -cfg -; - -2537 ** -£ùiÚ_Çmes -; - -2538  -i -, -j -, -£ù_couÁ -; - -2541 - `ü—‹_im¶ic™_mempoÞs -( -­p -); - -2544 ià( -­p --> -pÜt_mask -) - -2545 - `ü—‹_im¶ic™_lšks_äom_pÜt_mask -( -­p -,‡µ-> -pÜt_mask -); - -2548 -cfg - = - `¹e_cfgfže_lßd -( -fže_Çme -, 0); - -2549 - `APP_CHECK -(( -cfg - !ð -NULL -), "Parseƒrror: Unableo†oad config " - -2550 "fž%s", -fže_Çme -); - -2552 -£ù_couÁ - = - `¹e_cfgfže_num_£ùiÚs -( -cfg -, -NULL -, 0); - -2553 - `APP_CHECK -(( -£ù_couÁ - > 0), "Parseƒrror:‚umber of sections " - -2554 "š fž\"%s\"„‘uº %d", -fže_Çme -, - -2555 -£ù_couÁ -); - -2557 -£ùiÚ_Çmes - = - `m®loc -( -£ù_couÁ - * (*)); - -2558 - `PARSE_ERROR_MALLOC -( -£ùiÚ_Çmes - !ð -NULL -); - -2560  -i - = 0; i < -£ù_couÁ -; i++) - -2561 -£ùiÚ_Çmes -[ -i -] = - `m®loc -( -CFG_NAME_LEN -); - -2563 - `¹e_cfgfže_£ùiÚs -( -cfg -, -£ùiÚ_Çmes -, -£ù_couÁ -); - -2565  -i - = 0; i < -£ù_couÁ -; i++) { - -2566 cÚ¡  -cÚfig_£ùiÚ - * -sch_s -; - -2567  -Ën -, -cfg_Çme_Ën -; - -2569 -cfg_Çme_Ën - = - `¡¾’ -( -£ùiÚ_Çmes -[ -i -]); - -2572  -j - = 0; j < () - `RTE_DIM -( -cfg_fže_scheme -); j++) { - -2573 -sch_s - = & -cfg_fže_scheme -[ -j -]; - -2574 -Ën - = - `¡¾’ -( -sch_s --> -´efix -); - -2576 ià( -cfg_Çme_Ën - < -Ën -) - -2585 ià(( -£ùiÚ_Çmes -[ -i -][ -Ën -] != '\0') && - -2586 ! - `isdig™ -( -£ùiÚ_Çmes -[ -i -][ -Ën -])) - -2589 ià( - `¡ºcmp -( -sch_s --> -´efix -, -£ùiÚ_Çmes -[ -i -], -Ën -) == 0) - -2593 - `APP_CHECK -( -j - < () - `RTE_DIM -( -cfg_fže_scheme -), - -2595 -£ùiÚ_Çmes -[ -i -]); - -2597 - `APP_CHECK -( - `v®id©e_Çme -( -£ùiÚ_Çmes -[ -i -], - -2598 -sch_s --> -´efix -, - -2599 -sch_s --> -numb”s -) == 0, - -2601 -£ùiÚ_Çmes -[ -i -]); - -2603 -sch_s --> - `lßd -( -­p -, -£ùiÚ_Çmes -[ -i -], -cfg -); - -2606  -i - = 0; i < -£ù_couÁ -; i++) - -2607 - `ä“ -( -£ùiÚ_Çmes -[ -i -]); - -2609 - `ä“ -( -£ùiÚ_Çmes -); - -2611 - `¹e_cfgfže_þo£ -( -cfg -); - -2613 - `APP_PARAM_COUNT -( -­p --> -mempoÞ_·¿ms -,‡µ-> -n_mempoÞs -); - -2614 - `APP_PARAM_COUNT -( -­p --> -lšk_·¿ms -,‡µ-> -n_lšks -); - -2615 - `APP_PARAM_COUNT -( -­p --> -hwq_š_·¿ms -,‡µ-> -n_pktq_hwq_š -); - -2616 - `APP_PARAM_COUNT -( -­p --> -hwq_out_·¿ms -,‡µ-> -n_pktq_hwq_out -); - -2617 - `APP_PARAM_COUNT -( -­p --> -swq_·¿ms -,‡µ-> -n_pktq_swq -); - -2618 - `APP_PARAM_COUNT -( -­p --> -tm_·¿ms -,‡µ-> -n_pktq_tm -); - -2619 - `APP_PARAM_COUNT -( -­p --> -sourû_·¿ms -,‡µ-> -n_pktq_sourû -); - -2620 - `APP_PARAM_COUNT -( -­p --> -sšk_·¿ms -,‡µ-> -n_pktq_sšk -); - -2621 - `APP_PARAM_COUNT -( -­p --> -msgq_·¿ms -,‡µ-> -n_msgq -); - -2622 - `APP_PARAM_COUNT -( -­p --> -p–še_·¿ms -,‡µ-> -n_p–šes -); - -2624 #ifdeà -RTE_PORT_PCAP - - -2625  -i - = 0; i < () -­p --> -n_pktq_sourû -; i++) { - -2626  -­p_pktq_sourû_·¿ms - * -p - = & -­p --> -sourû_·¿ms -[ -i -]; - -2628 - `APP_CHECK -(( -p --> -fže_Çme -), "Parseƒrror: missing " - -2630 -p --> -Çme -); - -2633  -i - = 0; i < () -­p --> -n_pktq_sourû -; i++) { - -2634  -­p_pktq_sourû_·¿ms - * -p - = & -­p --> -sourû_·¿ms -[ -i -]; - -2636 - `APP_CHECK -((! -p --> -fže_Çme -), "Parseƒrror: invalid field " - -2637 "\"pÿp_fže_rd\" fÜ \"%s\"", -p --> -Çme -); - -2641 ià( -­p --> -pÜt_mask - == 0) - -2642 - `assign_lšk_pmd_id_äom_pci_bdf -( -­p -); - -2645 - `­p_cÚfig_§ve -( -­p -,‡µ-> -ouut_fže -); - -2648 - `­p_cÚfig_·r£_tm -( -­p -); - -2651 - } -} - -2654 - $§ve_—l_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2656  -­p_—l_·¿ms - * -p - = & -­p --> -—l_·¿ms -; - -2657 -ušt32_t - -i -; - -2659 - `årštf -( -f -, "[EAL]\n"); - -2661 ià( -p --> -cÜem­ -) - -2662 - `årštf -( -f -, "% ð%s\n", "lcÜes", -p --> -cÜem­ -); - -2664 ià( -p --> -ma¡”_lcÜe_´e£Á -) - -2665 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", - -2666 "ma¡”_lcÜe", -p --> -ma¡”_lcÜe -); - -2668 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "n", -p --> -chªÃls -); - -2670 ià( -p --> -memÜy_´e£Á -) - -2671 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "m", -p --> -memÜy -); - -2673 ià( -p --> -¿nks_´e£Á -) - -2674 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "r", -p --> -¿nks -); - -2676  -i - = 0; i < -APP_MAX_LINKS -; i++) { - -2677 ià( -p --> -pci_bÏckli¡ -[ -i -] =ð -NULL -) - -2680 - `årštf -( -f -, "%s = %s\n", "pci_blacklist", - -2681 -p --> -pci_bÏckli¡ -[ -i -]); - -2684  -i - = 0; i < -APP_MAX_LINKS -; i++) { - -2685 ià( -p --> -pci_wh™–i¡ -[ -i -] =ð -NULL -) - -2688 - `årštf -( -f -, "%s = %s\n", "pci_whitelist", - -2689 -p --> -pci_wh™–i¡ -[ -i -]); - -2692  -i - = 0; i < -APP_MAX_LINKS -; i++) { - -2693 ià( -p --> -vdev -[ -i -] =ð -NULL -) - -2696 - `årštf -( -f -, "%s = %s\n", "vdev", - -2697 -p --> -vdev -[ -i -]); - -2700 ià( -p --> -vmw¬e_tsc_m­_´e£Á -) - -2701 - `årštf -( -f -, "%s = %s\n", "vmware_tsc_map", - -2702 ( -p --> -vmw¬e_tsc_m­ -) ? "yes" : "no"); - -2704 ià( -p --> -´oc_ty³ -) - -2705 - `årštf -( -f -, "% ð%s\n", "´oc_ty³", -p --> -´oc_ty³ -); - -2707 ià( -p --> -sy¦og -) - -2708 - `årštf -( -f -, "% ð%s\n", "sy¦og", -p --> -sy¦og -); - -2710 ià( -p --> -log_Ëv–_´e£Á -) - -2711 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "log_Ëv–", -p --> -log_Ëv– -); - -2713 ià( -p --> -v”siÚ_´e£Á -) - -2714 - `årštf -( -f -, "% ð%s\n", "v", ( -p --> -v”siÚ -) ? "yes" : "no"); - -2716 ià( -p --> -h–p_´e£Á -) - -2717 - `årštf -( -f -, "% ð%s\n", "h–p", ( -p --> -h–p -) ? "yes" : "no"); - -2719 ià( -p --> -no_huge_´e£Á -) - -2720 - `årštf -( -f -, "% ð%s\n", "no_huge", ( -p --> -no_huge -) ? "yes" : "no"); - -2722 ià( -p --> -no_pci_´e£Á -) - -2723 - `årštf -( -f -, "% ð%s\n", "no_pci", ( -p --> -no_pci -) ? "yes" : "no"); - -2725 ià( -p --> -no_h³t_´e£Á -) - -2726 - `årštf -( -f -, "% ð%s\n", "no_h³t", ( -p --> -no_h³t -) ? "yes" : "no"); - -2728 ià( -p --> -no_shcÚf_´e£Á -) - -2729 - `årštf -( -f -, "%s = %s\n", "no_shconf", - -2730 ( -p --> -no_shcÚf -) ? "yes" : "no"); - -2732 ià( -p --> -add_driv” -) - -2733 - `årštf -( -f -, "% ð%s\n", "d", -p --> -add_driv” -); - -2735 ià( -p --> -sock‘_mem -) - -2736 - `årštf -( -f -, "% ð%s\n", "sock‘_mem", -p --> -sock‘_mem -); - -2738 ià( -p --> -huge_dœ -) - -2739 - `årštf -( -f -, "% ð%s\n", "huge_dœ", -p --> -huge_dœ -); - -2741 ià( -p --> -fže_´efix -) - -2742 - `årštf -( -f -, "% ð%s\n", "fže_´efix", -p --> -fže_´efix -); - -2744 ià( -p --> -ba£_vœddr -) - -2745 - `årštf -( -f -, "% ð%s\n", "ba£_vœddr", -p --> -ba£_vœddr -); - -2747 ià( -p --> -ü—‹_uio_dev_´e£Á -) - -2748 - `årštf -( -f -, "%s = %s\n", "create_uio_dev", - -2749 ( -p --> -ü—‹_uio_dev -) ? "yes" : "no"); - -2751 ià( -p --> -vfio_šŒ -) - -2752 - `årštf -( -f -, "% ð%s\n", "vfio_šŒ", -p --> -vfio_šŒ -); - -2754 ià( -p --> -x’_dom0_´e£Á -) - -2755 - `årštf -( -f -, "%s = %s\n", "xen_dom0", - -2756 ( -p --> -x’_dom0 -) ? "yes" : "no"); - -2758 - `åutc -('\n', -f -); - -2759 - } -} - -2762 - $§ve_mempoÞ_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2764  -­p_mempoÞ_·¿ms - * -p -; - -2765 -size_t - -i -, -couÁ -; - -2767 -couÁ - = - `RTE_DIM -( -­p --> -mempoÞ_·¿ms -); - -2768  -i - = 0; i < -couÁ -; i++) { - -2769 -p - = & -­p --> -mempoÞ_·¿ms -[ -i -]; - -2770 ià(! - `APP_PARAM_VALID -( -p -)) - -2773 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2774 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "bufãr_size", -p --> -bufãr_size -); - -2775 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "poÞ_size", -p --> -poÞ_size -); - -2776 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "ÿche_size", -p --> -ÿche_size -); - -2777 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "ýu", -p --> -ýu_sock‘_id -); - -2779 - `åutc -('\n', -f -); - -2781 - } -} - -2784 - $§ve_lšks_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2786  -­p_lšk_·¿ms - * -p -; - -2787 -size_t - -i -, -couÁ -; - -2789 -couÁ - = - `RTE_DIM -( -­p --> -lšk_·¿ms -); - -2790  -i - = 0; i < -couÁ -; i++) { - -2791 -p - = & -­p --> -lšk_·¿ms -[ -i -]; - -2792 ià(! - `APP_PARAM_VALID -( -p -)) - -2795 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2796 - `årštf -( -f -, "; % ð%" -PRIu32 - "\n", "pmd_id", -p --> -pmd_id -); - -2797 - `årštf -( -f -, "% ð%s\n", "´omisc", -p --> -´omisc - ? "yes" : "no"); - -2798 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "¬p_q", -p --> -¬p_q -); - -2799 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "tcp_syn_q", - -2800 -p --> -tý_syn_q -); - -2801 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "_loÿl_q", -p --> -_loÿl_q -); - -2802 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "tý_loÿl_q", -p --> -tý_loÿl_q -); - -2803 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "udp_loÿl_q", -p --> -udp_loÿl_q -); - -2804 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "sctp_local_q", - -2805 -p --> -sùp_loÿl_q -); - -2807 ià( - `¡¾’ -( -p --> -pci_bdf -)) - -2808 - `årštf -( -f -, "% ð%s\n", "pci_bdf", -p --> -pci_bdf -); - -2810 - `åutc -('\n', -f -); - -2812 - } -} - -2815 - $§ve_rxq_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2817  -­p_pktq_hwq_š_·¿ms - * -p -; - -2818 -size_t - -i -, -couÁ -; - -2820 -couÁ - = - `RTE_DIM -( -­p --> -hwq_š_·¿ms -); - -2821  -i - = 0; i < -couÁ -; i++) { - -2822 -p - = & -­p --> -hwq_š_·¿ms -[ -i -]; - -2823 ià(! - `APP_PARAM_VALID -( -p -)) - -2826 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2827 - `årštf -( -f -, "%s = %s\n", - -2829 -­p --> -mempoÞ_·¿ms -[ -p --> -mempoÞ_id -]. -Çme -); - -2830 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "size", -p --> -size -); - -2831 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "bur¡", -p --> -bur¡ -); - -2833 - `åutc -('\n', -f -); - -2835 - } -} - -2838 - $§ve_txq_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2840  -­p_pktq_hwq_out_·¿ms - * -p -; - -2841 -size_t - -i -, -couÁ -; - -2843 -couÁ - = - `RTE_DIM -( -­p --> -hwq_out_·¿ms -); - -2844  -i - = 0; i < -couÁ -; i++) { - -2845 -p - = & -­p --> -hwq_out_·¿ms -[ -i -]; - -2846 ià(! - `APP_PARAM_VALID -( -p -)) - -2849 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2850 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "size", -p --> -size -); - -2851 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "bur¡", -p --> -bur¡ -); - -2852 - `årštf -( -f -, "%s = %s\n", - -2854 -p --> -drÝËss - ? "yes" : "no"); - -2856 - `åutc -('\n', -f -); - -2858 - } -} - -2861 - $§ve_swq_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2863  -­p_pktq_swq_·¿ms - * -p -; - -2864 -size_t - -i -, -couÁ -; - -2866 -couÁ - = - `RTE_DIM -( -­p --> -swq_·¿ms -); - -2867  -i - = 0; i < -couÁ -; i++) { - -2868 -p - = & -­p --> -swq_·¿ms -[ -i -]; - -2869 ià(! - `APP_PARAM_VALID -( -p -)) - -2872 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2873 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "size", -p --> -size -); - -2874 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "bur¡_»ad", -p --> -bur¡_»ad -); - -2875 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "bur¡_wr™e", -p --> -bur¡_wr™e -); - -2876 - `årštf -( -f -, "% ð%s\n", "drÝËss", -p --> -drÝËss - ? "yes" : "no"); - -2877 - `årštf -( -f -, "% ð%" -PRIu64 - "\n", "n_»Œ›s", -p --> -n_»Œ›s -); - -2878 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "ýu", -p --> -ýu_sock‘_id -); - -2879 - `årštf -( -f -, "% ð%s\n", "v4_äag", -p --> -v4_äag - ? "yes" : "no"); - -2880 - `årštf -( -f -, "% ð%s\n", "v6_äag", -p --> -v6_äag - ? "yes" : "no"); - -2881 - `årštf -( -f -, "% ð%s\n", "v4_¿s", -p --> -v4_¿s - ? "yes" : "no"); - -2882 - `årštf -( -f -, "% ð%s\n", "v6_¿s", -p --> -v6_¿s - ? "yes" : "no"); - -2883 ià(( -p --> -v4_äag - =ð1è|| (p-> -v6_äag - == 1)) { - -2884 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "mtu", -p --> -mtu -); - -2885 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "m‘ad©a_size", -p --> -m‘ad©a_size -); - -2886 - `årštf -( -f -, "%s = %s\n", - -2888 -­p --> -mempoÞ_·¿ms -[ -p --> -mempoÞ_dœeù_id -]. -Çme -); - -2889 - `årštf -( -f -, "%s = %s\n", - -2891 -­p --> -mempoÞ_·¿ms -[ -p --> -mempoÞ_šdœeù_id -]. -Çme -); - -2894 - `åutc -('\n', -f -); - -2896 - } -} - -2899 - $§ve_tm_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2901  -­p_pktq_tm_·¿ms - * -p -; - -2902 -size_t - -i -, -couÁ -; - -2904 -couÁ - = - `RTE_DIM -( -­p --> -tm_·¿ms -); - -2905  -i - = 0; i < -couÁ -; i++) { - -2906 -p - = & -­p --> -tm_·¿ms -[ -i -]; - -2907 ià(! - `APP_PARAM_VALID -( -p -)) - -2910 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2911 - `årštf -( -f -, "% ð%s\n", "cfg", -p --> -fže_Çme -); - -2912 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "bur¡_»ad", -p --> -bur¡_»ad -); - -2913 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "bur¡_wr™e", -p --> -bur¡_wr™e -); - -2915 - `åutc -('\n', -f -); - -2917 - } -} - -2920 - $§ve_sourû_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2922  -­p_pktq_sourû_·¿ms - * -p -; - -2923 -size_t - -i -, -couÁ -; - -2925 -couÁ - = - `RTE_DIM -( -­p --> -sourû_·¿ms -); - -2926  -i - = 0; i < -couÁ -; i++) { - -2927 -p - = & -­p --> -sourû_·¿ms -[ -i -]; - -2928 ià(! - `APP_PARAM_VALID -( -p -)) - -2931 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2932 - `årštf -( -f -, "%s = %s\n", - -2934 -­p --> -mempoÞ_·¿ms -[ -p --> -mempoÞ_id -]. -Çme -); - -2935 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "bur¡", -p --> -bur¡ -); - -2936 - `årštf -( -f -, "% ð%s\n", "pÿp_fže_rd", -p --> -fže_Çme -); - -2937 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "pcap_bytes_rd_per_pkt", - -2938 -p --> -n_by‹s_³r_pkt -); - -2939 - `åutc -('\n', -f -); - -2941 - } -} - -2944 - $§ve_sšk_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2946  -­p_pktq_sšk_·¿ms - * -p -; - -2947 -size_t - -i -, -couÁ -; - -2949 -couÁ - = - `RTE_DIM -( -­p --> -sšk_·¿ms -); - -2950  -i - = 0; i < -couÁ -; i++) { - -2951 -p - = & -­p --> -sšk_·¿ms -[ -i -]; - -2952 ià(! - `APP_PARAM_VALID -( -p -)) - -2955 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2956 - `årštf -( -f -, "% ð%s\n", "pÿp_fže_wr", -p --> -fže_Çme -); - -2957 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", - -2958 "pÿp_n_pkt_wr", -p --> -n_pkts_to_dump -); - -2959 - `åutc -('\n', -f -); - -2961 - } -} - -2964 - $§ve_msgq_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2966  -­p_msgq_·¿ms - * -p -; - -2967 -size_t - -i -, -couÁ -; - -2969 -couÁ - = - `RTE_DIM -( -­p --> -msgq_·¿ms -); - -2970  -i - = 0; i < -couÁ -; i++) { - -2971 -p - = & -­p --> -msgq_·¿ms -[ -i -]; - -2972 ià(! - `APP_PARAM_VALID -( -p -)) - -2975 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2976 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "size", -p --> -size -); - -2977 - `årštf -( -f -, "% ð%" -PRIu32 - "\n", "ýu", -p --> -ýu_sock‘_id -); - -2979 - `åutc -('\n', -f -); - -2981 - } -} - -2984 - $§ve_p–še_·¿ms -( -­p_·¿ms - * -­p -, -FILE - * -f -) - -2986 -size_t - -i -, -couÁ -; - -2988 -couÁ - = - `RTE_DIM -( -­p --> -p–še_·¿ms -); - -2989  -i - = 0; i < -couÁ -; i++) { - -2990  -­p_p–še_·¿ms - * -p - = & -­p --> -p–še_·¿ms -[ -i -]; - -2992 ià(! - `APP_PARAM_VALID -( -p -)) - -2996 - `årštf -( -f -, "[%s]\n", -p --> -Çme -); - -2999 - `årštf -( -f -, "ty³ = %s\n", -p --> -ty³ -); - -3002 - `årštf -( -f -, "cܐðs%" -PRIu32 - "c%" PRIu32 "%s\n", - -3003 -p --> -sock‘_id -, - -3004 -p --> -cÜe_id -, - -3005 ( -p --> -hy³r_th_id -) ? "h" : ""); - -3008 ià( -p --> -n_pktq_š -) { - -3009 -ušt32_t - -j -; - -3011 - `årštf -( -f -, "pktq_in ="); - -3012  -j - = 0; j < -p --> -n_pktq_š -; j++) { - -3013  -­p_pktq_š_·¿ms - * -µ - = & -p --> -pktq_š -[ -j -]; - -3014 * -Çme -; - -3016  -µ --> -ty³ -) { - -3017  -APP_PKTQ_IN_HWQ -: - -3018 -Çme - = -­p --> -hwq_š_·¿ms -[ -µ --> -id -].name; - -3020  -APP_PKTQ_IN_SWQ -: - -3021 -Çme - = -­p --> -swq_·¿ms -[ -µ --> -id -].name; - -3023  -APP_PKTQ_IN_TM -: - -3024 -Çme - = -­p --> -tm_·¿ms -[ -µ --> -id -].name; - -3026  -APP_PKTQ_IN_SOURCE -: - -3027 -Çme - = -­p --> -sourû_·¿ms -[ -µ --> -id -].name; - -3030 - `APP_CHECK -(0, "Systemƒrror " - -3035 - `årštf -( -f -, " %s", -Çme -); - -3037 - `årštf -( -f -, "\n"); - -3041 ià( -p --> -n_pktq_out -) { - -3042 -ušt32_t - -j -; - -3044 - `årštf -( -f -, "pktq_out ="); - -3045  -j - = 0; j < -p --> -n_pktq_out -; j++) { - -3046  -­p_pktq_out_·¿ms - * -µ - = - -3047 & -p --> -pktq_out -[ -j -]; - -3048 * -Çme -; - -3050  -µ --> -ty³ -) { - -3051  -APP_PKTQ_OUT_HWQ -: - -3052 -Çme - = -­p --> -hwq_out_·¿ms -[ -µ --> -id -].name; - -3054  -APP_PKTQ_OUT_SWQ -: - -3055 -Çme - = -­p --> -swq_·¿ms -[ -µ --> -id -].name; - -3057  -APP_PKTQ_OUT_TM -: - -3058 -Çme - = -­p --> -tm_·¿ms -[ -µ --> -id -].name; - -3060  -APP_PKTQ_OUT_SINK -: - -3061 -Çme - = -­p --> -sšk_·¿ms -[ -µ --> -id -].name; - -3064 - `APP_CHECK -(0, "Systemƒrror " - -3069 - `årštf -( -f -, " %s", -Çme -); - -3071 - `årštf -( -f -, "\n"); - -3075 ià( -p --> -n_msgq_š -) { - -3076 -ušt32_t - -j -; - -3078 - `årštf -( -f -, "msgq_in ="); - -3079  -j - = 0; j < -p --> -n_msgq_š -; j++) { - -3080 -ušt32_t - -id - = -p --> -msgq_š -[ -j -]; - -3081 * -Çme - = -­p --> -msgq_·¿ms -[ -id -].name; - -3083 - `årštf -( -f -, " %s", -Çme -); - -3085 - `årštf -( -f -, "\n"); - -3089 ià( -p --> -n_msgq_out -) { - -3090 -ušt32_t - -j -; - -3092 - `årštf -( -f -, "msgq_out ="); - -3093  -j - = 0; j < -p --> -n_msgq_out -; j++) { - -3094 -ušt32_t - -id - = -p --> -msgq_out -[ -j -]; - -3095 * -Çme - = -­p --> -msgq_·¿ms -[ -id -].name; - -3097 - `årštf -( -f -, " %s", -Çme -); - -3099 - `årštf -( -f -, "\n"); - -3103 - `årštf -( -f -, "tim”_³riod = %" -PRIu32 - "\n", -p --> -tim”_³riod -); - -3106 ià( -p --> -n_¬gs -) { - -3107 -ušt32_t - -j -; - -3109  -j - = 0; j < -p --> -n_¬gs -; j++) - -3110 - `årštf -( -f -, "% ð%s\n", -p --> -¬gs_Çme -[ -j -], - -3111 -p --> -¬gs_v®ue -[ -j -]); - -3114 - `årštf -( -f -, "\n"); - -3116 - } -} - -3119 - $­p_cÚfig_§ve -( -­p_·¿ms - * -­p -, cÚ¡ * -fže_Çme -) - -3121 -FILE - * -fže -; - -3122 * -Çme -, * -dœ_Çme -; - -3123  -¡©us -; - -3125 -Çme - = - `¡rdup -( -fže_Çme -); - -3126 -dœ_Çme - = - `dœÇme -( -Çme -); - -3127 -¡©us - = - `acûss -( -dœ_Çme -, -W_OK -); - -3128 - `APP_CHECK -(( -¡©us - == 0), - -3130 "\"%s\"Ø§vcÚfigu¿tiÚ\n", -dœ_Çme -); - -3132 -fže - = - `fݒ -( -fže_Çme -, "w"); - -3133 - `APP_CHECK -(( -fže - !ð -NULL -), - -3135 -fže_Çme -); - -3137 - `§ve_—l_·¿ms -( -­p -, -fže -); - -3138 - `§ve_p–še_·¿ms -( -­p -, -fže -); - -3139 - `§ve_mempoÞ_·¿ms -( -­p -, -fže -); - -3140 - `§ve_lšks_·¿ms -( -­p -, -fže -); - -3141 - `§ve_rxq_·¿ms -( -­p -, -fže -); - -3142 - `§ve_txq_·¿ms -( -­p -, -fže -); - -3143 - `§ve_swq_·¿ms -( -­p -, -fže -); - -3144 - `§ve_tm_·¿ms -( -­p -, -fže -); - -3145 - `§ve_sourû_·¿ms -( -­p -, -fže -); - -3146 - `§ve_sšk_·¿ms -( -­p -, -fže -); - -3147 - `§ve_msgq_·¿ms -( -­p -, -fže -); - -3149 - `fþo£ -( -fže -); - -3150 - `ä“ -( -Çme -); - -3151 - } -} - -3154 - $­p_cÚfig_š™ -( -­p_·¿ms - * -­p -) - -3156 -size_t - -i -; - -3158 - `memýy -( -­p -, & -­p_·¿ms_deçuÉ -, ( -­p_·¿ms -)); - -3160  -i - = 0; i < - `RTE_DIM -( -­p --> -mempoÞ_·¿ms -); i++) - -3161 - `memýy -(& -­p --> -mempoÞ_·¿ms -[ -i -], - -3162 & -mempoÞ_·¿ms_deçuÉ -, - -3163 ( -­p_mempoÞ_·¿ms -)); - -3165  -i - = 0; i < - `RTE_DIM -( -­p --> -lšk_·¿ms -); i++) - -3166 - `memýy -(& -­p --> -lšk_·¿ms -[ -i -], - -3167 & -lšk_·¿ms_deçuÉ -, - -3168 ( -­p_lšk_·¿ms -)); - -3170  -i - = 0; i < - `RTE_DIM -( -­p --> -hwq_š_·¿ms -); i++) - -3171 - `memýy -(& -­p --> -hwq_š_·¿ms -[ -i -], - -3172 & -deçuÉ_hwq_š_·¿ms -, - -3173 ( -deçuÉ_hwq_š_·¿ms -)); - -3175  -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 ( -deçuÉ_hwq_out_·¿ms -)); - -3180  -i - = 0; i < - `RTE_DIM -( -­p --> -swq_·¿ms -); i++) - -3181 - `memýy -(& -­p --> -swq_·¿ms -[ -i -], - -3182 & -deçuÉ_swq_·¿ms -, - -3183 ( -deçuÉ_swq_·¿ms -)); - -3185  -i - = 0; i < - `RTE_DIM -( -­p --> -tm_·¿ms -); i++) - -3186 - `memýy -(& -­p --> -tm_·¿ms -[ -i -], - -3187 & -deçuÉ_tm_·¿ms -, - -3188 ( -deçuÉ_tm_·¿ms -)); - -3190  -i - = 0; i < - `RTE_DIM -( -­p --> -sourû_·¿ms -); i++) - -3191 - `memýy -(& -­p --> -sourû_·¿ms -[ -i -], - -3192 & -deçuÉ_sourû_·¿ms -, - -3193 ( -deçuÉ_sourû_·¿ms -)); - -3195  -i - = 0; i < - `RTE_DIM -( -­p --> -sšk_·¿ms -); i++) - -3196 - `memýy -(& -­p --> -sšk_·¿ms -[ -i -], - -3197 & -deçuÉ_sšk_·¿ms -, - -3198 ( -deçuÉ_sšk_·¿ms -)); - -3200  -i - = 0; i < - `RTE_DIM -( -­p --> -msgq_·¿ms -); i++) - -3201 - `memýy -(& -­p --> -msgq_·¿ms -[ -i -], - -3202 & -deçuÉ_msgq_·¿ms -, - -3203 ( -deçuÉ_msgq_·¿ms -)); - -3205  -i - = 0; i < - `RTE_DIM -( -­p --> -p–še_·¿ms -); i++) - -3206 - `memýy -(& -­p --> -p–še_·¿ms -[ -i -], - -3207 & -deçuÉ_p–še_·¿ms -, - -3208 ( -deçuÉ_p–še_·¿ms -)); - -3211 - } -} - -3214 - $fž’amedup -(cÚ¡ * -fž’ame -, cÚ¡ * -suffix -) - -3216 * -s - = - `m®loc -( - `¡¾’ -( -fž’ame -è+ sŒËn( -suffix -) + 1); - -3218 ià(! -s -) - -3219  -NULL -; - -3221 - `¥rštf -( -s -, "%s%s", -fž’ame -, -suffix -); - -3222  -s -; - -3223 - } -} - -3226 - $­p_cÚfig_¬gs -( -­p_·¿ms - * -­p -,  -¬gc -, ** -¬gv -) - -3228 cÚ¡ * -݊ame -; - -3229  -Ýt -, -ÝtiÚ_šdex -; - -3230  -f_´e£Á -, -s_´e£Á -, -p_´e£Á -, -l_´e£Á -; - -3231  -´•roc_´e£Á -, -´•roc_·¿ms_´e£Á -, -di§bË_csum_´e£Á -; - -3232  -hwlb_´e£Á -; - -3233  -æow_dœ_´e£Á -; - -3234  -sÿÃd - = 0; - -3236  -Ý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 -´•roc_´e£Á - = 0; - -3254 -´•roc_·¿ms_´e£Á - = 0; - -3255 -­p --> -h—d”_csum_»q - =1; - -3256 -hwlb_´e£Á - = 0; - -3257 -æow_dœ_´e£Á - = 0; - -3260 ( -Ýt - = - `g‘Ýt_lÚg -( -¬gc -, -¬gv -, "f:s:p:l:", -lgÝts -, - -3261 & -ÝtiÚ_šdex -)è!ð -EOF -) - -3262  -Ýt -) { - -3264 ià( -f_´e£Á -) - -3265 - `¹e_·nic -("Error: Config file is…rovided " - -3267 -f_´e£Á - = 1; - -3269 ià(! - `¡¾’ -( -ݏrg -)) - -3270 - `¹e_·nic -("Error: Config file‚ame is‚ull\n"); - -3272 -­p --> -cÚfig_fže - = - `¡rdup -( -ݏrg -); - -3273 ià( -­p --> -cÚfig_fže - =ð -NULL -) - -3274 - `¹e_·nic -("Error: Memory‡llocation failure\n"); - -3279 ià( -s_´e£Á -) - -3280 - `¹e_·nic -("Error: Script file is…rovided " - -3282 -s_´e£Á - = 1; - -3284 ià(! - `¡¾’ -( -ݏrg -)) - -3285 - `¹e_·nic -("Error: Script file‚ame is‚ull\n"); - -3287 -­p --> -süt_fže - = - `¡rdup -( -ݏrg -); - -3288 ià( -­p --> -süt_fže - =ð -NULL -) - -3289 - `¹e_·nic -("Error: Memory‡llocation failure\n"); - -3294 ià( -p_´e£Á -) - -3295 - `¹e_·nic -("Error: PORT_MASK is…rovided " - -3297 -p_´e£Á - = 1; - -3299 ià(( - `ssÿnf -( -ݏrg -, "%" -SCNx64 - "%n", & -­p --> -pÜt_mask -, - -3300 & -sÿÃd -) != 1) || - -3301 (( -size_t -è -sÿÃd - !ð - `¡¾’ -( -ݏrg -))) - -3302 - `¹e_·nic -("Error: PORT_MASK is‚ot " - -3305 ià( -­p --> -pÜt_mask - == 0) - -3306 - `¹e_·nic -("Error: PORT_MASK is‚ull\n"); - -3311 ià( -l_´e£Á -) - -3312 - `¹e_·nic -("Error: LOG_LEVEL is…rovided " - -3314 -l_´e£Á - = 1; - -3316 ià(( - `ssÿnf -( -ݏrg -, "%" -SCNu32 - "%n", & -­p --> -log_Ëv– -, - -3317 & -sÿÃd -) != 1) || - -3318 (( -size_t -è -sÿÃd - !ð - `¡¾’ -( -ݏrg -)) || - -3319 ( -­p --> -log_Ëv– - >ð -APP_LOG_LEVELS -)) - -3320 - `¹e_·nic -("Error: LOG_LEVEL invalid value\n"); - -3325 -݊ame - = -lgÝts -[ -ÝtiÚ_šdex -]. -Çme -; - -3327 ià( - `¡rcmp -( -݊ame -, "hwlb") == 0) { - -3328 ià( -hwlb_´e£Á -) - -3329 - `¹e_·nic -("Error: hwlb‡rgument " - -3331 -hwlb_´e£Á - = 1; - -3332 - `´štf -(" 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‡tleast 1\n"); - -3339 - `´štf -("NØoàHWQ fÜ HWLB‡» %d\n", -­p --> -n_hwlb_q -); - -3340 -’abË_hwlb - = 1; - -3344 ià( - `¡rcmp -( -݊ame -, "flow_dir") == 0) { - -3345 ià( -æow_dœ_´e£Á -) - -3346 - `¹e_·nic -("Error: flow_dir‡rgument " - -3348 -æow_dœ_´e£Á - = 1; - -3349 - `´štf -(" FLOW DIR is configured\n"); - -3351 -’abË_æow_dœ - = 1; - -3356 ià( - `¡rcmp -( -݊ame -, "disable-hw-csum") == 0) { - -3357 ià( -di§bË_csum_´e£Á -) - -3358 - `¹e_·nic -("Error: disable-hw-csum‡rgument " - -3361 - `´štf -("Disable TCP/UDP HW checksumi\n"); - -3362 -­p --> -h—d”_csum_»q - = 0; - -3363 -di§bË_csum_´e£Á - = 1; - -3367 ià( - `¡rcmp -( -݊ame -, "preproc") == 0) { - -3368 ià( -´•roc_´e£Á -) - -3369 - `¹e_·nic -("Error: Preprocessor‡rgument " - -3371 -´•roc_´e£Á - = 1; - -3373 -­p --> -´•roc - = - `¡rdup -( -ݏrg -); - -3377 ià( - `¡rcmp -( -݊ame -, "preproc-args") == 0) { - -3378 ià( -´•roc_·¿ms_´e£Á -) - -3379 - `¹e_·nic -("Error: Preprocessor‡rgs " - -3381 -´•roc_·¿ms_´e£Á - = 1; - -3383 -­p --> -´•roc_¬gs - = - `¡rdup -( -ݏrg -); - -3387 - `­p_´št_u§ge -( -¬gv -[0]); - -3391 - `­p_´št_u§ge -( -¬gv -[0]); - -3394 -Ýtšd - = 0; - -3397 ià( -´•roc_·¿ms_´e£Á - && ( -´•roc_´e£Á - == 0)) - -3398 - `¹e_·nic -("Error: Preprocessor‡rgs specified while " - -3401 -­p --> -·r£r_fže - = -´•roc_´e£Á - ? - -3402 - `fž’amedup -( -­p --> -cÚfig_fže -, ".preproc") : - -3403 - `¡rdup -( -­p --> -cÚfig_fže -); - -3404 -­p --> -ouut_fže - = - `fž’amedup -×µ-> -cÚfig_fže -, ".out"); - -3407 - } -} - -3410 - $­p_cÚfig_´•roc -( -­p_·¿ms - * -­p -) - -3412  -bufãr -[256]; - -3413  -¡©us -; - -3415 ià( -­p --> -´•roc - =ð -NULL -) - -3418 -¡©us - = - `acûss -( -­p --> -cÚfig_fže -, -F_OK - | -R_OK -); - -3419 - `APP_CHECK -(( -¡©us - == 0), "Error: Unableo open file %s", - -3420 -­p --> -cÚfig_fže -); - -3422 - `¢´štf -( -bufãr -, (buffer), "%s %s %s > %s", - -3423 -­p --> -´•roc -, - -3424 -­p --> -´•roc_¬gs - ?‡pp->preproc_args : "", - -3425 -­p --> -cÚfig_fže -, - -3426 -­p --> -·r£r_fže -); - -3428 -¡©us - = - `sy¡em -( -bufãr -); - -3429 - `APP_CHECK -(( - `WIFEXITED -( -¡©us -è&& ( - `WEXITSTATUS -(status) == 0)), - -3431 -­p --> -cÚfig_fže -); - -3433  -¡©us -; - -3434 - } -} - - @vnf_common/config_parse_tm.c - -16  - ~<¡dšt.h -> - -17  - ~<¡dlib.h -> - -18  - ~<¡dio.h -> - -19  - ~<ùy³.h -> - -20  - ~ - -21  - ~<”ºo.h -> - -22  - ~<¡d¬g.h -> - -23  - ~<¡ršg.h -> - -24  - ~ - -25  - ~ - -27  - ~<¹e_”ºo.h -> - -28  - ~<¹e_cfgfže.h -> - -29  - ~<¹e_¡ršg_âs.h -> - -31  - ~"­p.h -" - -34 - $tm_cfgfže_lßd_sched_pÜt -( - -35  -¹e_cfgfže - * -fže -, - -36  -¹e_sched_pÜt_·¿ms - * -pÜt_·¿ms -) - -38 cÚ¡ * -’Œy -; - -39  -j -; - -41 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, "port", "frame overhead"); - -42 ià( -’Œy -) - -43 -pÜt_·¿ms --> -äame_ov”h—d - = ( -ušt32_t -) - `©oi -( -’Œy -); - -45 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, "port", "mtu"); - -46 ià( -’Œy -) - -47 -pÜt_·¿ms --> -mtu - = ( -ušt32_t -) - `©oi -( -’Œy -); - -49 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -52 ià( -’Œy -) - -53 -pÜt_·¿ms --> -n_subpÜts_³r_pÜt - = ( -ušt32_t -è - `©oi -( -’Œy -); - -55 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -58 ià( -’Œy -) - -59 -pÜt_·¿ms --> -n_pes_³r_subpÜt - = ( -ušt32_t -è - `©oi -( -’Œy -); - -61 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, "port", "queue sizes"); - -62 ià( -’Œy -) { - -63 * -Ãxt -; - -65  -j - = 0; j < -RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE -; j++) { - -66 -pÜt_·¿ms --> -qsize -[ -j -] = ( -ušt16_t -) - -67 - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -68 ià( -Ãxt - =ð -NULL -) - -70 -’Œy - = -Ãxt -; - -74 #ifdeà -RTE_SCHED_RED - - -75  -j - = 0; j < -RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE -; j++) { - -76  -¡r -[32]; - -79 - `¢´štf -( -¡r -, (¡r), "tø%" -PRId32 - " w»d mš", -j -); - -80 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, "»d", -¡r -); - -81 ià( -’Œy -) { - -82 * -Ãxt -; - -83  -k -; - -86  -k - = 0; k < -e_RTE_METER_COLORS -; k++) { - -87 -pÜt_·¿ms --> -»d_·¿ms -[ -j -][ -k -]. -mš_th - - -88 ð( -ušt16_t -) - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -89 ià( -Ãxt - =ð -NULL -) - -91 -’Œy - = -Ãxt -; - -96 - `¢´štf -( -¡r -, (¡r), "tø%" -PRId32 - " w»d max", -j -); - -97 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, "»d", -¡r -); - -98 ià( -’Œy -) { - -99 * -Ãxt -; - -100  -k -; - -103  -k - = 0; k < -e_RTE_METER_COLORS -; k++) { - -104 -pÜt_·¿ms --> -»d_·¿ms -[ -j -][ -k -]. -max_th - - -105 ð( -ušt16_t -) - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -106 ià( -Ãxt - =ð -NULL -) - -108 -’Œy - = -Ãxt -; - -113 - `¢´štf -( -¡r -, (¡r), "tø%" -PRId32 - " w»d inv…rob", -j -); - -114 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, "»d", -¡r -); - -115 ià( -’Œy -) { - -116 * -Ãxt -; - -117  -k -; - -120  -k - = 0; k < -e_RTE_METER_COLORS -; k++) { - -121 -pÜt_·¿ms --> -»d_·¿ms -[ -j -][ -k -]. -maxp_šv - - -122 ð( -ušt8_t -) - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -124 ià( -Ãxt - =ð -NULL -) - -126 -’Œy - = -Ãxt -; - -131 - `¢´štf -( -¡r -, (¡r), "tø%" -PRId32 - " w»d weight", -j -); - -132 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, "»d", -¡r -); - -133 ià( -’Œy -) { - -134 * -Ãxt -; - -135  -k -; - -138  -k - = 0; k < -e_RTE_METER_COLORS -; k++) { - -139 -pÜt_·¿ms --> -»d_·¿ms -[ -j -][ -k -]. -wq_log2 - - -140 ð( -ušt8_t -) - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -141 ià( -Ãxt - =ð -NULL -) - -143 -’Œy - = -Ãxt -; - -150 - } -} - -153 - $tm_cfgfže_lßd_sched_pe -( - -154  -¹e_cfgfže - * -fže -, - -155  -¹e_sched_pÜt_·¿ms - * -pÜt_·¿ms -, - -156  -¹e_sched_pe_·¿ms - * -pe_·¿ms -) - -158  -i -, -j -; - -159 * -Ãxt -; - -160 cÚ¡ * -’Œy -; - -161  -´ofžes -; - -163 -´ofžes - = - `¹e_cfgfže_num_£ùiÚs -( -fže -, - -165 -pÜt_·¿ms --> -n_pe_´ofžes - = -´ofžes -; - -167  -j - = 0; j < -´ofžes -; j++) { - -168  -pe_Çme -[32]; - -170 - `¢´štf -( -pe_Çme -, (pipe_name), - -171 "p´ofž%" -PRId32 -, -j -); - -173 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tb„ate"); - -174 ià( -’Œy -) - -175 -pe_·¿ms -[ -j -]. -tb_¿‹ - = ( -ušt32_t -è - `©oi -( -’Œy -); - -177 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tb size"); - -178 ià( -’Œy -) - -179 -pe_·¿ms -[ -j -]. -tb_size - = ( -ušt32_t -è - `©oi -( -’Œy -); - -181 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tc…eriod"); - -182 ià( -’Œy -) - -183 -pe_·¿ms -[ -j -]. -tc_³riod - = ( -ušt32_t -è - `©oi -( -’Œy -); - -185 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tc 0„ate"); - -186 ià( -’Œy -) - -187 -pe_·¿ms -[ -j -]. -tc_¿‹ -[0] = ( -ušt32_t -è - `©oi -( -’Œy -); - -189 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tc 1„ate"); - -190 ià( -’Œy -) - -191 -pe_·¿ms -[ -j -]. -tc_¿‹ -[1] = ( -ušt32_t -è - `©oi -( -’Œy -); - -193 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tc 2„ate"); - -194 ià( -’Œy -) - -195 -pe_·¿ms -[ -j -]. -tc_¿‹ -[2] = ( -ušt32_t -è - `©oi -( -’Œy -); - -197 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tc 3„ate"); - -198 ià( -’Œy -) - -199 -pe_·¿ms -[ -j -]. -tc_¿‹ -[3] = ( -ušt32_t -è - `©oi -( -’Œy -); - -201 #ifdeà -RTE_SCHED_SUBPORT_TC_OV - - -202 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, - -204 ià( -’Œy -) - -205 -pe_·¿ms -[ -j -]. -tc_ov_weight - = ( -ušt8_t -) - `©oi -( -’Œy -); - -208 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -209 -pe_Çme -, - -211 ià( -’Œy -) - -212  -i - = 0; i < -RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS -; i++) { - -213 -pe_·¿ms -[ -j -]. -w¼_weights -[ -RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE -*0 + -i -] = - -214 ( -ušt8_t -è - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -215 ià( -Ãxt - =ð -NULL -) - -217 -’Œy - = -Ãxt -; - -220 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tc 1 wrr weights"); - -221 ià( -’Œy -) - -222  -i - = 0; i < -RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS -; i++) { - -223 -pe_·¿ms -[ -j -]. -w¼_weights -[ -RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE -*1 + -i -] = - -224 ( -ušt8_t -è - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -225 ià( -Ãxt - =ð -NULL -) - -227 -’Œy - = -Ãxt -; - -230 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tc 2 wrr weights"); - -231 ià( -’Œy -) - -232  -i - = 0; i < -RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS -; i++) { - -233 -pe_·¿ms -[ -j -]. -w¼_weights -[ -RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE -*2 + -i -] = - -234 ( -ušt8_t -è - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -235 ià( -Ãxt - =ð -NULL -) - -237 -’Œy - = -Ãxt -; - -240 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, -pe_Çme -, "tc 3 wrr weights"); - -241 ià( -’Œy -) - -242  -i - = 0; i < -RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS -; i++) { - -243 -pe_·¿ms -[ -j -]. -w¼_weights -[ -RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE -*3 + -i -] = - -244 ( -ušt8_t -è - `¡¹Þ -( -’Œy -, & -Ãxt -, 10); - -245 ià( -Ãxt - =ð -NULL -) - -247 -’Œy - = -Ãxt -; - -251 - } -} - -254 - $tm_cfgfže_lßd_sched_subpÜt -( - -255  -¹e_cfgfže - * -fže -, - -256  -¹e_sched_subpÜt_·¿ms - * -subpÜt_·¿ms -, - -257 * -pe_to_´ofže -) - -259 cÚ¡ * -’Œy -; - -260  -i -, -j -, -k -; - -262  -i - = 0; i < -APP_MAX_SCHED_SUBPORTS -; i++) { - -263  -£c_Çme -[ -CFG_NAME_LEN -]; - -265 - `¢´štf -( -£c_Çme -, (sec_name), - -266 "subp܈%" -PRId32 -, -i -); - -268 ià( - `¹e_cfgfže_has_£ùiÚ -( -fže -, -£c_Çme -)) { - -269 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -270 -£c_Çme -, - -272 ià( -’Œy -) - -273 -subpÜt_·¿ms -[ -i -]. -tb_¿‹ - = - -274 ( -ušt32_t -è - `©oi -( -’Œy -); - -276 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -277 -£c_Çme -, - -279 ià( -’Œy -) - -280 -subpÜt_·¿ms -[ -i -]. -tb_size - = - -281 ( -ušt32_t -è - `©oi -( -’Œy -); - -283 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -284 -£c_Çme -, - -286 ià( -’Œy -) - -287 -subpÜt_·¿ms -[ -i -]. -tc_³riod - = - -288 ( -ušt32_t -è - `©oi -( -’Œy -); - -290 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -291 -£c_Çme -, - -293 ià( -’Œy -) - -294 -subpÜt_·¿ms -[ -i -]. -tc_¿‹ -[0] = - -295 ( -ušt32_t -è - `©oi -( -’Œy -); - -297 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -298 -£c_Çme -, - -300 ià( -’Œy -) - -301 -subpÜt_·¿ms -[ -i -]. -tc_¿‹ -[1] = - -302 ( -ušt32_t -è - `©oi -( -’Œy -); - -304 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -305 -£c_Çme -, - -307 ià( -’Œy -) - -308 -subpÜt_·¿ms -[ -i -]. -tc_¿‹ -[2] = - -309 ( -ušt32_t -è - `©oi -( -’Œy -); - -311 -’Œy - = - `¹e_cfgfže_g‘_’Œy -( -fže -, - -312 -£c_Çme -, - -314 ià( -’Œy -) - -315 -subpÜt_·¿ms -[ -i -]. -tc_¿‹ -[3] = - -316 ( -ušt32_t -è - `©oi -( -’Œy -); - -318  -n_’Œ›s - = - `¹e_cfgfže_£ùiÚ_num_’Œ›s -( -fže -, - -319 -£c_Çme -); - -320  -¹e_cfgfže_’Œy - -’Œ›s -[ -n_’Œ›s -]; - -322 - `¹e_cfgfže_£ùiÚ_’Œ›s -( -fže -, - -323 -£c_Çme -, - -324 -’Œ›s -, - -325 -n_’Œ›s -); - -327  -j - = 0; j < -n_’Œ›s -; j++) - -328 ià( - `¡ºcmp -("pipe", - -329 -’Œ›s -[ -j -]. -Çme -, - -331  -´ofže -; - -332 * -tok’s -[2] = { -NULL -, NULL}; - -333  -n_tok’s -; - -334  -begš -, -’d -; - -335  -Çme -[ -CFG_NAME_LEN - + 1]; - -337 -´ofže - = - `©oi -( -’Œ›s -[ -j -]. -v®ue -); - -338 - `¡ºýy -( -Çme -, - -339 -’Œ›s -[ -j -]. -Çme -, - -340 ( -Çme -)); - -341 -n_tok’s - = - `¹e_¡r¥l™ -( - -342 & -Çme -[("pipe")], - -343 - `¡ºËn -( -Çme -, -CFG_NAME_LEN -), - -344 -tok’s -, 2, '-'); - -346 -begš - = - `©oi -( -tok’s -[0]); - -347 ià( -n_tok’s - == 2) - -348 -’d - = - `©oi -( -tok’s -[1]); - -350 -’d - = -begš -; - -352 ià(( -’d - >ð -APP_MAX_SCHED_PIPES -) || - -353 ( -begš - > -’d -)) - -356  -k - = -begš -; k <ð -’d -; k++) { - -357  -´ofže_Çme -[ -CFG_NAME_LEN -]; - -359 - `¢´štf -( -´ofže_Çme -, - -360 ( -´ofže_Çme -), - -361 "p´ofž%" -PRId32 -, - -362 -´ofže -); - -363 ià( - `¹e_cfgfže_has_£ùiÚ -( -fže -, -´ofže_Çme -)) - -364 -pe_to_´ofže -[ -i - * -APP_MAX_SCHED_PIPES - + -k -] = -´ofže -; - -366 - `¹e_ex™ -( -EXIT_FAILURE -, - -368 -’Œ›s -[ -j -]. -v®ue -); - -375 - } -} - -378 - $tm_cfgfže_lßd -( -­p_pktq_tm_·¿ms - * -tm -) - -380  -¹e_cfgfže - * -fže -; - -381 -ušt32_t - -i -; - -383 - `mem£t -( -tm --> -sched_subpÜt_·¿ms -, 0, (tm->sched_subport_params)); - -384 - `mem£t -( -tm --> -sched_pe_´ofžes -, 0, (tm->sched_pipe_profiles)); - -385 - `mem£t -(& -tm --> -sched_pÜt_·¿ms -, 0, (tm->sched_port_params)); - -386  -i - = 0; i < -APP_MAX_SCHED_SUBPORTS - * -APP_MAX_SCHED_PIPES -; i++) - -387 -tm --> -sched_pe_to_´ofže -[ -i -] = -1; - -389 -tm --> -sched_pÜt_·¿ms -. -pe_´ofžes - = &tm-> -sched_pe_´ofžes -[0]; - -391 ià( -tm --> -fže_Çme -[0] == '\0') - -394 -fže - = - `¹e_cfgfže_lßd -( -tm --> -fže_Çme -, 0); - -395 ià( -fže - =ð -NULL -) - -398 - `tm_cfgfže_lßd_sched_pÜt -( -fže -, - -399 & -tm --> -sched_pÜt_·¿ms -); - -400 - `tm_cfgfže_lßd_sched_subpÜt -( -fže -, - -401 -tm --> -sched_subpÜt_·¿ms -, - -402 -tm --> -sched_pe_to_´ofže -); - -403 - `tm_cfgfže_lßd_sched_pe -( -fže -, - -404 & -tm --> -sched_pÜt_·¿ms -, - -405 -tm --> -sched_pe_´ofžes -); - -407 - `¹e_cfgfže_þo£ -( -fže -); - -409 - } -} - -412 - $­p_cÚfig_·r£_tm -( -­p_·¿ms - * -­p -) - -414 -ušt32_t - -i -; - -416  -i - = 0; i < - `RTE_DIM -( -­p --> -tm_·¿ms -); i++) { - -417  -­p_pktq_tm_·¿ms - * -p - = & -­p --> -tm_·¿ms -[ -i -]; - -418  -¡©us -; - -420 ià(! - `APP_PARAM_VALID -( -p -)) - -423 -¡©us - = - `tm_cfgfže_lßd -( -p -); - -424 - `APP_CHECK -( -¡©us - == 0, - -426 -p --> -Çme -, - -427 -p --> -fže_Çme -); - -431 - } -} - - @vnf_common/cpu_core_map.c - -17  - ~<š‰y³s.h -> - -18  - ~<¡dlib.h -> - -19  - ~<¡dio.h -> - -20  - ~<¡ršg.h -> - -22  - ~<¹e_lcÜe.h -> - -24  - ~"ýu_cÜe_m­.h -" - -26  - sýu_cÜe_m­ - { - -27 -ušt32_t - - mn_max_sock‘s -; - -28 -ušt32_t - - mn_max_cÜes_³r_sock‘ -; - -29 -ušt32_t - - mn_max_ht_³r_cÜe -; - -30 -ušt32_t - - mn_sock‘s -; - -31 -ušt32_t - - mn_cÜes_³r_sock‘ -; - -32 -ušt32_t - - mn_ht_³r_cÜe -; - -33  - mm­ -[0]; - -36  -šlše - -ušt32_t - - -37 - $ýu_cÜe_m­_pos -( -ýu_cÜe_m­ - * -m­ -, - -38 -ušt32_t - -sock‘_id -, - -39 -ušt32_t - -cÜe_id -, - -40 -ušt32_t - -ht_id -) - -42  ( -sock‘_id - * -m­ --> -n_max_cÜes_³r_sock‘ - + -cÜe_id -) * - -43 -m­ --> -n_max_ht_³r_cÜe - + -ht_id -; - -44 - } -} - -47 -ýu_cÜe_m­_compu‹_—l -( -ýu_cÜe_m­ - * -m­ -); - -50 -ýu_cÜe_m­_compu‹_lšux -( -ýu_cÜe_m­ - * -m­ -); - -53 -ýu_cÜe_m­_compu‹_ªd_check -( -ýu_cÜe_m­ - * -m­ -); - -55  -ýu_cÜe_m­ - * - -56 - $ýu_cÜe_m­_š™ -( -ušt32_t - -n_max_sock‘s -, - -57 -ušt32_t - -n_max_cÜes_³r_sock‘ -, - -58 -ušt32_t - -n_max_ht_³r_cÜe -, - -59 -ušt32_t - -—l_š™Ÿlized -) - -61 -ušt32_t - -m­_size -, -m­_mem_size -, -i -; - -62  -ýu_cÜe_m­ - * -m­ -; - -63  -¡©us -; - -66 ià(( -n_max_sock‘s - == 0) || - -67 ( -n_max_cÜes_³r_sock‘ - == 0) || - -68 ( -n_max_ht_³r_cÜe - == 0)) - -69  -NULL -; - -72 -m­_size - = -n_max_sock‘s - * -n_max_cÜes_³r_sock‘ - * -n_max_ht_³r_cÜe -; - -73 -m­_mem_size - = ( -ýu_cÜe_m­ -è+ -m­_size - * (); - -74 -m­ - = ( -ýu_cÜe_m­ - *è - `m®loc -( -m­_mem_size -); - -75 ià( -m­ - =ð -NULL -) - -76  -NULL -; - -79 -m­ --> -n_max_sock‘s - =‚_max_sockets; - -80 -m­ --> -n_max_cÜes_³r_sock‘ - =‚_max_cores_per_socket; - -81 -m­ --> -n_max_ht_³r_cÜe - =‚_max_ht_per_core; - -82 -m­ --> -n_sock‘s - = 0; - -83 -m­ --> -n_cÜes_³r_sock‘ - = 0; - -84 -m­ --> -n_ht_³r_cÜe - = 0; - -86  -i - = 0; i < -m­_size -; i++) - -87 -m­ -->m­[ -i -] = -1; - -89 -¡©us - = ( -—l_š™Ÿlized -) ? - -90 - `ýu_cÜe_m­_compu‹_—l -( -m­ -) : - -91 - `ýu_cÜe_m­_compu‹_lšux -( -m­ -); - -93 ià( -¡©us -) { - -94 - `ä“ -( -m­ -); - -95  -NULL -; - -98 -¡©us - = - `ýu_cÜe_m­_compu‹_ªd_check -( -m­ -); - -99 ià( -¡©us -) { - -100 - `ä“ -( -m­ -); - -101  -NULL -; - -104  -m­ -; - -105 - } -} - -108 - $ýu_cÜe_m­_compu‹_—l -( -ýu_cÜe_m­ - * -m­ -) - -110 -ušt32_t - -sock‘_id -, -cÜe_id -, -ht_id -; - -113  -sock‘_id - = 0; sock‘_id < -m­ --> -n_max_sock‘s -; socket_id++) { - -114 -ušt32_t - -n_d‘eùed -, -cÜe_id_cÚtig -; - -115  -lcÜe_id -; - -117 -n_d‘eùed - = 0; - -118  -lcÜe_id - = 0;†cÜe_id < -RTE_MAX_LCORE -;†core_id++) { - -119  -lcÜe_cÚfig - * -p - = &lcÜe_cÚfig[ -lcÜe_id -]; - -121 ià(( -p --> -d‘eùed -è&& (p-> -sock‘_id - == socket_id)) - -122 -n_d‘eùed -++; - -125 -cÜe_id_cÚtig - = 0; - -127  -cÜe_id - = 0; -n_d‘eùed - ; core_id++) { - -128 -ht_id - = 0; - -130  -lcÜe_id - = 0; - -131 -lcÜe_id - < -RTE_MAX_LCORE -; - -132 -lcÜe_id -++) { - -133  -lcÜe_cÚfig - * -p - = - -134 & -lcÜe_cÚfig -[ -lcÜe_id -]; - -136 ià(( -p --> -d‘eùed -) && - -137 ( -p --> -sock‘_id - == socket_id) && - -138 ( -p --> -cÜe_id - == core_id)) { - -139 -ušt32_t - -pos - = - `ýu_cÜe_m­_pos -( -m­ -, - -140 -sock‘_id -, - -141 -cÜe_id_cÚtig -, - -142 -ht_id -); - -144 -m­ -->m­[ -pos -] = -lcÜe_id -; - -145 -ht_id -++; - -146 -n_d‘eù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‘ -) - -160 - } -} - -163 - $ýu_cÜe_m­_compu‹_ªd_check -( -ýu_cÜe_m­ - * -m­ -) - -165 -ušt32_t - -sock‘_id -, -cÜe_id -, -ht_id -; - -168  -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  -cÜe_id - = 0; cÜe_id < -m­ --> -n_max_cÜes_³r_sock‘ -; core_id++) { - -179 -ušt32_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‘ -++; - -187 ià( -m­ --> -n_cÜes_³r_sock‘ - == 0) - -190  -sock‘_id - = 0; sock‘_id < -m­ --> -n_max_sock‘s -; socket_id++) { - -191 -ušt32_t - -pos - = -sock‘_id - * -m­ --> -n_max_cÜes_³r_sock‘ - * - -192 -m­ --> -n_max_ht_³r_cÜe -; - -194 ià( -m­ -->m­[ -pos -] == -1) - -197 -m­ --> -n_sock‘s -++; - -200 ià( -m­ --> -n_sock‘s - == 0) - -205  -sock‘_id - = 0; sock‘_id < -m­ --> -n_sock‘s -; socket_id++) { - -206  -cÜe_id - = 0; cÜe_id < -m­ --> -n_cÜes_³r_sock‘ -; core_id++) - -207  -ht_id - = 0; - -208 -ht_id - < -m­ --> -n_max_ht_³r_cÜe -; - -209 -ht_id -++) { - -210 -ušt32_t - -pos - = ( -sock‘_id - * - -211 -m­ --> -n_max_cÜes_³r_sock‘ - + -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  ; -cÜe_id - < -m­ --> -n_max_cÜes_³r_sock‘ -; core_id++) - -222  -ht_id - = 0; - -223 -ht_id - < -m­ --> -n_max_ht_³r_cÜe -; - -224 -ht_id -++) { - -225 -ušt32_t - -pos - = - `ýu_cÜe_m­_pos -( -m­ -, - -226 -sock‘_id -, - -227 -cÜe_id -, - -228 -ht_id -); - -230 ià( -m­ -->m­[ -pos -] != -1) - -236 - } -} - -238  - #FILE_LINUX_CPU_N_LCORES - \ - -239 "/sys/deviûs/sy¡em/ýu/´e£Á" - - ) - -242 - $ýu_cÜe_m­_g‘_n_lcÜes_lšux -() - -244  -bufãr -[64], * -¡ršg -; - -245 -FILE - * -fd -; - -247 -fd - = - `fݒ -( -FILE_LINUX_CPU_N_LCORES -, "r"); - -248 ià( -fd - =ð -NULL -) - -251 ià( - `fg‘s -( -bufãr -, (bufãr), -fd -è=ð -NULL -) { - -252 - `fþo£ -( -fd -); - -256 - `fþo£ -( -fd -); - -258 -¡ršg - = - `šdex -( -bufãr -, '-'); - -259 ià( -¡ršg - =ð -NULL -) - -262  - `©oi -(++ -¡ršg -) + 1; - -263 - } -} - -265  - #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‘_cÜe_id_lšux -( -lcÜe_id -) - -271  -bufãr -[64]; - -272 -FILE - * -fd -; - -273  -cÜe_id -; - -275 - `¢´štf -( -bufãr -, (bufãr), -FILE_LINUX_CPU_CORE_ID -, -lcÜe_id -); - -276 -fd - = - `fݒ -( -bufãr -, "r"); - -277 ià( -fd - =ð -NULL -) - -280 ià( - `fg‘s -( -bufãr -, (bufãr), -fd -è=ð -NULL -) { - -281 - `fþo£ -( -fd -); - -285 - `fþo£ -( -fd -); - -287 -cÜe_id - = - `©oi -( -bufãr -); - -288  -cÜe_id -; - -289 - } -} - -291  - #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‘_sock‘_id_lšux -( -lcÜe_id -) - -297  -bufãr -[64]; - -298 -FILE - * -fd -; - -299  -sock‘_id -; - -301 - `¢´štf -( -bufãr -, (bufãr), -FILE_LINUX_CPU_SOCKET_ID -, -lcÜe_id -); - -302 -fd - = - `fݒ -( -bufãr -, "r"); - -303 ià( -fd - =ð -NULL -) - -306 ià( - `fg‘s -( -bufãr -, (bufãr), -fd -è=ð -NULL -) { - -307 - `fþo£ -( -fd -); - -311 - `fþo£ -( -fd -); - -313 -sock‘_id - = - `©oi -( -bufãr -); - -314  -sock‘_id -; - -315 - } -} - -318 - $ýu_cÜe_m­_compu‹_lšux -( -ýu_cÜe_m­ - * -m­ -) - -320 -ušt32_t - -sock‘_id -, -cÜe_id -, -ht_id -; - -321  -n_lcÜes -; - -323 -n_lcÜes - = - `ýu_cÜe_m­_g‘_n_lcÜes_lšux -(); - -324 ià( -n_lcÜes - <= 0) - -328  -sock‘_id - = 0; sock‘_id < -m­ --> -n_max_sock‘s -; socket_id++) { - -329 -ušt32_t - -n_d‘eùed -, -cÜe_id_cÚtig -; - -330  -lcÜe_id -; - -332 -n_d‘eùed - = 0; - -333  -lcÜe_id - = 0;†cÜe_id < -n_lcÜes -;†core_id++) { - -334  -lcÜe_sock‘_id - = - -335 - `ýu_cÜe_m­_g‘_sock‘_id_lšux -( -lcÜe_id -); - -337 ià( -lcÜe_sock‘_id - < 0) - -340 ià((( -ušt32_t -è -lcÜe_sock‘_id -è=ð -sock‘_id -) - -341 -n_d‘eùed -++; - -344 -cÜe_id_cÚtig - = 0; - -346  -cÜe_id - = 0; -n_d‘eùed - ; core_id++) { - -347 -ht_id - = 0; - -349  -lcÜe_id - = 0;†cÜe_id < -n_lcÜes -;†core_id++) { - -350  -lcÜe_sock‘_id - = - -351 - `ýu_cÜe_m­_g‘_sock‘_id_lšux -( - -352 -lcÜe_id -); - -354 ià( -lcÜe_sock‘_id - < 0) - -357  -lcÜe_cÜe_id - = - -358 - `ýu_cÜe_m­_g‘_cÜe_id_lšux -( - -359 -lcÜe_id -); - -361 ià( -lcÜe_cÜe_id - < 0) - -364 ià((( -ušt32_t -è -lcÜe_sock‘_id - =ð -sock‘_id -) && - -365 (( -ušt32_t -è -lcÜe_cÜe_id - =ð -cÜe_id -)) { - -366 -ušt32_t - -pos - = - `ýu_cÜe_m­_pos -( -m­ -, - -367 -sock‘_id -, - -368 -cÜe_id_cÚtig -, - -369 -ht_id -); - -371 -m­ -->m­[ -pos -] = -lcÜe_id -; - -372 -ht_id -++; - -373 -n_d‘eù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‘ -) - -387 - } -} - -390 - $ýu_cÜe_m­_´št -( -ýu_cÜe_m­ - * -m­ -) - -392 -ušt32_t - -sock‘_id -, -cÜe_id -, -ht_id -; - -394 ià( -m­ - =ð -NULL -) - -397  -sock‘_id - = 0; sock‘_id < -m­ --> -n_sock‘s -; socket_id++) { - -398 - `´štf -("Sock‘ %" -PRIu32 - ":\n", -sock‘_id -); - -400  -cÜe_id - = 0; - -401 -cÜe_id - < -m­ --> -n_cÜes_³r_sock‘ -; - -402 -cÜe_id -++) { - -403 - `´štf -("[%" -PRIu32 - "] = [", -cÜe_id -); - -405  -ht_id - = 0; ht_id < -m­ --> -n_ht_³r_cÜe -; ht_id++) { - -406  -lcÜe_id - = - `ýu_cÜe_m­_g‘_lcÜe_id -( -m­ -, - -407 -sock‘_id -, - -408 -cÜe_id -, - -409 -ht_id -); - -411 -ušt32_t - -cÜe_id_nÚcÚtig - = - -412 - `ýu_cÜe_m­_g‘_cÜe_id_lšux -( - -413 -lcÜe_id -); - -415 - `´štf -(" %" -PRId32 - " (%" -PRIu32 - ") ", - -416 -lcÜe_id -, - -417 -cÜe_id_nÚcÚtig -); - -420 - `´štf -("]\n"); - -423 - } -} - -425 -ušt32_t - - -426 - $ýu_cÜe_m­_g‘_n_sock‘s -( -ýu_cÜe_m­ - * -m­ -) - -428 ià( -m­ - =ð -NULL -) - -431  -m­ --> -n_sock‘s -; - -432 - } -} - -434 -ušt32_t - - -435 - $ýu_cÜe_m­_g‘_n_cÜes_³r_sock‘ -( -ýu_cÜe_m­ - * -m­ -) - -437 ià( -m­ - =ð -NULL -) - -440  -m­ --> -n_cÜes_³r_sock‘ -; - -441 - } -} - -443 -ušt32_t - - -444 - $ýu_cÜe_m­_g‘_n_ht_³r_cÜe -( -ýu_cÜe_m­ - * -m­ -) - -446 ià( -m­ - =ð -NULL -) - -449  -m­ --> -n_ht_³r_cÜe -; - -450 - } -} - -453 - $ýu_cÜe_m­_g‘_lcÜe_id -( -ýu_cÜe_m­ - * -m­ -, - -454 -ušt32_t - -sock‘_id -, - -455 -ušt32_t - -cÜe_id -, - -456 -ušt32_t - -ht_id -) - -458 -ušt32_t - -pos -; - -460 ià(( -m­ - =ð -NULL -) || - -461 ( -sock‘_id - >ð -m­ --> -n_sock‘s -) || - -462 ( -cÜe_id - >ð -m­ --> -n_cÜes_³r_sock‘ -) || - -463 ( -ht_id - >ð -m­ --> -n_ht_³r_cÜe -)) - -466 -pos - = - `ýu_cÜe_m­_pos -( -m­ -, -sock‘_id -, -cÜe_id -, -ht_id -); - -468  -m­ -->m­[ -pos -]; - -469 - } -} - -472 - $ýu_cÜe_m­_ä“ -( -ýu_cÜe_m­ - * -m­ -) - -474 - `ä“ -( -m­ -); - -475 - } -} - - @vnf_common/cpu_core_map.h - -17 #iâdeà -__INCLUDE_CPU_CORE_MAP_H__ - - -18  - #__INCLUDE_CPU_CORE_MAP_H__ - - - ) - -20  - ~<¡dio.h -> - -22  - ~<¹e_lcÜe.h -> - -24  - gýu_cÜe_m­ -; - -26  -ýu_cÜe_m­ - * - -27 -ýu_cÜe_m­_š™ -( -ušt32_t - -n_max_sock‘s -, - -28 -ušt32_t - -n_max_cÜes_³r_sock‘ -, - -29 -ušt32_t - -n_max_ht_³r_cÜe -, - -30 -ušt32_t - -—l_š™Ÿlized -); - -32 -ušt32_t - - -33 -ýu_cÜe_m­_g‘_n_sock‘s -( -ýu_cÜe_m­ - * -m­ -); - -35 -ušt32_t - - -36 -ýu_cÜe_m­_g‘_n_cÜes_³r_sock‘ -( -ýu_cÜe_m­ - * -m­ -); - -38 -ušt32_t - - -39 -ýu_cÜe_m­_g‘_n_ht_³r_cÜe -( -ýu_cÜe_m­ - * -m­ -); - -42 -ýu_cÜe_m­_g‘_lcÜe_id -( -ýu_cÜe_m­ - * -m­ -, - -43 -ušt32_t - -sock‘_id -, - -44 -ušt32_t - -cÜe_id -, - -45 -ušt32_t - -ht_id -); - -47  -ýu_cÜe_m­_´št -( -ýu_cÜe_m­ - * -m­ -); - -50 -ýu_cÜe_m­_ä“ -( -ýu_cÜe_m­ - * -m­ -); - - @vnf_common/hash_func.h - -16 #iâdeà -__INCLUDE_HASH_FUNC_H__ - - -17  - #__INCLUDE_HASH_FUNC_H__ - - - ) - -19  -šlše - -ušt64_t - - -20 - $hash_xÜ_key8 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -22 -ušt64_t - * -k - = -key -; - -23 -ušt64_t - -xÜ0 -; - -25 -xÜ0 - = -£ed - ^ -k -[0]; - -27  ( -xÜ0 - >> 32) ^ xor0; - -28 - } -} - -30  -šlše - -ušt64_t - - -31 - $hash_xÜ_key16 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -33 -ušt64_t - * -k - = -key -; - -34 -ušt64_t - -xÜ0 -; - -36 -xÜ0 - = ( -k -[0] ^ -£ed -) ^ k[1]; - -38  ( -xÜ0 - >> 32) ^ xor0; - -39 - } -} - -41  -šlše - -ušt64_t - - -42 - $hash_xÜ_key24 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -44 -ušt64_t - * -k - = -key -; - -45 -ušt64_t - -xÜ0 -; - -47 -xÜ0 - = ( -k -[0] ^ -£ed -) ^ k[1]; - -49 -xÜ0 - ^ð -k -[2]; - -51  ( -xÜ0 - >> 32) ^ xor0; - -52 - } -} - -54  -šlše - -ušt64_t - - -55 - $hash_xÜ_key32 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -57 -ušt64_t - * -k - = -key -; - -58 -ušt64_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  ( -xÜ0 - >> 32) ^ xor0; - -66 - } -} - -68  -šlše - -ušt64_t - - -69 - $hash_xÜ_key40 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -71 -ušt64_t - * -k - = -key -; - -72 -ušt64_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  ( -xÜ0 - >> 32) ^ xor0; - -82 - } -} - -84  -šlše - -ušt64_t - - -85 - $hash_xÜ_key48 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -87 -ušt64_t - * -k - = -key -; - -88 -ušt64_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  ( -xÜ0 - >> 32) ^ xor0; - -99 - } -} - -101  -šlše - -ušt64_t - - -102 - $hash_xÜ_key56 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -104 -ušt64_t - * -k - = -key -; - -105 -ušt64_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  ( -xÜ0 - >> 32) ^ xor0; - -117 - } -} - -119  -šlše - -ušt64_t - - -120 - $hash_xÜ_key64 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -122 -ušt64_t - * -k - = -key -; - -123 -ušt64_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  ( -xÜ0 - >> 32) ^ xor0; - -136 - } -} - -138 #ià -defšed -( -RTE_ARCH_X86_64 -è&& defšed( -RTE_MACHINE_CPUFLAG_SSE4_2 -) - -140  - ~ - -142  -šlše - -ušt64_t - - -143 - $hash_üc_key8 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -145 -ušt64_t - * -k - = -key -; - -146 -ušt64_t - -üc0 -; - -148 -üc0 - = - `_mm_üc32_u64 -( -£ed -, -k -[0]); - -150  -üc0 -; - -151 - } -} - -153  -šlše - -ušt64_t - - -154 - $hash_üc_key16 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -156 -ušt64_t - * -k - = -key -; - -157 -ušt64_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  -üc0 -; - -167 - } -} - -169  -šlše - -ušt64_t - - -170 - $hash_üc_key24 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -172 -ušt64_t - * -k - = -key -; - -173 -ušt64_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  -üc0 -; - -186 - } -} - -188  -šlše - -ušt64_t - - -189 - $hash_üc_key32 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -191 -ušt64_t - * -k - = -key -; - -192 -ušt64_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  -üc0 -; - -209 - } -} - -211  -šlše - -ušt64_t - - -212 - $hash_üc_key40 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -214 -ušt64_t - * -k - = -key -; - -215 -ušt64_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  -üc0 -; - -232 - } -} - -234  -šlše - -ušt64_t - - -235 - $hash_üc_key48 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -237 -ušt64_t - * -k - = -key -; - -238 -ušt64_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  -üc0 -; - -256 - } -} - -258  -šlše - -ušt64_t - - -259 - $hash_üc_key56 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -261 -ušt64_t - * -k - = -key -; - -262 -ušt64_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  -üc0 -; - -283 - } -} - -285  -šlše - -ušt64_t - - -286 - $hash_üc_key64 -(* -key -, -__¹e_unu£d - -ušt32_t - -key_size -, -ušt64_t - -£ed -) - -288 -ušt64_t - * -k - = -key -; - -289 -ušt64_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  -üc0 -; - -310 - } -} - -312  - #hash_deçuÉ_key8 - -hash_üc_key8 - - - ) - -313  - #hash_deçuÉ_key16 - -hash_üc_key16 - - - ) - -314  - #hash_deçuÉ_key24 - -hash_üc_key24 - - - ) - -315  - #hash_deçuÉ_key32 - -hash_üc_key32 - - - ) - -316  - #hash_deçuÉ_key40 - -hash_üc_key40 - - - ) - -317  - #hash_deçuÉ_key48 - -hash_üc_key48 - - - ) - -318  - #hash_deçuÉ_key56 - -hash_üc_key56 - - - ) - -319  - #hash_deçuÉ_key64 - -hash_üc_key64 - - - ) - -323  - #hash_deçuÉ_key8 - -hash_xÜ_key8 - - - ) - -324  - #hash_deçuÉ_key16 - -hash_xÜ_key16 - - - ) - -325  - #hash_deçuÉ_key24 - -hash_xÜ_key24 - - - ) - -326  - #hash_deçuÉ_key32 - -hash_xÜ_key32 - - - ) - -327  - #hash_deçuÉ_key40 - -hash_xÜ_key40 - - - ) - -328  - #hash_deçuÉ_key48 - -hash_xÜ_key48 - - - ) - -329  - #hash_deçuÉ_key56 - -hash_xÜ_key56 - - - ) - -330  - #hash_deçuÉ_key64 - -hash_xÜ_key64 - - - ) - - @vnf_common/parser.h - -17 #iâdeà -__INCLUDE_PARSER_H__ - - -18  - #__INCLUDE_PARSER_H__ - - - ) - -21 -·r£r_»ad_¬g_boÞ -(cÚ¡ * -p -); - -24 -·r£r_»ad_ušt64 -( -ušt64_t - * -v®ue -, cÚ¡ * -p -); - -27 -·r£r_»ad_ušt32 -( -ušt32_t - * -v®ue -, cÚ¡ * -p -); - -30 -·r£_hex_¡ršg -(* -¤c -, -ušt8_t - * -d¡ -, -ušt32_t - * -size -); - - @vnf_common/pipeline.h - -17 #iâdeà -__INCLUDE_PIPELINE_H__ - - -18  - #__INCLUDE_PIPELINE_H__ - - - ) - -20  - ~ - -22  - ~"p–še_be.h -" - -28 * (* - tp–še_ã_Ý_š™ -)( - tp–še_·¿ms - * - t·¿ms -, * - t¬g -); - -30 (* - tp–še_ã_Ý_ä“ -)(* - tp–še -); - -32  - sp–še_ã_Ýs - { - -33 -p–še_ã_Ý_š™ - -f_š™ -; - -34 -p–še_ã_Ý_ä“ - -f_ä“ -; - -35 -cmdlše_·r£_ùx_t - * -cmds -; - -42  - sp–še_ty³ - { - -43 cÚ¡ * -Çme -; - -46  -p–še_be_Ýs - * -be_Ýs -; - -49  -p–še_ã_Ýs - * -ã_Ýs -; - -52  -šlše - -ušt32_t - - -53 - $p–še_ty³_cmds_couÁ -( -p–še_ty³ - * -±y³ -) - -55 -cmdlše_·r£_ùx_t - * -cmds -; - -56 -ušt32_t - -n_cmds -; - -58 ià( -±y³ --> -ã_Ýs - =ð -NULL -) - -61 -cmds - = -±y³ --> -ã_Ýs -->cmds; - -62 ià( -cmds - =ð -NULL -) - -65  -n_cmds - = 0; -cmds -[n_cmds];‚_cmds++); - -67  -n_cmds -; - -68 - } -} - -71 -·r£_p–še_cÜe -( -ušt32_t - * -sock‘ -, - -72 -ušt32_t - * -cÜe -, - -73 -ušt32_t - * -ht -, - -74 cÚ¡ * -’Œy -); - - @vnf_common/pipeline_actions_common.h - -16 #iâdeà -__INCLUDE_PIPELINE_ACTIONS_COMMON_H__ - - -17  - #__INCLUDE_PIPELINE_ACTIONS_COMMON_H__ - - - ) - -19  - ~<¡dšt.h -> - -21  - ~<¹e_commÚ.h -> - -22  - ~<¹e_cyþes.h -> - -23  - ~<¹e_mbuf.h -> - -24  - ~<¹e_p–še.h -> - -26  - #PIPELINE_PORT_IN_AH -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -28 - `f_ah -( \ - -29 -__¹e_unu£d -  -¹e_p–še - * -p -, \ - -30  -¹e_mbuf - ** -pkts -, \ - -31 -ušt32_t - -n_pkts -, \ - -32 * -¬g -) \ - -34 -ušt32_t - -i -; \ - -36  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) \ - -37 - `f_pkt4_wÜk -(& -pkts -[ -i -], -¬g -); \ - -39  ; -i - < -n_pkts -; i++) \ - -40 - `f_pkt_wÜk -( -pkts -[ -i -], -¬g -); \ - -43 } - - ) - -45  - #PIPELINE_PORT_IN_AH_HIJACK_ALL -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -47 - `f_ah -( \ - -48  -¹e_p–še - * -p -, \ - -49  -¹e_mbuf - ** -pkts -, \ - -50 -ušt32_t - -n_pkts -, \ - -51 * -¬g -) \ - -53 -ušt64_t - -pkt_mask - = - `RTE_LEN2MASK -( -n_pkts -, uint64_t); \ - -54 -ušt32_t - -i -; \ - -56 - `¹e_p–še_ah_·ck‘_hijack -( -p -, -pkt_mask -); \ - -58  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) \ - -59 - `f_pkt4_wÜk -(& -pkts -[ -i -], -¬g -); \ - -61  ; -i - < -n_pkts -; i++) \ - -62 - `f_pkt_wÜk -( -pkts -[ -i -], -¬g -); \ - -65 } - - ) - -67  - #PIPELINE_TABLE_AH_HIT -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -69 - `f_ah -( \ - -70 -__¹e_unu£d -  -¹e_p–še - * -p -, \ - -71  -¹e_mbuf - ** -pkts -, \ - -72 -ušt64_t - -pkts_š_mask -, \ - -73  -¹e_p–še_bË_’Œy - ** -’Œ›s -, \ - -74 * -¬g -) \ - -76 ià(( -pkts_š_mask - & (pkts_in_mask + 1)) == 0) { \ - -77 -ušt64_t - -n_pkts - = - `__bužtš_pÝcouÁÎ -( -pkts_š_mask -); \ - -78 -ušt32_t - -i -; \ - -80  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) \ - -81 - `f_pkt4_wÜk -(& -pkts -[ -i -], & -’Œ›s -[i], -¬g -); \ - -83  ; -i - < -n_pkts -; i++) \ - -84 - `f_pkt_wÜk -( -pkts -[ -i -], -’Œ›s -[i], -¬g -); \ - -86  ; -pkts_š_mask -; ) { \ - -87 -ušt32_t - -pos - = - `__bužtš_ùzÎ -( -pkts_š_mask -); \ - -88 -ušt64_t - -pkt_mask - = 1LLU << -pos -; \ - -90 -pkts_š_mask - &ð~ -pkt_mask -; \ - -91 - `f_pkt_wÜk -( -pkts -[ -pos -], -’Œ›s -[pos], -¬g -); \ - -95 } - - ) - -97  - #PIPELINE_TABLE_AH_MISS -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -99 - `f_ah -( \ - -100 -__¹e_unu£d -  -¹e_p–še - * -p -, \ - -101  -¹e_mbuf - ** -pkts -, \ - -102 -ušt64_t - -pkts_š_mask -, \ - -103  -¹e_p–še_bË_’Œy - * -’Œy -, \ - -104 * -¬g -) \ - -106 ià(( -pkts_š_mask - & (pkts_in_mask + 1)) == 0) { \ - -107 -ušt64_t - -n_pkts - = - `__bužtš_pÝcouÁÎ -( -pkts_š_mask -); \ - -108 -ušt32_t - -i -; \ - -110  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) \ - -111 - `f_pkt4_wÜk -(& -pkts -[ -i -], -’Œy -, -¬g -); \ - -113  ; -i - < -n_pkts -; i++) \ - -114 - `f_pkt_wÜk -( -pkts -[ -i -], -’Œy -, -¬g -); \ - -116  ; -pkts_š_mask -; ) { \ - -117 -ušt32_t - -pos - = - `__bužtš_ùzÎ -( -pkts_š_mask -); \ - -118 -ušt64_t - -pkt_mask - = 1LLU << -pos -; \ - -120 -pkts_š_mask - &ð~ -pkt_mask -; \ - -121 - `f_pkt_wÜk -( -pkts -[ -pos -], -’Œy -, -¬g -); \ - -125 } - - ) - -127  - #PIPELINE_TABLE_AH_HIT_DROP_TIME -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -129 - `f_ah -( \ - -130  -¹e_p–še - * -p -, \ - -131  -¹e_mbuf - ** -pkts -, \ - -132 -ušt64_t - -pkts_mask -, \ - -133  -¹e_p–še_bË_’Œy - ** -’Œ›s -, \ - -134 * -¬g -) \ - -136 -ušt64_t - -pkts_š_mask - = -pkts_mask -; \ - -137 -ušt64_t - -pkts_out_mask - = -pkts_mask -; \ - -138 -ušt64_t - -time - = - `¹e_rdtsc -(); \ - -140 ià(( -pkts_š_mask - & (pkts_in_mask + 1)) == 0) { \ - -141 -ušt64_t - -n_pkts - = - `__bužtš_pÝcouÁÎ -( -pkts_š_mask -); \ - -142 -ušt32_t - -i -; \ - -144  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) { \ - -145 -ušt64_t - -mask - = - `f_pkt4_wÜk -(& -pkts -[ -i -], \ - -146 & -’Œ›s -[ -i -], -¬g -, -time -); \ - -147 -pkts_out_mask - ^ð -mask - << -i -; \ - -150  ; -i - < -n_pkts -; i++) { \ - -151 -ušt64_t - -mask - = - `f_pkt_wÜk -( -pkts -[ -i -], \ - -152 -’Œ›s -[ -i -], -¬g -, -time -); \ - -153 -pkts_out_mask - ^ð -mask - << -i -; \ - -156  ; -pkts_š_mask -; ) { \ - -157 -ušt32_t - -pos - = - `__bužtš_ùzÎ -( -pkts_š_mask -); \ - -158 -ušt64_t - -pkt_mask - = 1LLU << -pos -; \ - -159 -ušt64_t - -mask - = - `f_pkt_wÜk -( -pkts -[ -pos -], \ - -160 -’Œ›s -[ -pos -], -¬g -, -time -); \ - -162 -pkts_š_mask - &ð~ -pkt_mask -; \ - -163 -pkts_out_mask - ^ð -mask - << -pos -; \ - -166 - `¹e_p–še_ah_·ck‘_drÝ -( -p -, -pkts_out_mask - ^ -pkts_mask -); \ - -169 } - - ) - -171  - #PIPELINE_TABLE_AH_MISS_DROP_TIME -( -f_ah -, -f_pkt_wÜk -, -f_pkt4_wÜk -) \ - -173 - `f_ah -( \ - -174  -¹e_p–še - * -p -, \ - -175  -¹e_mbuf - ** -pkts -, \ - -176 -ušt64_t - -pkts_mask -, \ - -177  -¹e_p–še_bË_’Œy - * -’Œy -, \ - -178 * -¬g -) \ - -180 -ušt64_t - -pkts_š_mask - = -pkts_mask -; \ - -181 -ušt64_t - -pkts_out_mask - = -pkts_mask -; \ - -182 -ušt64_t - -time - = - `¹e_rdtsc -(); \ - -184 ià(( -pkts_š_mask - & (pkts_in_mask + 1)) == 0) { \ - -185 -ušt64_t - -n_pkts - = - `__bužtš_pÝcouÁÎ -( -pkts_š_mask -); \ - -186 -ušt32_t - -i -; \ - -188  -i - = 0; i < ( -n_pkts - & (~0x3LLU)); i += 4) { \ - -189 -ušt64_t - -mask - = - `f_pkt4_wÜk -(& -pkts -[ -i -], \ - -190 -’Œy -, -¬g -, -time -); \ - -191 -pkts_out_mask - ^ð -mask - << -i -; \ - -194  ; -i - < -n_pkts -; i++) { \ - -195 -ušt64_t - -mask - = - `f_pkt_wÜk -( -pkts -[ -i -], -’Œy -, -¬g -, -time -);\ - -196 -pkts_out_mask - ^ð -mask - << -i -; \ - -199  ; -pkts_š_mask -; ) { \ - -200 -ušt32_t - -pos - = - `__bužtš_ùzÎ -( -pkts_š_mask -); \ - -201 -ušt64_t - -pkt_mask - = 1LLU << -pos -; \ - -202 -ušt64_t - -mask - = - `f_pkt_wÜk -( -pkts -[ -pos -], \ - -203 -’Œy -, -¬g -, -time -); \ - -205 -pkts_š_mask - &ð~ -pkt_mask -; \ - -206 -pkts_out_mask - ^ð -mask - << -pos -; \ - -209 - `¹e_p–še_ah_·ck‘_drÝ -( -p -, -pkts_out_mask - ^ -pkts_mask -); \ - -212 } - - ) - - @vnf_common/pipeline_be.h - -17 #iâdeà -__INCLUDE_PIPELINE_BE_H__ - - -18  - #__INCLUDE_PIPELINE_BE_H__ - - - ) - -20  - ~<¹e_pÜt_‘hdev.h -> - -21  - ~<¹e_pÜt_ršg.h -> - -22  - ~<¹e_pÜt_äag.h -> - -23  - ~<¹e_pÜt_¿s.h -> - -24  - ~<¹e_pÜt_sched.h -> - -25  - ~<¹e_pÜt_sourû_sšk.h -> - -26  - ~<¹e_p–še.h -> - -28 - ep–še_pÜt_š_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  - sp–še_pÜt_š_·¿ms - { - -39 -p–še_pÜt_š_ty³ - - mty³ -; - -41  -¹e_pÜt_‘hdev_»ad”_·¿ms - - m‘hdev -; - -42  -¹e_pÜt_ršg_»ad”_·¿ms - - mršg -; - -43  -¹e_pÜt_ršg_muÉi_»ad”_·¿ms - - mršg_muÉi -; - -44  -¹e_pÜt_ršg_»ad”_v4_äag_·¿ms - - mršg_v4_äag -; - -45  -¹e_pÜt_ršg_»ad”_v6_äag_·¿ms - - mršg_v6_äag -; - -46  -¹e_pÜt_sched_»ad”_·¿ms - - msched -; - -47  -¹e_pÜt_sourû_·¿ms - - msourû -; - -48 } - m·¿ms -; - -49 -ušt32_t - - mbur¡_size -; - -52  -šlše - * - -53 - $p–še_pÜt_š_·¿ms_cÚv”t -( -p–še_pÜt_š_·¿ms - * -p -) - -55  -p --> -ty³ -) { - -56  -PIPELINE_PORT_IN_ETHDEV_READER -: - -57  (*è& -p --> -·¿ms -. -‘hdev -; - -58  -PIPELINE_PORT_IN_RING_READER -: - -59  (*è& -p --> -·¿ms -. -ršg -; - -60  -PIPELINE_PORT_IN_RING_MULTI_READER -: - -61  (*è& -p --> -·¿ms -. -ršg_muÉi -; - -62  -PIPELINE_PORT_IN_RING_READER_IPV4_FRAG -: - -63  (*è& -p --> -·¿ms -. -ršg_v4_äag -; - -64  -PIPELINE_PORT_IN_RING_READER_IPV6_FRAG -: - -65  (*è& -p --> -·¿ms -. -ršg_v6_äag -; - -66  -PIPELINE_PORT_IN_SCHED_READER -: - -67  (*è& -p --> -·¿ms -. -sched -; - -68  -PIPELINE_PORT_IN_SOURCE -: - -69  (*è& -p --> -·¿ms -. -sourû -; - -71  -NULL -; - -73 - } -} - -75  -šlše -  -¹e_pÜt_š_Ýs - * - -76 - $p–še_pÜt_š_·¿ms_g‘_Ýs -( -p–še_pÜt_š_·¿ms - * -p -) - -78  -p --> -ty³ -) { - -79  -PIPELINE_PORT_IN_ETHDEV_READER -: - -80  & -¹e_pÜt_‘hdev_»ad”_Ýs -; - -81  -PIPELINE_PORT_IN_RING_READER -: - -82  & -¹e_pÜt_ršg_»ad”_Ýs -; - -83  -PIPELINE_PORT_IN_RING_MULTI_READER -: - -84  & -¹e_pÜt_ršg_muÉi_»ad”_Ýs -; - -85  -PIPELINE_PORT_IN_RING_READER_IPV4_FRAG -: - -86  & -¹e_pÜt_ršg_»ad”_v4_äag_Ýs -; - -87  -PIPELINE_PORT_IN_RING_READER_IPV6_FRAG -: - -88  & -¹e_pÜt_ršg_»ad”_v6_äag_Ýs -; - -89  -PIPELINE_PORT_IN_SCHED_READER -: - -90  & -¹e_pÜt_sched_»ad”_Ýs -; - -91  -PIPELINE_PORT_IN_SOURCE -: - -92  & -¹e_pÜt_sourû_Ýs -; - -94  -NULL -; - -96 - } -} - -98 - ep–še_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  - sp–še_pÜt_out_·¿ms - { - -112 -p–še_pÜt_out_ty³ - - mty³ -; - -114  -¹e_pÜt_‘hdev_wr™”_·¿ms - - m‘hdev -; - -115  -¹e_pÜt_‘hdev_wr™”_nodrÝ_·¿ms - - m‘hdev_nodrÝ -; - -116  -¹e_pÜt_ršg_wr™”_·¿ms - - mršg -; - -117  -¹e_pÜt_ršg_muÉi_wr™”_·¿ms - - mršg_muÉi -; - -118  -¹e_pÜt_ršg_wr™”_nodrÝ_·¿ms - - mršg_nodrÝ -; - -119  -¹e_pÜt_ršg_muÉi_wr™”_nodrÝ_·¿ms - - mršg_muÉi_nodrÝ -; - -120  -¹e_pÜt_ršg_wr™”_v4_¿s_·¿ms - - mršg_v4_¿s -; - -121  -¹e_pÜt_ršg_wr™”_v6_¿s_·¿ms - - mršg_v6_¿s -; - -122  -¹e_pÜt_sched_wr™”_·¿ms - - msched -; - -123  -¹e_pÜt_sšk_·¿ms - - msšk -; - -124 } - m·¿ms -; - -127  -šlše - * - -128 - $p–še_pÜt_out_·¿ms_cÚv”t -( -p–še_pÜt_out_·¿ms - * -p -) - -130  -p --> -ty³ -) { - -131  -PIPELINE_PORT_OUT_ETHDEV_WRITER -: - -132  (*è& -p --> -·¿ms -. -‘hdev -; - -133  -PIPELINE_PORT_OUT_ETHDEV_WRITER_NODROP -: - -134  (*è& -p --> -·¿ms -. -‘hdev_nodrÝ -; - -135  -PIPELINE_PORT_OUT_RING_WRITER -: - -136  (*è& -p --> -·¿ms -. -ršg -; - -137  -PIPELINE_PORT_OUT_RING_MULTI_WRITER -: - -138  (*è& -p --> -·¿ms -. -ršg_muÉi -; - -139  -PIPELINE_PORT_OUT_RING_WRITER_NODROP -: - -140  (*è& -p --> -·¿ms -. -ršg_nodrÝ -; - -141  -PIPELINE_PORT_OUT_RING_MULTI_WRITER_NODROP -: - -142  (*è& -p --> -·¿ms -. -ršg_muÉi_nodrÝ -; - -143  -PIPELINE_PORT_OUT_RING_WRITER_IPV4_RAS -: - -144  (*è& -p --> -·¿ms -. -ršg_v4_¿s -; - -145  -PIPELINE_PORT_OUT_RING_WRITER_IPV6_RAS -: - -146  (*è& -p --> -·¿ms -. -ršg_v6_¿s -; - -147  -PIPELINE_PORT_OUT_SCHED_WRITER -: - -148  (*è& -p --> -·¿ms -. -sched -; - -149  -PIPELINE_PORT_OUT_SINK -: - -150  (*è& -p --> -·¿ms -. -sšk -; - -152  -NULL -; - -154 - } -} - -156  -šlše - * - -157 - $p–še_pÜt_out_·¿ms_g‘_Ýs -( -p–še_pÜt_out_·¿ms - * -p -) - -159  -p --> -ty³ -) { - -160  -PIPELINE_PORT_OUT_ETHDEV_WRITER -: - -161  & -¹e_pÜt_‘hdev_wr™”_Ýs -; - -162  -PIPELINE_PORT_OUT_ETHDEV_WRITER_NODROP -: - -163  & -¹e_pÜt_‘hdev_wr™”_nodrÝ_Ýs -; - -164  -PIPELINE_PORT_OUT_RING_WRITER -: - -165  & -¹e_pÜt_ršg_wr™”_Ýs -; - -166  -PIPELINE_PORT_OUT_RING_MULTI_WRITER -: - -167  & -¹e_pÜt_ršg_muÉi_wr™”_Ýs -; - -168  -PIPELINE_PORT_OUT_RING_WRITER_NODROP -: - -169  & -¹e_pÜt_ršg_wr™”_nodrÝ_Ýs -; - -170  -PIPELINE_PORT_OUT_RING_MULTI_WRITER_NODROP -: - -171  & -¹e_pÜt_ršg_muÉi_wr™”_nodrÝ_Ýs -; - -172  -PIPELINE_PORT_OUT_RING_WRITER_IPV4_RAS -: - -173  & -¹e_pÜt_ršg_wr™”_v4_¿s_Ýs -; - -174  -PIPELINE_PORT_OUT_RING_WRITER_IPV6_RAS -: - -175  & -¹e_pÜt_ršg_wr™”_v6_¿s_Ýs -; - -176  -PIPELINE_PORT_OUT_SCHED_WRITER -: - -177  & -¹e_pÜt_sched_wr™”_Ýs -; - -178  -PIPELINE_PORT_OUT_SINK -: - -179  & -¹e_pÜt_sšk_Ýs -; - -181  -NULL -; - -183 - } -} - -185 #iâdeà -PIPELINE_NAME_SIZE - - -186  - #PIPELINE_NAME_SIZE - 64 - - ) - -189 #iâdeà -PIPELINE_MAX_PORT_IN - - -190  - #PIPELINE_MAX_PORT_IN - 64 - - ) - -193 #iâdeà -PIPELINE_MAX_PORT_OUT - - -194  - #PIPELINE_MAX_PORT_OUT - 64 - - ) - -197 #iâdeà -PIPELINE_MAX_TABLES - - -198  - #PIPELINE_MAX_TABLES - 64 - - ) - -201 #iâdeà -PIPELINE_MAX_MSGQ_IN - - -202  - #PIPELINE_MAX_MSGQ_IN - 64 - - ) - -205 #iâdeà -PIPELINE_MAX_MSGQ_OUT - - -206  - #PIPELINE_MAX_MSGQ_OUT - 64 - - ) - -209 #iâdeà -PIPELINE_MAX_ARGS - - -210  - #PIPELINE_MAX_ARGS - 64 - - ) - -213  - sp–še_·¿ms - { - -214  - mÇme -[ -PIPELINE_NAME_SIZE -]; - -216  -p–še_pÜt_š_·¿ms - - mpÜt_š -[ -PIPELINE_MAX_PORT_IN -]; - -217  -p–še_pÜt_out_·¿ms - - mpÜt_out -[ -PIPELINE_MAX_PORT_OUT -]; - -218  -¹e_ršg - * - mmsgq_š -[ -PIPELINE_MAX_MSGQ_IN -]; - -219  -¹e_ršg - * - mmsgq_out -[ -PIPELINE_MAX_MSGQ_OUT -]; - -221 -ušt32_t - - mn_pÜts_š -; - -222 -ušt32_t - - mn_pÜts_out -; - -223 -ušt32_t - - mn_msgq -; - -225  - msock‘_id -; - -227 * - m¬gs_Çme -[ -PIPELINE_MAX_ARGS -]; - -228 * - m¬gs_v®ue -[ -PIPELINE_MAX_ARGS -]; - -229 -ušt32_t - - mn_¬gs -; - -231 -ušt32_t - - mlog_Ëv– -; - -238 * (* - tp–še_be_Ý_š™ -)( - tp–še_·¿ms - * - t·¿ms -, - -239 * - t¬g -); - -241 (* - tp–še_be_Ý_ä“ -)(* - tp–še -); - -243 (* - tp–še_be_Ý_run -)(* - tp–še -); - -245 (* - tp–še_be_Ý_tim” -)(* - tp–še -); - -247 (* - tp–še_be_Ý_Œack -)(* - tp–še -, - -248 - tušt32_t - - tpÜt_š -, - -249 - tušt32_t - * - tpÜt_out -); - -251  - sp–še_be_Ýs - { - -252 -p–še_be_Ý_š™ - -f_š™ -; - -253 -p–še_be_Ý_ä“ - -f_ä“ -; - -254 -p–še_be_Ý_run - -f_run -; - -255 -p–še_be_Ý_tim” - -f_tim” -; - -256 -p–še_be_Ý_Œack - -f_Œack -; - -260  - #PIPELINE_ARG_CHECK -( -exp -, -fmt -, ...) \ - -262 ià(!( -exp -)) { \ - -263 - `årštf -( -¡d”r -, -fmt - "\n", ## -__VA_ARGS__ -); \ - -266 - } -} 0) - - ) - -268  - #PIPELINE_PARSE_ERR_INV_VAL -( -exp -, -£ùiÚ -, -’Œy -, -v® -) \ - -269 - `PIPELINE_ARG_CHECK -( -exp -, "Parseƒrror in section \"%s\":ƒntry \"%s\" " \ - -270 "ha šv®id v®u(\"%s\")", -£ùiÚ -, -’Œy -, -v® -) - - ) - -272  - #PIPELINE_PARSE_ERR_OUT_RNG -( -exp -, -£ùiÚ -, -’Œy -, -v® -) \ - -273 - `PIPELINE_ARG_CHECK -( -exp -, "Parseƒrror in section \"%s\":ƒntry \"%s\" " \ - -274 "v®ui ouˆoà¿ng(\"%s\")", -£ùiÚ -, -’Œy -, -v® -) - - ) - -276  - #PIPELINE_PARSE_ERR_DUPLICATE -( -exp -, -£ùiÚ -, -’Œy -) \ - -277 - `PIPELINE_ARG_CHECK -( -exp -, "Parseƒrror in section \"%s\": duplicated " \ - -278 "’Œy \"%s\"", -£ùiÚ -, -’Œy -) - - ) - -280  - #PIPELINE_PARSE_ERR_INV_ENT -( -exp -, -£ùiÚ -, -’Œy -) \ - -281 - `PIPELINE_ARG_CHECK -( -exp -, "Parseƒrror in section \"%s\": invalidƒntry " \ - -282 "\"%s\"", -£ùiÚ -, -’Œy -) - - ) - -284  - #PIPELINE_PARSE_ERR_MANDATORY -( -exp -, -£ùiÚ -, -’Œy -) \ - -285 - `PIPELINE_ARG_CHECK -( -exp -, "Parseƒrror in section \"%s\": mandatory " \ - -286 "’Œy \"%s\" i missšg", -£ùiÚ -, -’Œy -) - - ) - - @vnf_common/thread.c - -17  - ~<¹e_commÚ.h -> - -18  - ~<¹e_cyþes.h -> - -19  - ~<¹e_p–še.h -> - -21  - ~"p–še_commÚ_be.h -" - -22  - ~"­p.h -" - -23  - ~"th»ad.h -" - -25 #ià -APP_THREAD_HEADROOM_STATS_COLLECT - - -27  - #PIPELINE_RUN_REGULAR -( -th»ad -, -p–še -) \ - -29 -ušt64_t - -t0 - = - `¹e_rdtsc_´eci£ -(); \ - -30  -n_pkts - = - `¹e_p–še_run -( -p–še --> -p -); \ - -32 ià( -n_pkts - == 0) { \ - -33 -ušt64_t - -t1 - = - `¹e_rdtsc_´eci£ -(); \ - -35 -th»ad --> -h—droom_cyþes - +ð -t1 - - -t0 -; \ - -37 } 0) - - ) - -40  - #PIPELINE_RUN_CUSTOM -( -th»ad -, -d©a -) \ - -42 -ušt64_t - -t0 - = - `¹e_rdtsc_´eci£ -(); \ - -43  -n_pkts - = -d©a --> - `f_run -(d©a-> -be -); \ - -45 ià( -n_pkts - == 0) { \ - -46 -ušt64_t - -t1 - = - `¹e_rdtsc_´eci£ -(); \ - -48 -th»ad --> -h—droom_cyþes - +ð -t1 - - -t0 -; \ - -50 } 0) - - ) - -54  - #PIPELINE_RUN_REGULAR -( -th»ad -, -p–še -) \ - -55 - `¹e_p–še_run -( -p–še --> -p -) - - ) - -57  - #PIPELINE_RUN_CUSTOM -( -th»ad -, -d©a -) \ - -58 -d©a --> - `f_run -(d©a-> -be -) - - ) - -62  -šlše - * - -63 - $th»ad_msg_»cv -( -¹e_ršg - * -r -) - -65 * -msg -; - -66  -¡©us - = - `¹e_ršg_sc_dequeue -( -r -, & -msg -); - -68 ià( -¡©us - != 0) - -69  -NULL -; - -71  -msg -; - -72 - } -} - -74  -šlše -  - -75 - $th»ad_msg_£nd -( -¹e_ršg - * -r -, - -76 * -msg -) - -78  -¡©us -; - -81 -¡©us - = - `¹e_ršg_¥_’queue -( -r -, -msg -); - -82 }  -¡©us - =ð- -ENOBUFS -); - -83 - } -} - -86 - $th»ad_p–še_’abË -( -­p_th»ad_d©a - * -t -, - -87  -th»ad_p–še_’abË_msg_»q - * -»q -) - -89  -­p_th»ad_p–še_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–še_id - = -»q -->pipeline_id; - -104 -p --> -be - = -»q -->be; - -105 -p --> -f_run - = -»q -->f_run; - -106 -p --> -f_tim” - = -»q -->f_timer; - -107 -p --> -tim”_³riod - = -»q -->timer_period; - -108 -p --> -d—dlše - = 0; - -110 ià( -»q --> -f_run - =ð -NULL -) - -111 -t --> -n_»guÏr -++; - -113 -t --> -n_cu¡om -++; - -116 - } -} - -119 - $th»ad_p–še_di§bË -( -­p_th»ad_d©a - * -t -, - -120  -th»ad_p–še_di§bË_msg_»q - * -»q -) - -122 -ušt32_t - -n_»guÏr - = - `RTE_MIN -( -t -->n_»guÏr, - `RTE_DIM -Ñ-> -»guÏr -)); - -123 -ušt32_t - -n_cu¡om - = - `RTE_MIN -( -t -->n_cu¡om, - `RTE_DIM -Ñ-> -cu¡om -)); - -124 -ušt32_t - -i -; - -127  -i - = 0; i < -n_»guÏr -; i++) { - -128 ià( -t --> -»guÏr -[ -i -]. -p–še_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 -è* ( -­p_th»ad_p–še_d©a -)); - -136 -n_»guÏr ---; - -137 -t --> -n_»guÏr - =‚_regular; - -143  -i - = 0; i < -n_cu¡om -; i++) { - -144 ià( -t --> -cu¡om -[ -i -]. -p–še_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 -è* ( -­p_th»ad_p–še_d©a -)); - -152 -n_cu¡om ---; - -153 -t --> -n_cu¡om - =‚_custom; - -160 - } -} - -163 - $th»ad_msg_»q_hªdË -( -­p_th»ad_d©a - * -t -) - -165 * -msg_±r -; - -166  -th»ad_msg_»q - * -»q -; - -167  -th»ad_msg_r¥ - * -r¥ -; - -169 -msg_±r - = - `th»ad_msg_»cv -( -t --> -msgq_š -); - -170 -»q - = -msg_±r -; - -171 -r¥ - = -msg_±r -; - -173 ià( -»q - !ð -NULL -) - -174  -»q --> -ty³ -) { - -175  -THREAD_MSG_REQ_PIPELINE_ENABLE -: { - -176 -r¥ --> -¡©us - = - `th»ad_p–še_’abË -( -t -, - -177 ( -th»ad_p–še_’abË_msg_»q - *è -»q -); - -178 - `th»ad_msg_£nd -( -t --> -msgq_out -, -r¥ -); - -182  -THREAD_MSG_REQ_PIPELINE_DISABLE -: { - -183 -r¥ --> -¡©us - = - `th»ad_p–še_di§bË -( -t -, - -184 ( -th»ad_p–še_di§bË_msg_»q - *è -»q -); - -185 - `th»ad_msg_£nd -( -t --> -msgq_out -, -r¥ -); - -189  -THREAD_MSG_REQ_HEADROOM_READ -: { - -190  -th»ad_h—droom_»ad_msg_r¥ - * -r¥ - = - -191 ( -th»ad_h—droom_»ad_msg_r¥ - *) - -192 -»q -; - -194 -r¥ --> -h—droom_¿tio - = -t -->headroom_ratio; - -195 -r¥ --> -¡©us - = 0; - -196 - `th»ad_msg_£nd -( -t --> -msgq_out -, -r¥ -); - -204 - } -} - -207 - $th»ad_h—droom_upd©e -( -­p_th»ad_d©a - * -t -, -ušt64_t - -time -) - -209 -ušt64_t - -time_diff - = -time - - -t --> -h—droom_time -; - -211 -t --> -h—droom_¿tio - = - -212 ((è -t --> -h—droom_cyþes -è/ ((è -time_diff -); - -214 -t --> -h—droom_cyþes - = 0; - -215 -t --> -h—droom_time - = - `¹e_rdtsc_´eci£ -(); - -216 - } -} - -219 - $­p_th»ad -(* -¬g -) - -221  -­p_·¿ms - * -­p - = (­p_·¿m *è -¬g -; - -222 -ušt32_t - -cÜe_id - = - `¹e_lcÜe_id -(), -i -, -j -; - -223  -­p_th»ad_d©a - * -t - = & -­p --> -th»ad_d©a -[ -cÜe_id -]; - -225  -i - = 0; ; i++) { - -226 -ušt32_t - -n_»guÏr - = - `RTE_MIN -( -t -->n_»guÏr, - `RTE_DIM -Ñ-> -»guÏr -)); - -227 -ušt32_t - -n_cu¡om - = - `RTE_MIN -( -t -->n_cu¡om, - `RTE_DIM -Ñ-> -cu¡om -)); - -230  -j - = 0; j < -n_»guÏr -; j++) { - -231  -­p_th»ad_p–še_d©a - * -d©a - = & -t --> -»guÏr -[ -j -]; - -232  -p–še - * -p - = -d©a --> -be -; - -234 - `PIPELINE_RUN_REGULAR -( -t -, -p -); - -238  -j - = 0; j < -n_cu¡om -; j++) { - -239  -­p_th»ad_p–še_d©a - * -d©a - = & -t --> -cu¡om -[ -j -]; - -241 - `PIPELINE_RUN_CUSTOM -( -t -, -d©a -); - -245 ià(( -i - & 0xF) == 0) { - -246 -ušt64_t - -time - = - `¹e_g‘_tsc_cyþes -(); - -247 -ušt64_t - -t_d—dlše - = -UINT64_MAX -; - -249 ià( -time - < -t --> -d—dlše -) - -253  -j - = 0; j < -n_»guÏr -; j++) { - -254  -­p_th»ad_p–še_d©a - * -d©a - = - -255 & -t --> -»guÏr -[ -j -]; - -256 -ušt64_t - -p_d—dlše - = -d©a --> -d—dlše -; - -258 ià( -p_d—dlše - <ð -time -) { - -259 -d©a --> - `f_tim” -(d©a-> -be -); - -260 -p_d—dlše - = -time - + -d©a --> -tim”_³riod -; - -261 -d©a --> -d—dlše - = -p_d—dlše -; - -264 ià( -p_d—dlše - < -t_d—dlše -) - -265 -t_d—dlše - = -p_d—dlše -; - -269  -j - = 0; j < -n_cu¡om -; j++) { - -270  -­p_th»ad_p–še_d©a - * -d©a - = - -271 & -t --> -cu¡om -[ -j -]; - -272 -ušt64_t - -p_d—dlše - = -d©a --> -d—dlše -; - -274 ià( -p_d—dlše - <ð -time -) { - -275 -d©a --> - `f_tim” -(d©a-> -be -); - -276 -p_d—dlše - = -time - + -d©a --> -tim”_³riod -; - -277 -d©a --> -d—dlše - = -p_d—dlše -; - -280 ià( -p_d—dlše - < -t_d—dlše -) - -281 -t_d—dlše - = -p_d—dlše -; - -286 -ušt64_t - -d—dlše - = -t --> -th»ad_»q_d—dlše -; - -288 ià( -d—dlše - <ð -time -) { - -289 - `th»ad_msg_»q_hªdË -( -t -); - -290 - `th»ad_h—droom_upd©e -( -t -, -time -); - -291 -d—dlše - = -time - + -t --> -tim”_³riod -; - -292 -t --> -th»ad_»q_d—dlše - = -d—dlše -; - -295 ià( -d—dlše - < -t_d—dlše -) - -296 -t_d—dlše - = -d—dlše -; - -300 -t --> -d—dlše - = -t_d—dlše -; - -305 - } -} - - @vnf_common/thread.h - -17 #iâdeà -THREAD_H_ - - -18  - #THREAD_H_ - - - ) - -20  - ~"­p.h -" - -21  - ~"p–še_be.h -" - -23 - 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  - sth»ad_msg_»q - { - -31 -th»ad_msg_»q_ty³ - - mty³ -; - -34  - sth»ad_msg_r¥ - { - -35  - m¡©us -; - -41  - sth»ad_p–še_’abË_msg_»q - { - -42 -th»ad_msg_»q_ty³ - - mty³ -; - -44 -ušt32_t - - mp–še_id -; - -45 * - mbe -; - -46 -p–še_be_Ý_run - - mf_run -; - -47 -p–še_be_Ý_tim” - - mf_tim” -; - -48 -ušt64_t - - mtim”_³riod -; - -51  - sth»ad_p–še_’abË_msg_r¥ - { - -52  - m¡©us -; - -58  - sth»ad_p–še_di§bË_msg_»q - { - -59 -th»ad_msg_»q_ty³ - - mty³ -; - -61 -ušt32_t - - mp–še_id -; - -64  - sth»ad_p–še_di§bË_msg_r¥ - { - -65  - m¡©us -; - -71  - sth»ad_h—droom_»ad_msg_»q - { - -72 -th»ad_msg_»q_ty³ - - mty³ -; - -75  - sth»ad_h—droom_»ad_msg_r¥ - { - -76  - m¡©us -; - -78  - mh—droom_¿tio -; - - @vnf_common/thread_fe.c - -17  - ~<¹e_commÚ.h -> - -18  - ~<¹e_ršg.h -> - -19  - ~<¹e_m®loc.h -> - -20  - ~ - -21  - ~ - -22  - ~ - -23  - ~ - -24  - ~ - -25  - ~ - -26  - ~ - -27  - ~ - -29  - ~"th»ad.h -" - -30  - ~"th»ad_ã.h -" - -31  - ~"p–še.h -" - -32  - ~"p–še_commÚ_ã.h -" - -33  - ~"­p.h -" - -35  -šlše - * - -36 - $th»ad_msg_£nd_»cv -( -­p_·¿ms - * -­p -, - -37 -ušt32_t - -sock‘_id -, ušt32_ˆ -cÜe_id -, ušt32_ˆ -ht_id -, - -38 * -msg -, - -39 -ušt32_t - -timeout_ms -) - -41  -¹e_ršg - * -r_»q - = - `­p_th»ad_msgq_š_g‘ -( -­p -, - -42 -sock‘_id -, -cÜe_id -, -ht_id -); - -43 if( -r_»q - =ð -NULL -) - -44  -NULL -; - -45  -¹e_ršg - * -r_r¥ - = - `­p_th»ad_msgq_out_g‘ -( -­p -, - -46 -sock‘_id -, -cÜe_id -, -ht_id -); - -47 if( -r_r¥ - =ð -NULL -) - -48  -NULL -; - -49 -ušt64_t - -hz - = - `¹e_g‘_tsc_hz -(); - -50 * -msg_»cv -; - -51 -ušt64_t - -d—dlše -; - -52  -¡©us -; - -56 -¡©us - = - `¹e_ršg_¥_’queue -( -r_»q -, (*è -msg -); - -57 }  -¡©us - =ð- -ENOBUFS -); - -60 -d—dlše - = ( -timeout_ms -) ? - -61 ( - `¹e_rdtsc -(è+ (( -hz - * -timeout_ms -) / 1000)) : - -62 -UINT64_MAX -; - -65 ià( - `¹e_rdtsc -(è> -d—dlše -) - -66  -NULL -; - -68 -¡©us - = - `¹e_ršg_sc_dequeue -( -r_r¥ -, & -msg_»cv -); - -69 }  -¡©us - != 0); - -71  -msg_»cv -; - -72 - } -} - -75 - $­p_p–še_’abË -( -­p_·¿ms - * -­p -, - -76 -ušt32_t - -sock‘_id -, - -77 -ušt32_t - -cÜe_id -, - -78 -ušt32_t - -hy³r_th_id -, - -79 -ušt32_t - -p–še_id -) - -81  -th»ad_p–še_’abË_msg_»q - * -»q -; - -82  -th»ad_p–še_’abË_msg_r¥ - * -r¥ -; - -83  -th»ad_id -; - -84  -­p_p–še_d©a - * -p -; - -85  -­p_p–še_·¿ms - * -p_·¿ms -; - -86  -p–še_ty³ - * -p_ty³ -; - -87  -¡©us -; - -89 ià( -­p - =ð -NULL -) - -92 -th»ad_id - = - `ýu_cÜe_m­_g‘_lcÜe_id -( -­p --> -cÜe_m­ -, - -93 -sock‘_id -, - -94 -cÜe_id -, - -95 -hy³r_th_id -); - -97 ià(( -th»ad_id - < 0è|| ! - `­p_cÜe_is_’abËd -( -­p -,hread_id)) - -100 ià( - `­p_p–še_d©a -( -­p -, -p–še_id -è=ð -NULL -) - -103 -p - = & -­p --> -p–še_d©a -[ -p–še_id -]; - -104 -p_·¿ms - = & -­p --> -p–še_·¿ms -[ -p–še_id -]; - -105 -p_ty³ - = - `­p_p–še_ty³_fšd -( -­p -, -p_·¿ms --> -ty³ -); - -106 ià( -p_ty³ - =ð -NULL -) - -109 ià( -p --> -’abËd - == 1) - -112 -»q - = - `­p_msg_®loc -( -­p -); - -113 ià( -»q - =ð -NULL -) - -116 -»q --> -ty³ - = -THREAD_MSG_REQ_PIPELINE_ENABLE -; - -117 -»q --> -p–še_id - =…ipeline_id; - -118 -»q --> -be - = -p -->be; - -119 -»q --> -f_run - = -p_ty³ --> -be_Ýs -->f_run; - -120 -»q --> -f_tim” - = -p_ty³ --> -be_Ýs -->f_timer; - -121 -»q --> -tim”_³riod - = -p -->timer_period; - -123 -r¥ - = - `th»ad_msg_£nd_»cv -( -­p -, - -124 -sock‘_id -, -cÜe_id -, -hy³r_th_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -125 ià( -r¥ - =ð -NULL -) - -128 -¡©us - = -r¥ -->status; - -129 - `­p_msg_ä“ -( -­p -, -r¥ -); - -131 ià( -¡©us - != 0) - -134 -p --> -’abËd - = 1; - -136 - } -} - -139 - $­p_p–še_di§bË -( -­p_·¿ms - * -­p -, - -140 -ušt32_t - -sock‘_id -, - -141 -ušt32_t - -cÜe_id -, - -142 -ušt32_t - -hy³r_th_id -, - -143 -ušt32_t - -p–še_id -) - -145  -th»ad_p–še_di§bË_msg_»q - * -»q -; - -146  -th»ad_p–še_di§bË_msg_r¥ - * -r¥ -; - -147  -th»ad_id -; - -148  -­p_p–še_d©a - * -p -; - -149  -¡©us -; - -151 ià( -­p - =ð -NULL -) - -154 -th»ad_id - = - `ýu_cÜe_m­_g‘_lcÜe_id -( -­p --> -cÜe_m­ -, - -155 -sock‘_id -, - -156 -cÜe_id -, - -157 -hy³r_th_id -); - -159 ià(( -th»ad_id - < 0è|| ! - `­p_cÜe_is_’abËd -( -­p -,hread_id)) - -162 ià( - `­p_p–še_d©a -( -­p -, -p–še_id -è=ð -NULL -) - -165 -p - = & -­p --> -p–še_d©a -[ -p–še_id -]; - -167 ià( -p --> -’abËd - == 0) - -170 -»q - = - `­p_msg_®loc -( -­p -); - -171 ià( -»q - =ð -NULL -) - -174 -»q --> -ty³ - = -THREAD_MSG_REQ_PIPELINE_DISABLE -; - -175 -»q --> -p–še_id - =…ipeline_id; - -177 -r¥ - = - `th»ad_msg_£nd_»cv -( -­p -, - -178 -sock‘_id -, -cÜe_id -, -hy³r_th_id -, -»q -, -MSG_TIMEOUT_DEFAULT -); - -180 ià( -r¥ - =ð -NULL -) - -183 -¡©us - = -r¥ -->status; - -184 - `­p_msg_ä“ -( -­p -, -r¥ -); - -186 ià( -¡©us - != 0) - -189 -p --> -’abËd - = 0; - -191 - } -} - -194 - $­p_th»ad_h—droom -( -­p_·¿ms - * -­p -, - -195 -ušt32_t - -sock‘_id -, - -196 -ušt32_t - -cÜe_id -, - -197 -ušt32_t - -hy³r_th_id -) - -199  -th»ad_h—droom_»ad_msg_»q - * -»q -; - -200  -th»ad_h—droom_»ad_msg_r¥ - * -r¥ -; - -201  -th»ad_id -; - -202  -¡©us -; - -204 ià( -­p - =ð -NULL -) - -207 -th»ad_id - = - `ýu_cÜe_m­_g‘_lcÜe_id -( -­p --> -cÜe_m­ -, - -208 -sock‘_id -, - -209 -cÜe_id -, - -210 -hy³r_th_id -); - -212 ià(( -th»ad_id - < 0è|| ! - `­p_cÜe_is_’abËd -( -­p -,hread_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‘_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 - `´štf -("%.3f%%\n", -r¥ --> -h—droom_¿tio - * 100); - -235 - `­p_msg_ä“ -( -­p -, -r¥ -); - -238 - } -} - -244  - scmd_p–še_’abË_»suÉ - { - -245 -cmdlše_fixed_¡ršg_t - - mt_¡ršg -; - -246 -cmdlše_fixed_¡ršg_t - - mt_id_¡ršg -; - -247 -cmdlše_fixed_¡ršg_t - - mp–še_¡ršg -; - -248 -ušt32_t - - mp–še_id -; - -249 -cmdlše_fixed_¡ršg_t - - m’abË_¡ršg -; - -253 - $cmd_p–še_’abË_·r£d -( - -254 * -·r£d_»suÉ -, - -255 -__¹e_unu£d -  -cmdlše - * -þ -, - -256 * -d©a -) - -258  -cmd_p–še_’abË_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -259  -­p_·¿ms - * -­p - = -d©a -; - -260  -¡©us -; - -261 -ušt32_t - -cÜe_id -, -sock‘_id -, -hy³r_th_id -; - -263 ià( - `·r£_p–še_cÜe -(& -sock‘_id -, - -264 & -cÜe_id -, - -265 & -hy³r_th_id -, - -266 -·¿ms --> -t_id_¡ršg -) != 0) { - -267 - `´štf -("Command failed\n"); - -271 -¡©us - = - `­p_p–še_’abË -( -­p -, - -272 -sock‘_id -, - -273 -cÜe_id -, - -274 -hy³r_th_id -, - -275 -·¿ms --> -p–še_id -); - -277 ià( -¡©us - != 0) - -278 - `´štf -("Command failed\n"); - -279 - } -} - -281 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_p–še_’abË_t_¡ršg - = - -282 -TOKEN_STRING_INITIALIZER -( -cmd_p–še_’abË_»suÉ -, -t_¡ršg -, "t"); - -284 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_p–še_’abË_t_id_¡ršg - = - -285 -TOKEN_STRING_INITIALIZER -( -cmd_p–še_’abË_»suÉ -, -t_id_¡ršg -, - -286 -NULL -); - -288 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_p–še_’abË_p–še_¡ršg - = - -289 -TOKEN_STRING_INITIALIZER -( -cmd_p–še_’abË_»suÉ -, -p–še_¡ršg -, - -292 -cmdlše_·r£_tok’_num_t - - gcmd_p–še_’abË_p–še_id - = - -293 -TOKEN_NUM_INITIALIZER -( -cmd_p–še_’abË_»suÉ -, -p–še_id -, - -294 -UINT32 -); - -296 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_p–še_’abË_’abË_¡ršg - = - -297 -TOKEN_STRING_INITIALIZER -( -cmd_p–še_’abË_»suÉ -, -’abË_¡ršg -, - -300 -cmdlše_·r£_š¡_t - - gcmd_p–še_’abË - = { - -301 . -f - = -cmd_p–še_’abË_·r£d -, - -302 . - gd©a - = -NULL -, - -303 . - gh–p_¡r - = "Enable…ipeline on specified core", - -304 . - gtok’s - = { - -305 (*)& -cmd_p–še_’abË_t_¡ršg -, - -306 (*)& -cmd_p–še_’abË_t_id_¡ršg -, - -307 (*)& -cmd_p–še_’abË_p–še_¡ršg -, - -308 (*)& -cmd_p–še_’abË_p–še_id -, - -309 (*)& -cmd_p–še_’abË_’abË_¡ršg -, - -310 -NULL -, - -318  - scmd_p–še_di§bË_»suÉ - { - -319 -cmdlše_fixed_¡ršg_t - - mt_¡ršg -; - -320 -cmdlše_fixed_¡ršg_t - - mt_id_¡ršg -; - -321 -cmdlše_fixed_¡ršg_t - - mp–še_¡ršg -; - -322 -ušt32_t - - mp–še_id -; - -323 -cmdlše_fixed_¡ršg_t - - mdi§bË_¡ršg -; - -327 - $cmd_p–še_di§bË_·r£d -( - -328 * -·r£d_»suÉ -, - -329 -__¹e_unu£d -  -cmdlše - * -þ -, - -330 * -d©a -) - -332  -cmd_p–še_di§bË_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -333  -­p_·¿ms - * -­p - = -d©a -; - -334  -¡©us -; - -335 -ušt32_t - -cÜe_id -, -sock‘_id -, -hy³r_th_id -; - -337 ià( - `·r£_p–še_cÜe -(& -sock‘_id -, - -338 & -cÜe_id -, - -339 & -hy³r_th_id -, - -340 -·¿ms --> -t_id_¡ršg -) != 0) { - -341 - `´štf -("Command failed\n"); - -345 -¡©us - = - `­p_p–še_di§bË -( -­p -, - -346 -sock‘_id -, - -347 -cÜe_id -, - -348 -hy³r_th_id -, - -349 -·¿ms --> -p–še_id -); - -351 ià( -¡©us - != 0) - -352 - `´štf -("Command failed\n"); - -353 - } -} - -355 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_p–še_di§bË_t_¡ršg - = - -356 -TOKEN_STRING_INITIALIZER -( -cmd_p–še_di§bË_»suÉ -, -t_¡ršg -, "t"); - -358 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_p–še_di§bË_t_id_¡ršg - = - -359 -TOKEN_STRING_INITIALIZER -( -cmd_p–še_di§bË_»suÉ -, -t_id_¡ršg -, - -360 -NULL -); - -362 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_p–še_di§bË_p–še_¡ršg - = - -363 -TOKEN_STRING_INITIALIZER -( -cmd_p–še_di§bË_»suÉ -, - -364 -p–še_¡ršg -, "pipeline"); - -366 -cmdlše_·r£_tok’_num_t - - gcmd_p–še_di§bË_p–še_id - = - -367 -TOKEN_NUM_INITIALIZER -( -cmd_p–še_di§bË_»suÉ -, -p–še_id -, - -368 -UINT32 -); - -370 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_p–še_di§bË_di§bË_¡ršg - = - -371 -TOKEN_STRING_INITIALIZER -( -cmd_p–še_di§bË_»suÉ -, -di§bË_¡ršg -, - -374 -cmdlše_·r£_š¡_t - - gcmd_p–še_di§bË - = { - -375 . -f - = -cmd_p–še_di§bË_·r£d -, - -376 . - gd©a - = -NULL -, - -377 . - gh–p_¡r - = "Disable…ipeline on specified core", - -378 . - gtok’s - = { - -379 (*)& -cmd_p–še_di§bË_t_¡ršg -, - -380 (*)& -cmd_p–še_di§bË_t_id_¡ršg -, - -381 (*)& -cmd_p–še_di§bË_p–še_¡ršg -, - -382 (*)& -cmd_p–še_di§bË_p–še_id -, - -383 (*)& -cmd_p–še_di§bË_di§bË_¡ršg -, - -384 -NULL -, - -393  - scmd_th»ad_h—droom_»suÉ - { - -394 -cmdlše_fixed_¡ršg_t - - mt_¡ršg -; - -395 -cmdlše_fixed_¡ršg_t - - mt_id_¡ršg -; - -396 -cmdlše_fixed_¡ršg_t - - mh—droom_¡ršg -; - -400 - $cmd_th»ad_h—droom_·r£d -( - -401 * -·r£d_»suÉ -, - -402 -__¹e_unu£d -  -cmdlše - * -þ -, - -403 * -d©a -) - -405  -cmd_th»ad_h—droom_»suÉ - * -·¿ms - = -·r£d_»suÉ -; - -406  -­p_·¿ms - * -­p - = -d©a -; - -407  -¡©us -; - -408 -ušt32_t - -cÜe_id -, -sock‘_id -, -hy³r_th_id -; - -410 ià( - `·r£_p–še_cÜe -(& -sock‘_id -, - -411 & -cÜe_id -, - -412 & -hy³r_th_id -, - -413 -·¿ms --> -t_id_¡ršg -) != 0) { - -414 - `´štf -("Command failed\n"); - -418 -¡©us - = - `­p_th»ad_h—droom -( -­p -, - -419 -sock‘_id -, - -420 -cÜe_id -, - -421 -hy³r_th_id -); - -423 ià( -¡©us - != 0) - -424 - `´štf -("Command failed\n"); - -425 - } -} - -427 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_th»ad_h—droom_t_¡ršg - = - -428 -TOKEN_STRING_INITIALIZER -( -cmd_th»ad_h—droom_»suÉ -, - -429 -t_¡ršg -, "t"); - -431 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_th»ad_h—droom_t_id_¡ršg - = - -432 -TOKEN_STRING_INITIALIZER -( -cmd_th»ad_h—droom_»suÉ -, - -433 -t_id_¡ršg -, -NULL -); - -435 -cmdlše_·r£_tok’_¡ršg_t - - gcmd_th»ad_h—droom_h—droom_¡ršg - = - -436 -TOKEN_STRING_INITIALIZER -( -cmd_th»ad_h—droom_»suÉ -, - -437 -h—droom_¡ršg -, "headroom"); - -439 -cmdlše_·r£_š¡_t - - gcmd_th»ad_h—droom - = { - -440 . -f - = -cmd_th»ad_h—droom_·r£d -, - -441 . - gd©a - = -NULL -, - -442 . - gh–p_¡r - = "Displayhread headroom", - -443 . - gtok’s - = { - -444 (*)& -cmd_th»ad_h—droom_t_¡ršg -, - -445 (*)& -cmd_th»ad_h—droom_t_id_¡ršg -, - -446 (*)& -cmd_th»ad_h—droom_h—droom_¡ršg -, - -447 -NULL -, - -452  -cmdlše_·r£_ùx_t - - gth»ad_cmds -[] = { - -453 ( -cmdlše_·r£_š¡_t - *è& -cmd_p–še_’abË -, - -454 ( -cmdlše_·r£_š¡_t - *è& -cmd_p–še_di§bË -, - -455 ( -cmdlše_·r£_š¡_t - *è& -cmd_th»ad_h—droom -, - -456 -NULL -, - -460 - $­p_p–še_th»ad_cmd_push -( -­p_·¿ms - * -­p -) - -462 -ušt32_t - -n_cmds -, -i -; - -465 -n_cmds - = - `RTE_DIM -( -th»ad_cmds -) - 1; - -466 ià( -n_cmds - > -APP_MAX_CMDS - - -­p -->n_cmds) - -467  - -ENOMEM -; - -470 - `memýy -(& -­p --> -cmds -[­p-> -n_cmds -], -th»ad_cmds -, - -471 -n_cmds - * ( -cmdlše_·r£_ùx_t -)); - -473  -i - = 0; i < -n_cmds -; i++) - -474 -­p --> -cmds -[­p-> -n_cmds - + -i -]-> -d©a - =‡pp; - -476 -­p --> -n_cmds - +=‚_cmds; - -477 -­p --> -cmds -[­p-> -n_cmds -] = -NULL -; - -480 - } -} - - @vnf_common/thread_fe.h - -17 #iâdeà -THREAD_FE_H_ - - -18  - #THREAD_FE_H_ - - - ) - -20  -šlše -  -¹e_ršg - * - -21 - $­p_th»ad_msgq_š_g‘ -( -­p_·¿ms - * -­p -, - -22 -ušt32_t - -sock‘_id -, ušt32_ˆ -cÜe_id -, ušt32_ˆ -ht_id -) - -24  -msgq_Çme -[32]; - -25 -ssize_t - -·¿m_idx -; - -27 - `¢´štf -( -msgq_Çme -, (msgq_name), - -28 "MSGQ-REQ-CORE-s%" -PRIu32 - "c%" PRIu32 "%s", - -29 -sock‘_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  -NULL -; - -37  -­p --> -msgq -[ -·¿m_idx -]; - -38 - } -} - -40  -šlše -  -¹e_ršg - * - -41 - $­p_th»ad_msgq_out_g‘ -( -­p_·¿ms - * -­p -, - -42 -ušt32_t - -sock‘_id -, ušt32_ˆ -cÜe_id -, ušt32_ˆ -ht_id -) - -44  -msgq_Çme -[32]; - -45 -ssize_t - -·¿m_idx -; - -47 - `¢´štf -( -msgq_Çme -, (msgq_name), - -48 "MSGQ-RSP-CORE-s%" -PRIu32 - "c%" PRIu32 "%s", - -49 -sock‘_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  -NULL -; - -57  -­p --> -msgq -[ -·¿m_idx -]; - -59 - } -} - -62 -­p_p–še_th»ad_cmd_push -( -­p_·¿ms - * -­p -); - -65 -­p_p–še_’abË -( -­p_·¿ms - * -­p -, - -66 -ušt32_t - -cÜe_id -, - -67 -ušt32_t - -sock‘_id -, - -68 -ušt32_t - -hy³r_th_id -, - -69 -ušt32_t - -p–še_id -); - -72 -­p_p–še_di§bË -( -­p_·¿ms - * -­p -, - -73 -ušt32_t - -cÜe_id -, - -74 -ušt32_t - -sock‘_id -, - -75 -ušt32_t - -hy³r_th_id -, - -76 -ušt32_t - -p–še_id -); - -79 -­p_th»ad_h—droom -( -­p_·¿ms - * -­p -, - -80 -ušt32_t - -cÜe_id -, - -81 -ušt32_t - -sock‘_id -, - -82 -ušt32_t - -hy³r_th_id -); - - @vnf_common/vnf_common.c - -17  - ~<¡dšt.h -> - -18  - ~<¡dio.h -> - -19  - ~"vnf_commÚ.h -" - -20  - ~"p–še_¬picmp_be.h -" - -21 #iâdeà -VNF_ACL - - -22  - ~"lib_¬p.h -" - -25 -ušt8_t - - gš_pÜt_dœ_a -[ -PIPELINE_MAX_PORT_IN -]; - -26 -ušt8_t - - g´v_to_pub_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -27 -ušt8_t - - gpub_to_´v_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -28 -ušt8_t - - g´v_š_pÜt_a -[ -PIPELINE_MAX_PORT_IN -]; - -29 -ušt8_t - - g´v_que_pÜt_šdex -[ -PIPELINE_MAX_PORT_IN -]; - -30 -ušt8_t - - gš_pÜt_eg»ss_´v -[ -PIPELINE_MAX_PORT_IN -]; - -32 -ušt8_t - - $g‘_š_pÜt_dœ -( -ušt8_t - -š_pÜt_id -) - -34  -š_pÜt_dœ_a -[ -š_pÜt_id -]; - -35 - } -} - -37 -ušt8_t - - $is_phy_pÜt_´iv‹ -( -ušt16_t - -phy_pÜt -) - -39  -š_pÜt_dœ_a -[ -phy_pÜt -]; - -40 - } -} - -42 -ušt8_t - - $is_pÜt_šdex_´iv‹ -( -ušt16_t - -phy_pÜt -) - -44  -š_pÜt_eg»ss_´v -[ -phy_pÜt -]; - -45 - } -} - -47 -ušt32_t - - $g‘_´v_to_pub_pÜt -( -ušt32_t - * -_addr -, -ušt8_t - -ty³ -) - -49 -ušt32_t - -de¡_if - = 0xff; - -51  -ty³ -) { - -54 -ušt32_t - -nh -; - -55 -nh - = - `g‘_nh -( -_addr -[0], & -de¡_if -); - -57 ià( -nh -) - -58  -de¡_if -; - -64 -ušt8_t - -nhv6 -[16]; - -65 - `g‘_nh_v6 -(( -ušt8_t - *) -_addr -, & -de¡_if -, & -nhv6 -[0]); - -66 ià( -de¡_if - != 0xff) - -67  -de¡_if -; - -73 - } -} - -75 -ušt32_t - - $g‘_pub_to_´v_pÜt -( -ušt32_t - * -_addr -, -ušt8_t - -ty³ -) - -77 -ušt32_t - -de¡_if - = 0xff; - -79  -ty³ -) { - -82 -ušt32_t - -nh -; - -83 -nh - = - `g‘_nh -( -_addr -[0], & -de¡_if -); - -85 ià( -nh -) - -86  -de¡_if -; - -92 -ušt8_t - -nhv6 -[16]; - -93 - `g‘_nh_v6 -(( -ušt8_t - *) -_addr -, & -de¡_if -, & -nhv6 -[0]); - -94 ià( -de¡_if - != 0xff) - -95  -de¡_if -; - -101 - } -} - -103  - $show_pÜts_šfo -() - -105 - `´štf -("\nš_pÜt_dœ_a: %d %d %d %d %d", -š_pÜt_dœ_a -[0], - -106 -š_pÜt_dœ_a -[1], in_port_dir_a[2], in_port_dir_a[3], - -107 -š_pÜt_dœ_a -[4]); - -109 -ušt8_t - -i - = 0, -j - = 0; - -111 - `´štf -("\nprv_to_pub_map: "); - -112  -i - = 0; i < -PIPELINE_MAX_PORT_IN -; i++) { - -113 ià( -´v_to_pub_m­ -[ -i -] != 0xff) - -114 - `´štf -("(%d,%dè ", -i -, -´v_to_pub_m­ -[i]); - -117 - `´štf -("\npub_to_prv_map: "); - -118  -i - = 0; i < -PIPELINE_MAX_PORT_IN -; i++) { - -119 ià( -pub_to_´v_m­ -[ -i -] != 0xff) - -120 - `´štf -("(%d,%dè ", -i -, -pub_to_´v_m­ -[i]); - -123 - `´štf -("\n%dƒÁr› š PÜt MAC Li¡\n", -lšk_hw_addr_¬¿y_idx -); - -124  -j - = 0; j < -lšk_hw_addr_¬¿y_idx -; j++) { - -125  -‘h”_addr - * -lšk_hw_addr - = - `g‘_lšk_hw_addr -( -j -); - -127  -i - = 0; i < 6; i++) - -128 - `´štf -(" %02x ", (( -‘h”_addr - *) -lšk_hw_addr -)-> -addr_by‹s -[ -i -]); - -129 - `´štf -("\n"); - -131 - } -} - -133  - $Œim -(* -šput -) - -135  -i -, -j - = 0; - -136  -Ën - = - `¡¾’ -( -šput -); - -137  -»suÉ -[ -Ën - + 1]; - -139 - `mem£t -( -»suÉ -, 0, (result)); - -140  -i - = 0; -šput -[i] != '\0'; i++) { - -141 ià(! - `is¥aû -( -šput -[ -i -])) - -142 -»suÉ -[ -j -++] = -šput -[ -i -]; - -145 - `¡ºýy -( -šput -, -»suÉ -, -Ën -); - -146 - } -} - - @vnf_common/vnf_common.h - -17 #iâdeà -__INCLUDE_VNF_COMMON_H__ - - -18  - #__INCLUDE_VNF_COMMON_H__ - - - ) - -20  - ~<¹e_p–še.h -> - -21  - ~<¹e_‘h”.h -> - -23  - #MBUF_HDR_ROOM - 256 - - ) - -24  - #ETH_HDR_SIZE - 14 - - ) - -25  - #IP_HDR_SRC_ADR_OFST - 12 - - ) - -26  - #IP_HDR_DST_ADR_OFST - 16 - - ) - -27  - #IP_HDR_PROTOCOL_OFST - 9 - - ) - -28  - #IP_HDR_SIZE - 20 - - ) - -29  - #IPV6_HDR_SRC_ADR_OFST - 8 - - ) - -30  - #IPV6_HDR_DST_ADR_OFST - 24 - - ) - -31  - #IPV6_HDR_PROTOCOL_OFST - 6 - - ) - -32  - #IPV6_HDR_SIZE - 40 - - ) - -34  - #ETH_TYPE_ARP - 0x0806 - - ) - -35  - #ETH_TYPE_IPV4 - 0x0800 - - ) - -37  - #IP_PROTOCOL_ICMP - 1 - - ) - -38  - #IP_PROTOCOL_TCP - 6 - - ) - -39  - #IP_PROTOCOL_UDP - 17 - - ) - -41  - #ETH_TYPE_IPV6 - 0x86DD - - ) - -42  - #IP_PROTOCOL_ICMPV6 - 58 - - ) - -44  - #PKT_ING_DIR - 0 - - ) - -45  - #PKT_EGR_DIR - 1 - - ) - -47 #iâdeà -PIPELINE_MAX_PORT_IN - - -48  - #PIPELINE_MAX_PORT_IN - 16 - - ) - -51  - #RTE_PIPELINE_MAX_NAME_SZ - 124 - - ) - -53  - #INVALID_DESTIF - 255 - - ) - -56 - mVNF_PRV_PORT_ID -, - -57 - mVNF_PUB_PORT_ID -, - -59  -show_pÜts_šfo -(); - -60  -Œim -(* -šput -); - -61 -ušt8_t - -g‘_š_pÜt_dœ -(ušt8_ˆ -š_pÜt_id -); - -62 -ušt8_t - -is_phy_pÜt_´iv‹ -( -ušt16_t - -phy_pÜt -); - -63 -ušt32_t - -g‘_´v_to_pub_pÜt -(ušt32_ˆ* -_addr -, -ušt8_t - -ty³ -); - -64 -ušt32_t - -g‘_pub_to_´v_pÜt -(ušt32_ˆ* -_addr -, -ušt8_t - -ty³ -); - -66  -šlše -  - $drÝ_pkt -( -ušt32_t - -pkt_num -, -ušt64_t - * -mask -) - -68 * -mask - ^ð1LLU << -pkt_num -; - -69 - } -} - -71 -ušt8_t - -š_pÜt_dœ_a -[ -PIPELINE_MAX_PORT_IN -]; - -72 -ušt8_t - -´v_to_pub_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -73 -ušt8_t - -pub_to_´v_m­ -[ -PIPELINE_MAX_PORT_IN -]; - -74 -ušt8_t - -´v_š_pÜt_a -[ -PIPELINE_MAX_PORT_IN -]; - -76 -ušt32_t - -lšk_hw_addr_¬¿y_idx -; - -78  - s¹e_pÜt_š - { - -80  -¹e_pÜt_š_Ýs - - mÝs -; - -81 -¹e_p–še_pÜt_š_aùiÚ_hªdËr - - mf_aùiÚ -; - -82 * - m¬g_ah -; - -83 -ušt32_t - - mbur¡_size -; - -86 -ušt32_t - - mbË_id -; - -89 * - mh_pÜt -; - -92  -¹e_pÜt_š - * - mÃxt -; - -95 -ušt64_t - - mn_pkts_drݳd_by_ah -; - -98  - s¹e_pÜt_out - { - -100  -¹e_pÜt_out_Ýs - - mÝs -; - -101 -¹e_p–še_pÜt_out_aùiÚ_hªdËr - - mf_aùiÚ -; - -102 * - m¬g_ah -; - -105 * - mh_pÜt -; - -108 -ušt64_t - - mn_pkts_drݳd_by_ah -; - -111  - s¹e_bË - { - -113  -¹e_bË_Ýs - - mÝs -; - -114 -¹e_p–še_bË_aùiÚ_hªdËr_h™ - - mf_aùiÚ_h™ -; - -115 -¹e_p–še_bË_aùiÚ_hªdËr_miss - - mf_aùiÚ_miss -; - -116 * - m¬g_ah -; - -117  -¹e_p–še_bË_’Œy - * - mdeçuÉ_’Œy -; - -118 -ušt32_t - - m’Œy_size -; - -120 -ušt32_t - - mbË_Ãxt_id -; - -121 -ušt32_t - - mbË_Ãxt_id_v®id -; - -124 * - mh_bË -; - -127 -ušt64_t - - mn_pkts_drݳd_by_lkp_h™_ah -; - -128 -ušt64_t - - mn_pkts_drݳd_by_lkp_miss_ah -; - -129 -ušt64_t - - mn_pkts_drݳd_lkp_h™ -; - -130 -ušt64_t - - mn_pkts_drݳd_lkp_miss -; - -134  - s¹e_p–še - { - -136  - mÇme -[ -RTE_PIPELINE_MAX_NAME_SZ -]; - -137  - msock‘_id -; - -138 -ušt32_t - - moff£t_pÜt_id -; - -141  -¹e_pÜt_š - - mpÜts_š -[ -RTE_PIPELINE_PORT_IN_MAX -]; - -142  -¹e_pÜt_out - - mpÜts_out -[ -RTE_PIPELINE_PORT_OUT_MAX -]; - -143  -¹e_bË - - mbËs -[ -RTE_PIPELINE_TABLE_MAX -]; - -146 -ušt32_t - - mnum_pÜts_š -; - -147 -ušt32_t - - mnum_pÜts_out -; - -148 -ušt32_t - - mnum_bËs -; - -151 -ušt64_t - - m’abËd_pÜt_š_mask -; - -152  -¹e_pÜt_š - * - mpÜt_š_Ãxt -; - -155  -¹e_mbuf - * - mpkts -[ -RTE_PORT_IN_BURST_SIZE_MAX -]; - -156  -¹e_p–še_bË_’Œy - * - m’Œ›s -[ -RTE_PORT_IN_BURST_SIZE_MAX -]; - -157 -ušt64_t - - maùiÚ_mask0 -[ -RTE_PIPELINE_ACTIONS -]; - -158 -ušt64_t - - maùiÚ_mask1 -[ -RTE_PIPELINE_ACTIONS -]; - -159 -ušt64_t - - mpkts_mask -; - -160 -ušt64_t - - mn_pkts_ah_drÝ -; - -161 -ušt64_t - - mpkts_drÝ_mask -; - -162 } - g__¹e_ÿche_®igÃd -; - -165  - s¹e_pÜt_‘hdev_wr™” - { - -166  -¹e_pÜt_out_¡©s - - m¡©s -; - -168  -¹e_mbuf - * - mtx_buf -[2 * -RTE_PORT_IN_BURST_SIZE_MAX -]; - -169 -ušt32_t - - mtx_bur¡_sz -; - -170 -ušt16_t - - mtx_buf_couÁ -; - -171 -ušt64_t - - mbsz_mask -; - -172 -ušt16_t - - mqueue_id -; - -173 -ušt8_t - - mpÜt_id -; - -175  - s¹e_pÜt_‘hdev_»ad” - { - -176  -¹e_pÜt_š_¡©s - - m¡©s -; - -178 -ušt16_t - - mqueue_id -; - -179 -ušt8_t - - mpÜt_id -; - -181  - s¹e_pÜt_ršg_wr™” - { - -182  -¹e_pÜt_out_¡©s - - m¡©s -; - -184  -¹e_mbuf - * - mtx_buf -[2 * -RTE_PORT_IN_BURST_SIZE_MAX -]; - -185  -¹e_ršg - * - mršg -; - -186 -ušt32_t - - mtx_bur¡_sz -; - -187 -ušt32_t - - mtx_buf_couÁ -; - -188 -ušt64_t - - mbsz_mask -; - -189 -ušt32_t - - mis_muÉi -; - -191  - s¹e_pÜt_ršg_»ad” - { - -192  -¹e_pÜt_š_¡©s - - m¡©s -; - -194  -¹e_ršg - * - mršg -; - -197 -ušt8_t - -g‘_š_pÜt_dœ -(ušt8_ˆ -š_pÜt_id -); - -198 -ušt8_t - -is_phy_pÜt_´iv‹ -( -ušt16_t - -phy_pÜt -); - -199 -ušt8_t - -is_pÜt_šdex_´iv‹ -( -ušt16_t - -phy_pÜt -); - - @vnf_common/vnf_define.h - -17 #iâdeà -__INCLUDE_VNF_DEFINE_H__ - - -18  - #__INCLUDE_VNF_DEFINE_H__ - - - ) - -19  - #DEBUG_LEVEL_4 - 4 - - ) - -20  - #PKT_BUFFER_SIZE - 64 - - ) - -21  - #PVT_PUB_MAP - 2 - - ) - -22  - #IPV6_ADD_SIZE - 16 - - ) - -23  - #TWO_BYTE_PRINT - 3 - - ) - -24  - #VERSION_NO_BYTE - 4 - - ) - -25  - #BIT_CARRY - 16 - - ) - -26  - #HW_ADDR_SIZE - 20 - - ) - -27  - #IPV6_ADD_CMP_MULTI - 13 - - ) - -28  - #DIV_CONV_HZ_SEC - 1000 - - ) - - @/usr/include/arpa/inet.h - -18 #iâdeà -_ARPA_INET_H - - -19  - #_ARPA_INET_H - 1 - - ) - -21  - ~<ã©u»s.h -> - -22  - ~<Ãtš‘/š.h -> - -25 #iâdeà -__sockËn_t_defšed - - -26  -__sockËn_t - - tsockËn_t -; - -27  - #__sockËn_t_defšed - - - ) - -30 -__BEGIN_DECLS - - -34 -š_addr_t - - $š‘_addr - (cÚ¡ * -__ý -è -__THROW -; - -37 -š_addr_t - - $š‘_Êaof - ( -š_addr - -__š -è -__THROW -; - -41  -š_addr - - $š‘_mak—ddr - ( -š_addr_t - -__Ãt -, in_addr_ˆ -__ho¡ -) - -42 -__THROW -; - -45 -š_addr_t - - $š‘_Ãtof - ( -š_addr - -__š -è -__THROW -; - -49 -š_addr_t - - $š‘_ÃtwÜk - (cÚ¡ * -__ý -è -__THROW -; - -53 * - $š‘_Áß - ( -š_addr - -__š -è -__THROW -; - -58  - $š‘_±Ú - ( -__af -, cÚ¡ * -__»¡riù - -__ý -, - -59 * -__»¡riù - -__buf -è -__THROW -; - -64 cÚ¡ * - $š‘_ÁÝ - ( -__af -, cÚ¡ * -__»¡riù - -__ý -, - -65 * -__»¡riù - -__buf -, -sockËn_t - -__Ën -) - -66 -__THROW -; - -70 #ifdeà -__USE_MISC - - -73  - $š‘_©Ú - (cÚ¡ * -__ý -,  -š_addr - * -__šp -è -__THROW -; - -77 * - $š‘_Ï - ( -š_addr_t - -__Ãt -, * -__buf -, -size_t - -__Ën -è -__THROW -; - -82 * - $š‘_Ãt_ÁÝ - ( -__af -, cÚ¡ * -__ý -,  -__b™s -, - -83 * -__buf -, -size_t - -__Ën -è -__THROW -; - -88  - $š‘_Ãt_±Ú - ( -__af -, cÚ¡ * -__ý -, - -89 * -__buf -, -size_t - -__Ën -è -__THROW -; - -94  - $š‘_n§p_addr - (cÚ¡ * -__ý -, - -95 * -__buf -,  -__Ën -è -__THROW -; - -99 * - $š‘_n§p_Áß - ( -__Ën -, cÚ¡ * -__ý -, - -100 * -__buf -è -__THROW -; - -103 -__END_DECLS - - - @/usr/include/ctype.h - -22 #iâdef -_CTYPE_H - - -23  - #_CTYPE_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -26  - ~ - -28 - g__BEGIN_DECLS - - -30 #iâdeà -_ISb™ - - -39  - ~<’dŸn.h -> - -40 #ià -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -41  - #_ISb™ -( -b™ -è(1 << (b™)) - - ) - -43  - #_ISb™ -( -b™ -è((b™è< 8 ? ((1 << (b™)è<< 8è: ((1 << (b™)è>> 8)) - - ) - -48 - m_ISuµ” - = -_ISb™ - (0), - -49 - m_ISlow” - = -_ISb™ - (1), - -50 - m_IS®pha - = -_ISb™ - (2), - -51 - m_ISdig™ - = -_ISb™ - (3), - -52 - m_ISxdig™ - = -_ISb™ - (4), - -53 - m_IS¥aû - = -_ISb™ - (5), - -54 - m_IS´št - = -_ISb™ - (6), - -55 - m_ISg¿ph - = -_ISb™ - (7), - -56 - m_ISbÏnk - = -_ISb™ - (8), - -57 - m_ISúŒl - = -_ISb™ - (9), - -58 - m_ISpunù - = -_ISb™ - (10), - -59 - m_IS®num - = -_ISb™ - (11) - -79 cÚ¡ ** - $__ùy³_b_loc - () - -80 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -81 cÚ¡ -__št32_t - ** - $__ùy³_tÞow”_loc - () - -82 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -83 cÚ¡ -__št32_t - ** - $__ùy³_touµ”_loc - () - -84 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -87 #iâdeà -__ýlu¥lus - - -88  - #__isùy³ -( -c -, -ty³ -) \ - -89 ((* - `__ùy³_b_loc - ())[(è( -c -)] & (è -ty³ -) - - ) - -90 #–ià -defšed - -__USE_EXTERN_INLINES - - -91  - #__isùy³_f -( -ty³ -) \ - -92 -__ex‹º_šlše - \ - -93 -is -## - `ty³ - ( -__c -è -__THROW - \ - -95  (* - `__ùy³_b_loc - ())[(è( -__c -)] & (è -_IS -## -ty³ -; \ - -96 - } - - ) -} - -99  - #__i§scii -( -c -è(((cè& ~0x7fè=ð0è - - ) - -100  - #__tßscii -( -c -è((cè& 0x7fè - - ) - -102  - #__exùy³ -( -Çme -è  - `Çme - (è -__THROW - - - ) - -104 -__BEGIN_NAMESPACE_STD - - -110 -__exùy³ - ( -i§Êum -); - -111 -__exùy³ - ( -i§Íha -); - -112 -__exùy³ - ( -isúŒl -); - -113 -__exùy³ - ( -isdig™ -); - -114 -__exùy³ - ( -i¦ow” -); - -115 -__exùy³ - ( -isg¿ph -); - -116 -__exùy³ - ( -i¥ršt -); - -117 -__exùy³ - ( -i¥unù -); - -118 -__exùy³ - ( -is¥aû -); - -119 -__exùy³ - ( -isuµ” -); - -120 -__exùy³ - ( -isxdig™ -); - -124  - $tÞow” - ( -__c -è -__THROW -; - -127  - $touµ” - ( -__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  - $isùy³ - ( -__c -,  -__mask -è -__THROW -; - -146 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -150  - $i§scii - ( -__c -è -__THROW -; - -154  - $tßscii - ( -__c -è -__THROW -; - -158 - `__exùy³ - ( -_touµ” -); - -159 - `__exùy³ - ( -_tÞow” -); - -163  - #__tobody -( -c -, -f -, -a -, -¬gs -) \ - -164 ( -__ex‹nsiÚ__ - \ - -165 ({  -__»s -; \ - -166 ià( ( -c -) > 1) \ - -168 ià( - `__bužtš_cÚ¡ªt_p - ( -c -)) \ - -170  -__c - = ( -c -); \ - -171 -__»s - = -__c - < -128 || __ø> 255 ? __ø: ( -a -)[__c]; \ - -174 -__»s - = -f - -¬gs -; \ - -177 -__»s - = ( -a -)[(è( -c -)]; \ - -178 -__»s -; - } -})) - - ) - -180 #ià! -defšed - -__NO_CTYPE - - -181 #ifdeà -__isùy³_f - - -182 - $__isùy³_f - ( -®num -) - -183 - $__isùy³_f - ( -®pha -) - -184 - $__isùy³_f - ( -úŒl -) - -185 - $__isùy³_f - ( -dig™ -) - -186 - $__isùy³_f - ( -low” -) - -187 - $__isùy³_f - ( -g¿ph -) - -188 - $__isùy³_f - ( -´št -) - -189 - $__isùy³_f - ( -punù -) - -190 - $__isùy³_f - ( -¥aû -) - -191 - $__isùy³_f - ( -uµ” -) - -192 - $__isùy³_f - ( -xdig™ -) - -193 #ifdeà -__USE_ISOC99 - - -194 - $__isùy³_f - ( -bÏnk -) - -196 #–ià -defšed - -__isùy³ - - -197  - #i§Êum -( -c -è - `__isùy³ -((c), -_IS®num -) - - ) - -198  - #i§Íha -( -c -è - `__isùy³ -((c), -_IS®pha -) - - ) - -199  - #isúŒl -( -c -è - `__isùy³ -((c), -_ISúŒl -) - - ) - -200  - #isdig™ -( -c -è - `__isùy³ -((c), -_ISdig™ -) - - ) - -201  - #i¦ow” -( -c -è - `__isùy³ -((c), -_ISlow” -) - - ) - -202  - #isg¿ph -( -c -è - `__isùy³ -((c), -_ISg¿ph -) - - ) - -203  - #i¥ršt -( -c -è - `__isùy³ -((c), -_IS´št -) - - ) - -204  - #i¥unù -( -c -è - `__isùy³ -((c), -_ISpunù -) - - ) - -205  - #is¥aû -( -c -è - `__isùy³ -((c), -_IS¥aû -) - - ) - -206  - #isuµ” -( -c -è - `__isùy³ -((c), -_ISuµ” -) - - ) - -207  - #isxdig™ -( -c -è - `__isùy³ -((c), -_ISxdig™ -) - - ) - -208 #ifdeà -__USE_ISOC99 - - -209  - #isbÏnk -( -c -è - `__isùy³ -((c), -_ISbÏnk -) - - ) - -213 #ifdeà -__USE_EXTERN_INLINES - - -214 -__ex‹º_šlše -  - -215 - `__NTH - ( - $tÞow” - ( -__c -)) - -217  -__c - >ð-128 && __ø< 256 ? (* - `__ùy³_tÞow”_loc - ())[__c] : __c; - -218 - } -} - -220 -__ex‹º_šlše -  - -221 -__NTH - ( - $touµ” - ( -__c -)) - -223  -__c - >ð-128 && __ø< 256 ? (* - `__ùy³_touµ”_loc - ())[__c] : __c; - -224 - } -} - -227 #ià -__GNUC__ - >ð2 && -defšed - -__OPTIMIZE__ - && !defšed -__ýlu¥lus - - -228  - #tÞow” -( -c -è - `__tobody - (c, -tÞow” -, * - `__ùy³_tÞow”_loc - (), (c)) - - ) - -229  - #touµ” -( -c -è - `__tobody - (c, -touµ” -, * - `__ùy³_touµ”_loc - (), (c)) - - ) - -232 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -233  - #i§scii -( -c -è - `__i§scii - (c) - - ) - -234  - #tßscii -( -c -è - `__tßscii - (c) - - ) - -236  - #_tÞow” -( -c -è((è(* - `__ùy³_tÞow”_loc - ())[(è(c)]) - - ) - -237  - #_touµ” -( -c -è((è(* - `__ùy³_touµ”_loc - ())[(è(c)]) - - ) - -243 #ifdeà -__USE_XOPEN2K8 - - -257  - ~ - -261  - #__isùy³_l -( -c -, -ty³ -, -loÿË -) \ - -262 (( -loÿË -)-> -__ùy³_b -[(è( -c -)] & (è -ty³ -) - - ) - -264  - #__exùy³_l -( -Çme -) \ - -265  - `Çme - (, -__loÿË_t -è -__THROW - - - ) - -271 -__exùy³_l - ( -i§Êum_l -); - -272 -__exùy³_l - ( -i§Íha_l -); - -273 -__exùy³_l - ( -isúŒl_l -); - -274 -__exùy³_l - ( -isdig™_l -); - -275 -__exùy³_l - ( -i¦ow”_l -); - -276 -__exùy³_l - ( -isg¿ph_l -); - -277 -__exùy³_l - ( -i¥ršt_l -); - -278 -__exùy³_l - ( -i¥unù_l -); - -279 -__exùy³_l - ( -is¥aû_l -); - -280 -__exùy³_l - ( -isuµ”_l -); - -281 -__exùy³_l - ( -isxdig™_l -); - -283 -__exùy³_l - ( -isbÏnk_l -); - -287  - $__tÞow”_l - ( -__c -, -__loÿË_t - -__l -è -__THROW -; - -288  - $tÞow”_l - ( -__c -, -__loÿË_t - -__l -è -__THROW -; - -291  - $__touµ”_l - ( -__c -, -__loÿË_t - -__l -è -__THROW -; - -292  - $touµ”_l - ( -__c -, -__loÿË_t - -__l -è -__THROW -; - -294 #ià -__GNUC__ - >ð2 && -defšed - -__OPTIMIZE__ - && !defšed -__ýlu¥lus - - -295  - #__tÞow”_l -( -c -, -loÿË -) \ - -296 - `__tobody - ( -c -, -__tÞow”_l -, ( -loÿË -)-> -__ùy³_tÞow” -, (c,†oÿË)) - - ) - -297  - #__touµ”_l -( -c -, -loÿË -) \ - -298 - `__tobody - ( -c -, -__touµ”_l -, ( -loÿË -)-> -__ùy³_touµ” -, (c,†oÿË)) - - ) - -299  - #tÞow”_l -( -c -, -loÿË -è - `__tÞow”_l - ((c), (loÿË)) - - ) - -300  - #touµ”_l -( -c -, -loÿË -è - `__touµ”_l - ((c), (loÿË)) - - ) - -304 #iâdeà -__NO_CTYPE - - -305  - #__i§Êum_l -( -c -, -l -è - `__isùy³_l -((c), -_IS®num -, (l)) - - ) - -306  - #__i§Íha_l -( -c -, -l -è - `__isùy³_l -((c), -_IS®pha -, (l)) - - ) - -307  - #__isúŒl_l -( -c -, -l -è - `__isùy³_l -((c), -_ISúŒl -, (l)) - - ) - -308  - #__isdig™_l -( -c -, -l -è - `__isùy³_l -((c), -_ISdig™ -, (l)) - - ) - -309  - #__i¦ow”_l -( -c -, -l -è - `__isùy³_l -((c), -_ISlow” -, (l)) - - ) - -310  - #__isg¿ph_l -( -c -, -l -è - `__isùy³_l -((c), -_ISg¿ph -, (l)) - - ) - -311  - #__i¥ršt_l -( -c -, -l -è - `__isùy³_l -((c), -_IS´št -, (l)) - - ) - -312  - #__i¥unù_l -( -c -, -l -è - `__isùy³_l -((c), -_ISpunù -, (l)) - - ) - -313  - #__is¥aû_l -( -c -, -l -è - `__isùy³_l -((c), -_IS¥aû -, (l)) - - ) - -314  - #__isuµ”_l -( -c -, -l -è - `__isùy³_l -((c), -_ISuµ” -, (l)) - - ) - -315  - #__isxdig™_l -( -c -, -l -è - `__isùy³_l -((c), -_ISxdig™ -, (l)) - - ) - -317  - #__isbÏnk_l -( -c -, -l -è - `__isùy³_l -((c), -_ISbÏnk -, (l)) - - ) - -319 #ifdeà -__USE_MISC - - -320  - #__i§scii_l -( -c -, -l -è(Ö), - `__i§scii - (c)) - - ) - -321  - #__tßscii_l -( -c -, -l -è(Ö), - `__tßscii - (c)) - - ) - -324  - #i§Êum_l -( -c -, -l -è - `__i§Êum_l - ((c), (l)) - - ) - -325  - #i§Íha_l -( -c -, -l -è - `__i§Íha_l - ((c), (l)) - - ) - -326  - #isúŒl_l -( -c -, -l -è - `__isúŒl_l - ((c), (l)) - - ) - -327  - #isdig™_l -( -c -, -l -è - `__isdig™_l - ((c), (l)) - - ) - -328  - #i¦ow”_l -( -c -, -l -è - `__i¦ow”_l - ((c), (l)) - - ) - -329  - #isg¿ph_l -( -c -, -l -è - `__isg¿ph_l - ((c), (l)) - - ) - -330  - #i¥ršt_l -( -c -, -l -è - `__i¥ršt_l - ((c), (l)) - - ) - -331  - #i¥unù_l -( -c -, -l -è - `__i¥unù_l - ((c), (l)) - - ) - -332  - #is¥aû_l -( -c -, -l -è - `__is¥aû_l - ((c), (l)) - - ) - -333  - #isuµ”_l -( -c -, -l -è - `__isuµ”_l - ((c), (l)) - - ) - -334  - #isxdig™_l -( -c -, -l -è - `__isxdig™_l - ((c), (l)) - - ) - -336  - #isbÏnk_l -( -c -, -l -è - `__isbÏnk_l - ((c), (l)) - - ) - -338 #ifdeà -__USE_MISC - - -339  - #i§scii_l -( -c -, -l -è - `__i§scii_l - ((c), (l)) - - ) - -340  - #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  - #_ERRNO_H - 1 - - ) - -28  - ~<ã©u»s.h -> - -31 - g__BEGIN_DECLS - - -35  - ~ - -36 #undeà -__Ãed_Em©h - - -38 #ifdef -_ERRNO_H - - -45 #iâdef -”ºo - - -46  -”ºo -; - -49 #ifdeà -__USE_GNU - - -54 * -´og¿m_švoÿtiÚ_Çme -, * -´og¿m_švoÿtiÚ_shÜt_Çme -; - -58 - g__END_DECLS - - -66 #ià -defšed - -__USE_GNU - || defšed -__Ãed_”rÜ_t - - -67 #iâdeà -__”rÜ_t_defšed - - -68  - t”rÜ_t -; - -69  - #__”rÜ_t_defšed - 1 - - ) - -71 #undeà -__Ãed_”rÜ_t - - - @/usr/include/execinfo.h - -18 #iâdeà -_EXECINFO_H - - -19  - #_EXECINFO_H - 1 - - ) - -21  - ~<ã©u»s.h -> - -23 -__BEGIN_DECLS - - -27  - $backŒaû - (** -__¬¿y -,  -__size -è - `__nÚnuÎ - ((1)); - -32 ** - $backŒaû_symbÞs - (*cÚ¡ * -__¬¿y -,  -__size -) - -33 -__THROW - - `__nÚnuÎ - ((1)); - -38  - $backŒaû_symbÞs_fd - (*cÚ¡ * -__¬¿y -,  -__size -,  -__fd -) - -39 -__THROW - - `__nÚnuÎ - ((1)); - -41 -__END_DECLS - - - @/usr/include/fcntl.h - -22 #iâdef -_FCNTL_H - - -23  - #_FCNTL_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -28 - g__BEGIN_DECLS - - -31  - ~ - -35  - ~ - -39 #ifdeà -__O_TMPFILE - - -40  - #__OPEN_NEEDS_MODE -( -oæag -) \ - -41 ((( -oæag -è& -O_CREAT -è!ð0 || ((oæagè& -__O_TMPFILE -è=ð__O_TMPFILE) - - ) - -43  - #__OPEN_NEEDS_MODE -( -oæag -è(((oæagè& -O_CREAT -è!ð0) - - ) - -49 #iâdeà -__mode_t_defšed - - -50  -__mode_t - - tmode_t -; - -51  - #__mode_t_defšed - - - ) - -54 #iâdeà -__off_t_defšed - - -55 #iâdeà -__USE_FILE_OFFSET64 - - -56  -__off_t - - toff_t -; - -58  -__off64_t - - toff_t -; - -60  - #__off_t_defšed - - - ) - -63 #ià -defšed - -__USE_LARGEFILE64 - && !defšed -__off64_t_defšed - - -64  -__off64_t - - toff64_t -; - -65  - #__off64_t_defšed - - - ) - -68 #iâdeà -__pid_t_defšed - - -69  -__pid_t - - tpid_t -; - -70  - #__pid_t_defšed - - - ) - -74 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 - - -75  - #__Ãed_time¥ec - - - ) - -76  - ~ - -77  - ~ - -79  - #S_IFMT - -__S_IFMT - - - ) - -80  - #S_IFDIR - -__S_IFDIR - - - ) - -81  - #S_IFCHR - -__S_IFCHR - - - ) - -82  - #S_IFBLK - -__S_IFBLK - - - ) - -83  - #S_IFREG - -__S_IFREG - - - ) - -84 #ifdeà -__S_IFIFO - - -85  - #S_IFIFO - -__S_IFIFO - - - ) - -87 #ifdeà -__S_IFLNK - - -88  - #S_IFLNK - -__S_IFLNK - - - ) - -90 #ià( -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K8 -è&& defšed -__S_IFSOCK - - -91  - #S_IFSOCK - -__S_IFSOCK - - - ) - -96  - #S_ISUID - -__S_ISUID - - - ) - -97  - #S_ISGID - -__S_ISGID - - - ) - -99 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -101  - #S_ISVTX - -__S_ISVTX - - - ) - -104  - #S_IRUSR - -__S_IREAD - - - ) - -105  - #S_IWUSR - -__S_IWRITE - - - ) - -106  - #S_IXUSR - -__S_IEXEC - - - ) - -108  - #S_IRWXU - ( -__S_IREAD -| -__S_IWRITE -| -__S_IEXEC -) - - ) - -110  - #S_IRGRP - ( -S_IRUSR - >> 3è - - ) - -111  - #S_IWGRP - ( -S_IWUSR - >> 3è - - ) - -112  - #S_IXGRP - ( -S_IXUSR - >> 3è - - ) - -114  - #S_IRWXG - ( -S_IRWXU - >> 3) - - ) - -116  - #S_IROTH - ( -S_IRGRP - >> 3è - - ) - -117  - #S_IWOTH - ( -S_IWGRP - >> 3è - - ) - -118  - #S_IXOTH - ( -S_IXGRP - >> 3è - - ) - -120  - #S_IRWXO - ( -S_IRWXG - >> 3) - - ) - -123 #ifdef -__USE_MISC - - -124 #iâdeà -R_OK - - -127  - #R_OK - 4 - - ) - -128  - #W_OK - 2 - - ) - -129  - #X_OK - 1 - - ) - -130  - #F_OK - 0 - - ) - -135 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 - - -136  - #SEEK_SET - 0 - - ) - -137  - #SEEK_CUR - 1 - - ) - -138  - #SEEK_END - 2 - - ) - -146  -fúŽ - ( -__fd -,  -__cmd -, ...); - -155 #iâdeà -__USE_FILE_OFFSET64 - - -156  - $ݒ - (cÚ¡ * -__fže -,  -__oæag -, ...è - `__nÚnuÎ - ((1)); - -158 #ifdeà -__REDIRECT - - -159  - `__REDIRECT - ( -ݒ -, (cÚ¡ * -__fže -,  -__oæag -, ...), -ݒ64 -) - -160 - `__nÚnuÎ - ((1)); - -162  - #ݒ - -ݒ64 - - - ) - -165 #ifdeà -__USE_LARGEFILE64 - - -166  - $ݒ64 - (cÚ¡ * -__fže -,  -__oæag -, ...è - `__nÚnuÎ - ((1)); - -169 #ifdeà -__USE_ATFILE - - -179 #iâdeà -__USE_FILE_OFFSET64 - - -180  - $ݒ© - ( -__fd -, cÚ¡ * -__fže -,  -__oæag -, ...) - -181 - `__nÚnuÎ - ((2)); - -183 #ifdeà -__REDIRECT - - -184  - `__REDIRECT - ( -ݒ© -, ( -__fd -, cÚ¡ * -__fže -,  -__oæag -, - -185 ...), -ݒ©64 -è - `__nÚnuÎ - ((2)); - -187  - #ݒ© - -ݒ©64 - - - ) - -190 #ifdeà -__USE_LARGEFILE64 - - -191  - $ݒ©64 - ( -__fd -, cÚ¡ * -__fže -,  -__oæag -, ...) - -192 - `__nÚnuÎ - ((2)); - -201 #iâdeà -__USE_FILE_OFFSET64 - - -202  - $ü—t - (cÚ¡ * -__fže -, -mode_t - -__mode -è - `__nÚnuÎ - ((1)); - -204 #ifdeà -__REDIRECT - - -205  - `__REDIRECT - ( -ü—t -, (cÚ¡ * -__fže -, -mode_t - -__mode -), - -206 -ü—t64 -è - `__nÚnuÎ - ((1)); - -208  - #ü—t - -ü—t64 - - - ) - -211 #ifdeà -__USE_LARGEFILE64 - - -212  - $ü—t64 - (cÚ¡ * -__fže -, -mode_t - -__mode -è - `__nÚnuÎ - ((1)); - -215 #ià! -defšed - -F_LOCK - && (defšed -__USE_MISC - || (defšed -__USE_XOPEN_EXTENDED - \ - -216 && ! -defšed - -__USE_POSIX -)) - -225  - #F_ULOCK - 0 - - ) - -226  - #F_LOCK - 1 - - ) - -227  - #F_TLOCK - 2 - - ) - -228  - #F_TEST - 3 - - ) - -230 #iâdeà -__USE_FILE_OFFSET64 - - -231  - `lockf - ( -__fd -,  -__cmd -, -off_t - -__Ën -); - -233 #ifdeà -__REDIRECT - - -234  - `__REDIRECT - ( -lockf -, ( -__fd -,  -__cmd -, -__off64_t - -__Ën -), -lockf64 -); - -236  - #lockf - -lockf64 - - - ) - -239 #ifdeà -__USE_LARGEFILE64 - - -240  - `lockf64 - ( -__fd -,  -__cmd -, -off64_t - -__Ën -); - -244 #ifdeà -__USE_XOPEN2K - - -247 #iâdeà -__USE_FILE_OFFSET64 - - -248  - $posix_çdvi£ - ( -__fd -, -off_t - -__off£t -, off_ˆ -__Ën -, - -249  -__advi£ -è -__THROW -; - -251 #ifdeà -__REDIRECT_NTH - - -252  - `__REDIRECT_NTH - ( -posix_çdvi£ -, ( -__fd -, -__off64_t - -__off£t -, - -253 -__off64_t - -__Ën -,  -__advi£ -), - -254 -posix_çdvi£64 -); - -256  - #posix_çdvi£ - -posix_çdvi£64 - - - ) - -259 #ifdeà -__USE_LARGEFILE64 - - -260  - $posix_çdvi£64 - ( -__fd -, -off64_t - -__off£t -, off64_ˆ -__Ën -, - -261  -__advi£ -è -__THROW -; - -269 #iâdeà -__USE_FILE_OFFSET64 - - -270  - `posix_çÎoÿ‹ - ( -__fd -, -off_t - -__off£t -, off_ˆ -__Ën -); - -272 #ifdeà -__REDIRECT - - -273  - `__REDIRECT - ( -posix_çÎoÿ‹ -, ( -__fd -, -__off64_t - -__off£t -, - -274 -__off64_t - -__Ën -), - -275 -posix_çÎoÿ‹64 -); - -277  - #posix_çÎoÿ‹ - -posix_çÎoÿ‹64 - - - ) - -280 #ifdeà -__USE_LARGEFILE64 - - -281  - `posix_çÎoÿ‹64 - ( -__fd -, -off64_t - -__off£t -, off64_ˆ -__Ën -); - -287 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ - \ - -288 && -defšed - -__va_¬g_·ck_Ën - - -289  - ~ - -292 -__END_DECLS - - - @/usr/include/getopt.h - -19 #iâdeà -_GETOPT_H - - -21 #iâdeà -__Ãed_g‘Ýt - - -22  - #_GETOPT_H - 1 - - ) - -32 #ià! -defšed - -__GNU_LIBRARY__ - - -33  - ~<ùy³.h -> - -36 #iâdeà -__THROW - - -37 #iâdeà -__GNUC_PREREQ - - -38  - #__GNUC_PREREQ -( -maj -, -mš -è(0) - - ) - -40 #ià -defšed - -__ýlu¥lus - && -__GNUC_PREREQ - (2,8) - -41  - #__THROW - - `throw - () - - ) - -43  - #__THROW - - - ) - -47 #ifdef -__ýlu¥lus - - -57 * -ݏrg -; - -71  -Ýtšd -; - -76  -݋¼ -; - -80  -ÝtÝt -; - -82 #iâdeà -__Ãed_g‘Ýt - - -104  - sÝtiÚ - - -106 cÚ¡ * - gÇme -; - -109  - ghas_¬g -; - -110 * - gæag -; - -111  - gv® -; - -116  - #no_¬gum’t - 0 - - ) - -117  - #»quœed_¬gum’t - 1 - - ) - -118  - #ÝtiÚ®_¬gum’t - 2 - - ) - -146 #ifdeà -__GNU_LIBRARY__ - - -150  -g‘Ýt - ( -___¬gc -, *cÚ¡ * -___¬gv -, cÚ¡ * -__shÜtÝts -) - -151 -__THROW -; - -153 #ià -defšed - -__Ãed_g‘Ýt - && defšed -__USE_POSIX2 - \ - -154 && ! -defšed - - g__USE_POSIX_IMPLICITLY - && !defšed - g__USE_GNU - - -158 #ifdeà -__REDIRECT - - -159  -__REDIRECT_NTH - ( -g‘Ýt -, ( -___¬gc -, *cÚ¡ * -___¬gv -, - -160 cÚ¡ * -__shÜtÝts -), - -161 -__posix_g‘Ýt -); - -163  -__posix_g‘Ýt - ( -___¬gc -, *cÚ¡ * -___¬gv -, - -164 cÚ¡ * -__shÜtÝts -è -__THROW -; - -165  - #g‘Ýt - -__posix_g‘Ýt - - - ) - -169  -g‘Ýt - (); - -172 #iâdeà -__Ãed_g‘Ýt - - -173  -g‘Ýt_lÚg - ( -___¬gc -, *cÚ¡ * -___¬gv -, - -174 cÚ¡ * -__shÜtÝts -, - -175 cÚ¡  -ÝtiÚ - * -__lÚgÝts -, * -__lÚgšd -) - -176 -__THROW -; - -177  -g‘Ýt_lÚg_Úly - ( -___¬gc -, *cÚ¡ * -___¬gv -, - -178 cÚ¡ * -__shÜtÝts -, - -179 cÚ¡  -ÝtiÚ - * -__lÚgÝts -, * -__lÚgšd -) - -180 -__THROW -; - -184 #ifdef -__ýlu¥lus - - -189 #undeà -__Ãed_g‘Ýt - - - @/usr/include/inttypes.h - -22 #iâdeà -_INTTYPES_H - - -23  - #_INTTYPES_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -27  - ~<¡dšt.h -> - -30 #iâdeà -____gwch¬_t_defšed - - -31 #ifdeà -__ýlu¥lus - - -32  - #__gwch¬_t - -wch¬_t - - - ) - -33 #–ià -defšed - -__WCHAR_TYPE__ - - -34  -__WCHAR_TYPE__ - - t__gwch¬_t -; - -36  - #__Ãed_wch¬_t - - - ) - -37  - ~<¡ddef.h -> - -38  -wch¬_t - - t__gwch¬_t -; - -40  - #____gwch¬_t_defšed - 1 - - ) - -43 #ià -__WORDSIZE - == 64 - -44  - #__PRI64_PREFIX - "l" - - ) - -45  - #__PRIPTR_PREFIX - "l" - - ) - -47  - #__PRI64_PREFIX - "Î" - - ) - -48  - #__PRIPTR_PREFIX - - - ) - -54  - #PRId8 - "d" - - ) - -55  - #PRId16 - "d" - - ) - -56  - #PRId32 - "d" - - ) - -57  - #PRId64 - -__PRI64_PREFIX - "d" - - ) - -59  - #PRIdLEAST8 - "d" - - ) - -60  - #PRIdLEAST16 - "d" - - ) - -61  - #PRIdLEAST32 - "d" - - ) - -62  - #PRIdLEAST64 - -__PRI64_PREFIX - "d" - - ) - -64  - #PRIdFAST8 - "d" - - ) - -65  - #PRIdFAST16 - -__PRIPTR_PREFIX - "d" - - ) - -66  - #PRIdFAST32 - -__PRIPTR_PREFIX - "d" - - ) - -67  - #PRIdFAST64 - -__PRI64_PREFIX - "d" - - ) - -70  - #PRIi8 - "i" - - ) - -71  - #PRIi16 - "i" - - ) - -72  - #PRIi32 - "i" - - ) - -73  - #PRIi64 - -__PRI64_PREFIX - "i" - - ) - -75  - #PRIiLEAST8 - "i" - - ) - -76  - #PRIiLEAST16 - "i" - - ) - -77  - #PRIiLEAST32 - "i" - - ) - -78  - #PRIiLEAST64 - -__PRI64_PREFIX - "i" - - ) - -80  - #PRIiFAST8 - "i" - - ) - -81  - #PRIiFAST16 - -__PRIPTR_PREFIX - "i" - - ) - -82  - #PRIiFAST32 - -__PRIPTR_PREFIX - "i" - - ) - -83  - #PRIiFAST64 - -__PRI64_PREFIX - "i" - - ) - -86  - #PRIo8 - "o" - - ) - -87  - #PRIo16 - "o" - - ) - -88  - #PRIo32 - "o" - - ) - -89  - #PRIo64 - -__PRI64_PREFIX - "o" - - ) - -91  - #PRIoLEAST8 - "o" - - ) - -92  - #PRIoLEAST16 - "o" - - ) - -93  - #PRIoLEAST32 - "o" - - ) - -94  - #PRIoLEAST64 - -__PRI64_PREFIX - "o" - - ) - -96  - #PRIoFAST8 - "o" - - ) - -97  - #PRIoFAST16 - -__PRIPTR_PREFIX - "o" - - ) - -98  - #PRIoFAST32 - -__PRIPTR_PREFIX - "o" - - ) - -99  - #PRIoFAST64 - -__PRI64_PREFIX - "o" - - ) - -102  - #PRIu8 - "u" - - ) - -103  - #PRIu16 - "u" - - ) - -104  - #PRIu32 - "u" - - ) - -105  - #PRIu64 - -__PRI64_PREFIX - "u" - - ) - -107  - #PRIuLEAST8 - "u" - - ) - -108  - #PRIuLEAST16 - "u" - - ) - -109  - #PRIuLEAST32 - "u" - - ) - -110  - #PRIuLEAST64 - -__PRI64_PREFIX - "u" - - ) - -112  - #PRIuFAST8 - "u" - - ) - -113  - #PRIuFAST16 - -__PRIPTR_PREFIX - "u" - - ) - -114  - #PRIuFAST32 - -__PRIPTR_PREFIX - "u" - - ) - -115  - #PRIuFAST64 - -__PRI64_PREFIX - "u" - - ) - -118  - #PRIx8 - "x" - - ) - -119  - #PRIx16 - "x" - - ) - -120  - #PRIx32 - "x" - - ) - -121  - #PRIx64 - -__PRI64_PREFIX - "x" - - ) - -123  - #PRIxLEAST8 - "x" - - ) - -124  - #PRIxLEAST16 - "x" - - ) - -125  - #PRIxLEAST32 - "x" - - ) - -126  - #PRIxLEAST64 - -__PRI64_PREFIX - "x" - - ) - -128  - #PRIxFAST8 - "x" - - ) - -129  - #PRIxFAST16 - -__PRIPTR_PREFIX - "x" - - ) - -130  - #PRIxFAST32 - -__PRIPTR_PREFIX - "x" - - ) - -131  - #PRIxFAST64 - -__PRI64_PREFIX - "x" - - ) - -134  - #PRIX8 - "X" - - ) - -135  - #PRIX16 - "X" - - ) - -136  - #PRIX32 - "X" - - ) - -137  - #PRIX64 - -__PRI64_PREFIX - "X" - - ) - -139  - #PRIXLEAST8 - "X" - - ) - -140  - #PRIXLEAST16 - "X" - - ) - -141  - #PRIXLEAST32 - "X" - - ) - -142  - #PRIXLEAST64 - -__PRI64_PREFIX - "X" - - ) - -144  - #PRIXFAST8 - "X" - - ) - -145  - #PRIXFAST16 - -__PRIPTR_PREFIX - "X" - - ) - -146  - #PRIXFAST32 - -__PRIPTR_PREFIX - "X" - - ) - -147  - #PRIXFAST64 - -__PRI64_PREFIX - "X" - - ) - -151  - #PRIdMAX - -__PRI64_PREFIX - "d" - - ) - -152  - #PRIiMAX - -__PRI64_PREFIX - "i" - - ) - -153  - #PRIoMAX - -__PRI64_PREFIX - "o" - - ) - -154  - #PRIuMAX - -__PRI64_PREFIX - "u" - - ) - -155  - #PRIxMAX - -__PRI64_PREFIX - "x" - - ) - -156  - #PRIXMAX - -__PRI64_PREFIX - "X" - - ) - -160  - #PRIdPTR - -__PRIPTR_PREFIX - "d" - - ) - -161  - #PRIiPTR - -__PRIPTR_PREFIX - "i" - - ) - -162  - #PRIoPTR - -__PRIPTR_PREFIX - "o" - - ) - -163  - #PRIuPTR - -__PRIPTR_PREFIX - "u" - - ) - -164  - #PRIxPTR - -__PRIPTR_PREFIX - "x" - - ) - -165  - #PRIXPTR - -__PRIPTR_PREFIX - "X" - - ) - -171  - #SCNd8 - "hhd" - - ) - -172  - #SCNd16 - "hd" - - ) - -173  - #SCNd32 - "d" - - ) - -174  - #SCNd64 - -__PRI64_PREFIX - "d" - - ) - -176  - #SCNdLEAST8 - "hhd" - - ) - -177  - #SCNdLEAST16 - "hd" - - ) - -178  - #SCNdLEAST32 - "d" - - ) - -179  - #SCNdLEAST64 - -__PRI64_PREFIX - "d" - - ) - -181  - #SCNdFAST8 - "hhd" - - ) - -182  - #SCNdFAST16 - -__PRIPTR_PREFIX - "d" - - ) - -183  - #SCNdFAST32 - -__PRIPTR_PREFIX - "d" - - ) - -184  - #SCNdFAST64 - -__PRI64_PREFIX - "d" - - ) - -187  - #SCNi8 - "hhi" - - ) - -188  - #SCNi16 - "hi" - - ) - -189  - #SCNi32 - "i" - - ) - -190  - #SCNi64 - -__PRI64_PREFIX - "i" - - ) - -192  - #SCNiLEAST8 - "hhi" - - ) - -193  - #SCNiLEAST16 - "hi" - - ) - -194  - #SCNiLEAST32 - "i" - - ) - -195  - #SCNiLEAST64 - -__PRI64_PREFIX - "i" - - ) - -197  - #SCNiFAST8 - "hhi" - - ) - -198  - #SCNiFAST16 - -__PRIPTR_PREFIX - "i" - - ) - -199  - #SCNiFAST32 - -__PRIPTR_PREFIX - "i" - - ) - -200  - #SCNiFAST64 - -__PRI64_PREFIX - "i" - - ) - -203  - #SCNu8 - "hhu" - - ) - -204  - #SCNu16 - "hu" - - ) - -205  - #SCNu32 - "u" - - ) - -206  - #SCNu64 - -__PRI64_PREFIX - "u" - - ) - -208  - #SCNuLEAST8 - "hhu" - - ) - -209  - #SCNuLEAST16 - "hu" - - ) - -210  - #SCNuLEAST32 - "u" - - ) - -211  - #SCNuLEAST64 - -__PRI64_PREFIX - "u" - - ) - -213  - #SCNuFAST8 - "hhu" - - ) - -214  - #SCNuFAST16 - -__PRIPTR_PREFIX - "u" - - ) - -215  - #SCNuFAST32 - -__PRIPTR_PREFIX - "u" - - ) - -216  - #SCNuFAST64 - -__PRI64_PREFIX - "u" - - ) - -219  - #SCNo8 - "hho" - - ) - -220  - #SCNo16 - "ho" - - ) - -221  - #SCNo32 - "o" - - ) - -222  - #SCNo64 - -__PRI64_PREFIX - "o" - - ) - -224  - #SCNoLEAST8 - "hho" - - ) - -225  - #SCNoLEAST16 - "ho" - - ) - -226  - #SCNoLEAST32 - "o" - - ) - -227  - #SCNoLEAST64 - -__PRI64_PREFIX - "o" - - ) - -229  - #SCNoFAST8 - "hho" - - ) - -230  - #SCNoFAST16 - -__PRIPTR_PREFIX - "o" - - ) - -231  - #SCNoFAST32 - -__PRIPTR_PREFIX - "o" - - ) - -232  - #SCNoFAST64 - -__PRI64_PREFIX - "o" - - ) - -235  - #SCNx8 - "hhx" - - ) - -236  - #SCNx16 - "hx" - - ) - -237  - #SCNx32 - "x" - - ) - -238  - #SCNx64 - -__PRI64_PREFIX - "x" - - ) - -240  - #SCNxLEAST8 - "hhx" - - ) - -241  - #SCNxLEAST16 - "hx" - - ) - -242  - #SCNxLEAST32 - "x" - - ) - -243  - #SCNxLEAST64 - -__PRI64_PREFIX - "x" - - ) - -245  - #SCNxFAST8 - "hhx" - - ) - -246  - #SCNxFAST16 - -__PRIPTR_PREFIX - "x" - - ) - -247  - #SCNxFAST32 - -__PRIPTR_PREFIX - "x" - - ) - -248  - #SCNxFAST64 - -__PRI64_PREFIX - "x" - - ) - -252  - #SCNdMAX - -__PRI64_PREFIX - "d" - - ) - -253  - #SCNiMAX - -__PRI64_PREFIX - "i" - - ) - -254  - #SCNoMAX - -__PRI64_PREFIX - "o" - - ) - -255  - #SCNuMAX - -__PRI64_PREFIX - "u" - - ) - -256  - #SCNxMAX - -__PRI64_PREFIX - "x" - - ) - -259  - #SCNdPTR - -__PRIPTR_PREFIX - "d" - - ) - -260  - #SCNiPTR - -__PRIPTR_PREFIX - "i" - - ) - -261  - #SCNoPTR - -__PRIPTR_PREFIX - "o" - - ) - -262  - #SCNuPTR - -__PRIPTR_PREFIX - "u" - - ) - -263  - #SCNxPTR - -__PRIPTR_PREFIX - "x" - - ) - -266 - g__BEGIN_DECLS - - -268 #ià -__WORDSIZE - == 64 - -273  - mquÙ -; - -274  - m»m -; - -275 } - timaxdiv_t -; - -282 -__ex‹nsiÚ__ -  - mquÙ -; - -283 -__ex‹nsiÚ__ -  - m»m -; - -284 } - timaxdiv_t -; - -290 -štmax_t - - $imaxabs - ( -štmax_t - -__n -è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -293 -imaxdiv_t - - $imaxdiv - ( -štmax_t - -__num” -, iÁmax_ˆ -__d’om -) - -294 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -297 -štmax_t - - $¡¹oimax - (cÚ¡ * -__»¡riù - -__Ō -, - -298 ** -__»¡riù - -__’d±r -,  -__ba£ -è -__THROW -; - -301 -uštmax_t - - $¡¹oumax - (cÚ¡ * -__»¡riù - -__Ō -, - -302 ** -__»¡riù - -__’d±r -,  -__ba£ -è -__THROW -; - -305 -štmax_t - - $wc¡oimax - (cÚ¡ -__gwch¬_t - * -__»¡riù - -__Ō -, - -306 -__gwch¬_t - ** -__»¡riù - -__’d±r -,  -__ba£ -) - -307 -__THROW -; - -310 -uštmax_t - - $wc¡oumax - (cÚ¡ -__gwch¬_t - * -__»¡riù - -__Ō -, - -311 -__gwch¬_t - ** -__»¡riù - -__’d±r -,  -__ba£ -) - -312 -__THROW -; - -314 #ifdeà -__USE_EXTERN_INLINES - - -316 #ià -__WORDSIZE - == 64 - -318  - $__¡¹Þ_š‹º® - (cÚ¡ * -__»¡riù - -__Ō -, - -319 ** -__»¡riù - -__’d±r -, - -320  -__ba£ -,  -__group -) - -321 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -323 -__ex‹º_šlše - -štmax_t - - -324 - `__NTH - ( - $¡¹oimax - (cÚ¡ * -__»¡riù - -Ō -, **__»¡riù -’d±r -, - -325  -ba£ -)) - -327  - `__¡¹Þ_š‹º® - ( -Ō -, -’d±r -, -ba£ -, 0); - -328 - } -} - -330  - $__¡¹oul_š‹º® - (cÚ¡ * -__»¡riù - -__Ō -, - -331 ** -__»¡riù - -__’d±r -, - -332  -__ba£ -,  -__group -) - -333 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -335 -__ex‹º_šlše - -uštmax_t - - -336 - `__NTH - ( - $¡¹oumax - (cÚ¡ * -__»¡riù - -Ō -, **__»¡riù -’d±r -, - -337  -ba£ -)) - -339  - `__¡¹oul_š‹º® - ( -Ō -, -’d±r -, -ba£ -, 0); - -340 - } -} - -342  - $__wc¡Þ_š‹º® - (cÚ¡ -__gwch¬_t - * -__»¡riù - -__Ō -, - -343 -__gwch¬_t - ** -__»¡riù - -__’d±r -, - -344  -__ba£ -,  -__group -) - -345 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -347 -__ex‹º_šlše - -štmax_t - - -348 - `__NTH - ( - $wc¡oimax - (cÚ¡ -__gwch¬_t - * -__»¡riù - -Ō -, - -349 -__gwch¬_t - ** -__»¡riù - -’d±r -,  -ba£ -)) - -351  - `__wc¡Þ_š‹º® - ( -Ō -, -’d±r -, -ba£ -, 0); - -352 - } -} - -354  - $__wc¡oul_š‹º® - (cÚ¡ -__gwch¬_t - * - -355 -__»¡riù - -__Ō -, - -356 -__gwch¬_t - ** - -357 -__»¡riù - -__’d±r -, - -358  -__ba£ -,  -__group -) - -359 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -361 -__ex‹º_šlše - -uštmax_t - - -362 - `__NTH - ( - $wc¡oumax - (cÚ¡ -__gwch¬_t - * -__»¡riù - -Ō -, - -363 -__gwch¬_t - ** -__»¡riù - -’d±r -,  -ba£ -)) - -365  - `__wc¡oul_š‹º® - ( -Ō -, -’d±r -, -ba£ -, 0); - -366 - } -} - -370 -__ex‹nsiÚ__ - - -371  - $__¡¹Þl_š‹º® - (cÚ¡ * -__»¡riù - -__Ō -, - -372 ** -__»¡riù - -__’d±r -, - -373  -__ba£ -,  -__group -) - -374 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -376 -__ex‹º_šlše - -štmax_t - - -377 - `__NTH - ( - $¡¹oimax - (cÚ¡ * -__»¡riù - -Ō -, **__»¡riù -’d±r -, - -378  -ba£ -)) - -380  - `__¡¹Þl_š‹º® - ( -Ō -, -’d±r -, -ba£ -, 0); - -381 - } -} - -383 -__ex‹nsiÚ__ - - -384  - $__¡¹ouÎ_š‹º® - (const * - -385 -__»¡riù - -__Ō -, - -387 -__»¡riù - -__’d±r -, - -388  -__ba£ -, - -389  -__group -) - -390 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -392 -__ex‹º_šlše - -uštmax_t - - -393 - `__NTH - ( - $¡¹oumax - (cÚ¡ * -__»¡riù - -Ō -, **__»¡riù -’d±r -, - -394  -ba£ -)) - -396  - `__¡¹ouÎ_š‹º® - ( -Ō -, -’d±r -, -ba£ -, 0); - -397 - } -} - -399 -__ex‹nsiÚ__ - - -400  - $__wc¡Þl_š‹º® - (cÚ¡ -__gwch¬_t - * -__»¡riù - -__Ō -, - -401 -__gwch¬_t - ** -__»¡riù - -__’d±r -, - -402  -__ba£ -,  -__group -) - -403 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -405 -__ex‹º_šlše - -štmax_t - - -406 - `__NTH - ( - $wc¡oimax - (cÚ¡ -__gwch¬_t - * -__»¡riù - -Ō -, - -407 -__gwch¬_t - ** -__»¡riù - -’d±r -,  -ba£ -)) - -409  - `__wc¡Þl_š‹º® - ( -Ō -, -’d±r -, -ba£ -, 0); - -410 - } -} - -413 -__ex‹nsiÚ__ - - -414  - $__wc¡ouÎ_š‹º® - (cÚ¡ -__gwch¬_t - * - -415 -__»¡riù - -__Ō -, - -416 -__gwch¬_t - ** - -417 -__»¡riù - -__’d±r -, - -418  -__ba£ -, - -419  -__group -) - -420 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -422 -__ex‹º_šlše - -uštmax_t - - -423 - `__NTH - ( - $wc¡oumax - (cÚ¡ -__gwch¬_t - * -__»¡riù - -Ō -, - -424 -__gwch¬_t - ** -__»¡riù - -’d±r -,  -ba£ -)) - -426  - `__wc¡ouÎ_š‹º® - ( -Ō -, -’d±r -, -ba£ -, 0); - -427 - } -} - -432 - g__END_DECLS - - - @/usr/include/libgen.h - -18 #iâdeà -_LIBGEN_H - - -19  - #_LIBGEN_H - 1 - - ) - -21  - ~<ã©u»s.h -> - -23 -__BEGIN_DECLS - - -26 * - $dœÇme - (* -__·th -è -__THROW -; - -34 * - $__xpg_ba£Çme - (* -__·th -è -__THROW -; - -35  - #ba£Çme - -__xpg_ba£Çme - - - ) - -37 -__END_DECLS - - - @/usr/include/math.h - -23 #iâdef -_MATH_H - - -24  - #_MATH_H - 1 - - ) - -26  - ~<ã©u»s.h -> - -28 - g__BEGIN_DECLS - - -31  - ~ - -35  - ~ - -36 #ifdeà -__USE_ISOC99 - - -37  - ~ - -38  - ~ - -41  - ~ - -44  - ~ - -48  - ~ - -55  - #__SIMD_DECL -( -funùiÚ -è - `__CONCAT - ( -__DECL_SIMD_ -, funùiÚ) - - ) - -57  - #__MATHCALL_VEC -( -funùiÚ -, -suffix -, -¬gs -) \ - -58 - `__SIMD_DECL - ( - `__MATH_PRECNAME - ( -funùiÚ -, -suffix -)) \ - -59 - `__MATHCALL - ( -funùiÚ -, -suffix -, -¬gs -) - - ) - -61  - #__MATHDECL_VEC -( -ty³ -, -funùiÚ -, -suffix -, -¬gs -) \ - -62 - `__SIMD_DECL - ( - `__MATH_PRECNAME - ( -funùiÚ -, -suffix -)) \ - -63 - `__MATHDECL -( -ty³ -, -funùiÚ -, -suffix -, -¬gs -) - - ) - -65  - #__MATHCALL -( -funùiÚ -, -suffix -, -¬gs -) \ - -66 - `__MATHDECL - ( -_MdoubË_ -, -funùiÚ -, -suffix -, -¬gs -) - - ) - -67  - #__MATHDECL -( -ty³ -, -funùiÚ -, -suffix -, -¬gs -) \ - -68 - `__MATHDECL_1 -( -ty³ -, -funùiÚ -, -suffix -, -¬gs -); \ - -69 - `__MATHDECL_1 -( -ty³ -, - `__CONCAT -( -__ -, -funùiÚ -), -suffix -, -¬gs -) - - ) - -70  - #__MATHCALLX -( -funùiÚ -, -suffix -, -¬gs -, -©Œib -) \ - -71 - `__MATHDECLX - ( -_MdoubË_ -, -funùiÚ -, -suffix -, -¬gs -, -©Œib -) - - ) - -72  - #__MATHDECLX -( -ty³ -, -funùiÚ -, -suffix -, -¬gs -, -©Œib -) \ - -73 - `__MATHDECL_1 -( -ty³ -, -funùiÚ -, -suffix -, -¬gs -è - `__©Œibu‹__ - ( -©Œib -); \ - -74 - `__MATHDECL_1 -( -ty³ -, - `__CONCAT -( -__ -, -funùiÚ -), -suffix -, -¬gs -è - `__©Œibu‹__ - ( -©Œib -) - - ) - -75  - #__MATHDECL_1 -( -ty³ -, -funùiÚ -, -suffix -, -¬gs -) \ - -76 -ty³ - - `__MATH_PRECNAME -( -funùiÚ -, -suffix -è -¬gs - -__THROW - - - ) - -78  - #_MdoubË_ -  - - ) - -79  - #__MATH_PRECNAME -( -Çme -, -r -è - `__CONCAT -Òame,r) - - ) - -80  - #__MATH_DECLARING_DOUBLE - 1 - - ) - -81  - #_MdoubË_BEGIN_NAMESPACE - -__BEGIN_NAMESPACE_STD - - - ) - -82  - #_MdoubË_END_NAMESPACE - -__END_NAMESPACE_STD - - - ) - -83  - ~ - -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  - #_Mæßt_ -  - - ) - -99  - #_MdoubË_ - -_Mæßt_ - - - ) - -100  - #__MATH_PRECNAME -( -Çme -, -r -èÇme## -f -## - ) -r - -101  - #__MATH_DECLARING_DOUBLE - 0 - - ) - -102  - #_MdoubË_BEGIN_NAMESPACE - -__BEGIN_NAMESPACE_C99 - - - ) - -103  - #_MdoubË_END_NAMESPACE - -__END_NAMESPACE_C99 - - - ) - -104  - ~ - -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šed - -__NO_LONG_DOUBLE_MATH - && defšed -_LIBC -) \ - -112 || -defšed - -__LDBL_COMPAT - \ - -113 || -defšed - -_LIBC_TEST - - -114 #ifdeà -__LDBL_COMPAT - - -116 #ifdeà -__USE_ISOC99 - - -117  - $__Ædbl_Ãx‰ow¬df - ( -__x -,  -__y -) - -118 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -119 #ifdeà -__REDIRECT_NTH - - -120  - `__REDIRECT_NTH - ( -Ãx‰ow¬df -, ( -__x -,  -__y -), - -121 -__Ædbl_Ãx‰ow¬df -) - -122 - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -123  - `__REDIRECT_NTH - ( -Ãx‰ow¬d -, ( -__x -,  -__y -), - -124 -Ãxá” -è - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -125  - `__REDIRECT_NTH - ( -Ãx‰ow¬dl -, - -126 ( -__x -,  -__y -), - -127 -Ãxá” -è - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -131 #undeà -__MATHDECL_1 - - -132  - #__MATHDECL_2 -( -ty³ -, -funùiÚ -, -suffix -, -¬gs -, -®Ÿs -) \ - -133 -ty³ - - `__REDIRECT_NTH -( - `__MATH_PRECNAME -( -funùiÚ -, -suffix -), \ - -134 -¬gs -, -®Ÿs -) - - ) - -135  - #__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  - #_MlÚg_doubË_ -  - - ) - -145  - #_MdoubË_ - -_MlÚg_doubË_ - - - ) - -146  - #__MATH_PRECNAME -( -Çme -, -r -èÇme## -l -## - ) -r - -147  - #__MATH_DECLARING_DOUBLE - 0 - - ) - -148  - #_MdoubË_BEGIN_NAMESPACE - -__BEGIN_NAMESPACE_C99 - - - ) - -149  - #_MdoubË_END_NAMESPACE - -__END_NAMESPACE_C99 - - - ) - -150  - #__MATH_DECLARE_LDOUBLE - 1 - - ) - -151  - ~ - -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šed - -__USE_MISC - || defšed -__USE_XOPEN - - -168  -signgam -; - -173 #ifdeà -__USE_ISOC99 - - -211 -FP_NAN - = - -212  - #FP_NAN - 0 - - ) - -213 -FP_NAN -, - -214 -FP_INFINITE - = - -215  - #FP_INFINITE - 1 - - ) - -216 -FP_INFINITE -, - -217 -FP_ZERO - = - -218  - #FP_ZERO - 2 - - ) - -219 -FP_ZERO -, - -220 -FP_SUBNORMAL - = - -221  - #FP_SUBNORMAL - 3 - - ) - -222 -FP_SUBNORMAL -, - -223 -FP_NORMAL - = - -224  - #FP_NORMAL - 4 - - ) - -225 -FP_NORMAL - - -233 #ià - `__GNUC_PREREQ - (4,4è&& ! -defšed - -__SUPPORT_SNAN__ - \ - -234 && ! -defšed - -__OPTIMIZE_SIZE__ - - -235  - #åþassify -( -x -è - `__bužtš_åþassify - ( -FP_NAN -, -FP_INFINITE -, \ - -236 -FP_NORMAL -, -FP_SUBNORMAL -, -FP_ZERO -, -x -) - - ) - -237 #–ià -defšed - -__NO_LONG_DOUBLE_MATH - - -238  - #åþassify -( -x -) \ - -239 ( ( -x -è=ð (è? - `__åþassifyf - (xè: - `__åþassify - (x)) - - ) - -241  - #åþassify -( -x -) \ - -242 ( ( -x -) ==  () \ - -243 ? - `__åþassifyf - ( -x -) \ - -244 :  ( -x -) ==  () \ - -245 ? - `__åþassify - ( -x -è: - `__åþassifyl - (x)) - - ) - -249 #ià - `__GNUC_PREREQ - (4,0) - -250  - #signb™ -( -x -) \ - -251 ( ( -x -) ==  () \ - -252 ? - `__bužtš_signb™f - ( -x -) \ - -253 :  ( -x -) ==  () \ - -254 ? - `__bužtš_signb™ - ( -x -è: - `__bužtš_signb™l - (x)) - - ) - -256 #ifdeà -__NO_LONG_DOUBLE_MATH - - -257  - #signb™ -( -x -) \ - -258 ( ( -x -è=ð (è? - `__signb™f - (xè: - `__signb™ - (x)) - - ) - -260  - #signb™ -( -x -) \ - -261 ( ( -x -) ==  () \ - -262 ? - `__signb™f - ( -x -) \ - -263 :  ( -x -) ==  () \ - -264 ? - `__signb™ - ( -x -è: - `__signb™l - (x)) - - ) - -269 #ià - `__GNUC_PREREQ - (4,4è&& ! -defšed - -__SUPPORT_SNAN__ - - -270  - #isfš™e -( -x -è - `__bužtš_isfš™e - (x) - - ) - -271 #–ià -defšed - -__NO_LONG_DOUBLE_MATH - - -272  - #isfš™e -( -x -) \ - -273 ( ( -x -è=ð (è? - `__fš™ef - (xè: - `__fš™e - (x)) - - ) - -275  - #isfš™e -( -x -) \ - -276 ( ( -x -) ==  () \ - -277 ? - `__fš™ef - ( -x -) \ - -278 :  ( -x -) ==  () \ - -279 ? - `__fš™e - ( -x -è: - `__fš™– - (x)) - - ) - -283 #ià - `__GNUC_PREREQ - (4,4è&& ! -defšed - -__SUPPORT_SNAN__ - - -284  - #i¢Üm® -( -x -è - `__bužtš_i¢Üm® - (x) - - ) - -286  - #i¢Üm® -( -x -è( - `åþassify - (xè=ð -FP_NORMAL -) - - ) - -291 #ià - `__GNUC_PREREQ - (4,4è&& ! -defšed - -__SUPPORT_SNAN__ - - -292  - #i¢ª -( -x -è - `__bužtš_i¢ª - (x) - - ) - -293 #–ià -defšed - -__NO_LONG_DOUBLE_MATH - - -294  - #i¢ª -( -x -) \ - -295 ( ( -x -è=ð (è? - `__i¢ªf - (xè: - `__i¢ª - (x)) - - ) - -297  - #i¢ª -( -x -) \ - -298 ( ( -x -) ==  () \ - -299 ? - `__i¢ªf - ( -x -) \ - -300 :  ( -x -) ==  () \ - -301 ? - `__i¢ª - ( -x -è: - `__i¢ªl - (x)) - - ) - -305 #ià - `__GNUC_PREREQ - (4,4è&& ! -defšed - -__SUPPORT_SNAN__ - - -306  - #isšf -( -x -è - `__bužtš_isšf_sign - (x) - - ) - -307 #–ià -defšed - -__NO_LONG_DOUBLE_MATH - - -308  - #isšf -( -x -) \ - -309 ( ( -x -è=ð (è? - `__isšff - (xè: - `__isšf - (x)) - - ) - -311  - #isšf -( -x -) \ - -312 ( ( -x -) ==  () \ - -313 ? - `__isšff - ( -x -) \ - -314 :  ( -x -) ==  () \ - -315 ? - `__isšf - ( -x -è: - `__isšæ - (x)) - - ) - -319  - #MATH_ERRNO - 1 - - ) - -320  - #MATH_ERREXCEPT - 2 - - ) - -325 #iâdeà -__FAST_MATH__ - - -326  - #m©h_”rhªdlšg - ( -MATH_ERRNO - | -MATH_ERREXCEPT -) - - ) - -331 #ifdeà -__USE_GNU - - -333 #ifdeà -__NO_LONG_DOUBLE_MATH - - -334  - #issigÇlšg -( -x -) \ - -335 ( ( -x -è=ð (è? - `__issigÇlšgf - (xè: - `__issigÇlšg - (x)) - - ) - -337  - #issigÇlšg -( -x -) \ - -338 ( ( -x -) ==  () \ - -339 ? - `__issigÇlšgf - ( -x -) \ - -340 :  ( -x -) ==  () \ - -341 ? - `__issigÇlšg - ( -x -è: - `__issigÇlšgl - (x)) - - ) - -345 #ifdef -__USE_MISC - - -349 -_IEEE_ - = -1, - -350 -_SVID_ -, - -351 -_XOPEN_ -, - -352 -_POSIX_ -, - -353 -_ISOC_ - - -354 } - t_LIB_VERSION_TYPE -; - -359 -_LIB_VERSION_TYPE - -_LIB_VERSION -; - -363 #ifdeà -__USE_MISC - - -369 #ifdeà -__ýlu¥lus - - -370  -__exû±iÚ - - -372  -exû±iÚ - - -375  -ty³ -; - -376 * -Çme -; - -377  -¬g1 -; - -378  -¬g2 -; - -379  -»tv® -; - -380 - } -}; - -382 #ifdeà -__ýlu¥lus - - -383  - $m©h”r - ( -__exû±iÚ - * -__exc -è - `throw - (); - -385  - `m©h”r - ( -exû±iÚ - * -__exc -); - -388  - #X_TLOSS - 1.41484755040568800000e+16 - - ) - -391  - #DOMAIN - 1 - - ) - -392  - #SING - 2 - - ) - -393  - #OVERFLOW - 3 - - ) - -394  - #UNDERFLOW - 4 - - ) - -395  - #TLOSS - 5 - - ) - -396  - #PLOSS - 6 - - ) - -399  - #HUGE - 3.40282347e+38F - - ) - -403 #ifdeà -__USE_XOPEN - - -405  - #MAXFLOAT - 3.40282347e+38F - - ) - -412 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -413  - #M_E - 2.7182818284590452354 - - ) - -414  - #M_LOG2E - 1.4426950408889634074 - - ) - -415  - #M_LOG10E - 0.43429448190325182765 - - ) - -416  - #M_LN2 - 0.69314718055994530942 - - ) - -417  - #M_LN10 - 2.30258509299404568402 - - ) - -418  - #M_PI - 3.14159265358979323846 - - ) - -419  - #M_PI_2 - 1.57079632679489661923 - - ) - -420  - #M_PI_4 - 0.78539816339744830962 - - ) - -421  - #M_1_PI - 0.31830988618379067154 - - ) - -422  - #M_2_PI - 0.63661977236758134308 - - ) - -423  - #M_2_SQRTPI - 1.12837916709551257390 - - ) - -424  - #M_SQRT2 - 1.41421356237309504880 - - ) - -425  - #M_SQRT1_2 - 0.70710678118654752440 - - ) - -431 #ifdeà -__USE_GNU - - -432  - #M_El - 2.718281828459045235360287471352662498L - - ) - -433  - #M_LOG2El - 1.442695040888963407359924681001892137L - - ) - -434  - #M_LOG10El - 0.434294481903251827651128918916605082L - - ) - -435  - #M_LN2l - 0.693147180559945309417232121458176568L - - ) - -436  - #M_LN10l - 2.302585092994045684017991454684364208L - - ) - -437  - #M_PIl - 3.141592653589793238462643383279502884L - - ) - -438  - #M_PI_2l - 1.570796326794896619231321691639751442L - - ) - -439  - #M_PI_4l - 0.785398163397448309615660845819875721L - - ) - -440  - #M_1_PIl - 0.318309886183790671537767526745028724L - - ) - -441  - #M_2_PIl - 0.636619772367581343075535053490057448L - - ) - -442  - #M_2_SQRTPIl - 1.128379167095512573896158903121545172L - - ) - -443  - #M_SQRT2l - 1.414213562373095048801688724209698079L - - ) - -444  - #M_SQRT1_2l - 0.707106781186547524400844362104849039L - - ) - -451 #ià -defšed - -__STRICT_ANSI__ - && !defšed -__NO_MATH_INLINES - - -452  - #__NO_MATH_INLINES - 1 - - ) - -455 #ià -defšed - -__USE_ISOC99 - && - `__GNUC_PREREQ -(2,97) - -462  - #isg»©” -( -x -, -y -è - `__bužtš_isg»©” -(x, y) - - ) - -463  - #isg»©”equ® -( -x -, -y -è - `__bužtš_isg»©”equ® -(x, y) - - ) - -464  - #i¦ess -( -x -, -y -è - `__bužtš_i¦ess -(x, y) - - ) - -465  - #i¦es£qu® -( -x -, -y -è - `__bužtš_i¦es£qu® -(x, y) - - ) - -466  - #i¦essg»©” -( -x -, -y -è - `__bužtš_i¦essg»©” -(x, y) - - ) - -467  - #isunÜd”ed -( -u -, -v -è - `__bužtš_isunÜd”ed -(u, v) - - ) - -471 #ifdeà -__USE_EXTERN_INLINES - - -472  - ~ - -477 #ià -defšed - -__FINITE_MATH_ONLY__ - && __FINITE_MATH_ONLY__ > 0 - -478  - ~ - -481 #ifdeà -__USE_ISOC99 - - -485 #iâdeà -isg»©” - - -486  - #isg»©” -( -x -, -y -) \ - -487 ( -__ex‹nsiÚ__ - \ - -488 ({ - `__ty³of__ -( -x -è -__x - = (x); __ty³of__( -y -è -__y - = (y); \ - -489 ! - `isunÜd”ed - ( -__x -, -__y -è&& __x > __y; - } -})) - - ) - -493 #iâdeà -isg»©”equ® - - -494  - #isg»©”equ® -( -x -, -y -) \ - -495 ( -__ex‹nsiÚ__ - \ - -496 ({ - `__ty³of__ -( -x -è -__x - = (x); __ty³of__( -y -è -__y - = (y); \ - -497 ! - `isunÜd”ed - ( -__x -, -__y -è&& __x >ð__y; })) - - ) - -501 #iâdeà -i¦ess - - -502  - #i¦ess -( -x -, -y -) \ - -503 ( -__ex‹nsiÚ__ - \ - -504 ({ - `__ty³of__ -( -x -è -__x - = (x); __ty³of__( -y -è -__y - = (y); \ - -505 ! - `isunÜd”ed - ( -__x -, -__y -è&& __x < __y; })) - - ) - -509 #iâdeà -i¦es£qu® - - -510  - #i¦es£qu® -( -x -, -y -) \ - -511 ( -__ex‹nsiÚ__ - \ - -512 ({ - `__ty³of__ -( -x -è -__x - = (x); __ty³of__( -y -è -__y - = (y); \ - -513 ! - `isunÜd”ed - ( -__x -, -__y -è&& __x <ð__y; })) - - ) - -517 #iâdeà -i¦essg»©” - - -518  - #i¦essg»©” -( -x -, -y -) \ - -519 ( -__ex‹nsiÚ__ - \ - -520 ({ - `__ty³of__ -( -x -è -__x - = (x); __ty³of__( -y -è -__y - = (y); \ - -521 ! - `isunÜd”ed - ( -__x -, -__y -è&& (__x < __y || __y < __x); })) - - ) - -525 #iâdeà -isunÜd”ed - - -526  - #isunÜd”ed -( -u -, -v -) \ - -527 ( -__ex‹nsiÚ__ - \ - -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  - #_NETINET_IN_H - 1 - - ) - -21  - ~<ã©u»s.h -> - -22  - ~<¡dšt.h -> - -23  - ~ - -24  - ~ - -27 -__BEGIN_DECLS - - -30  -ušt32_t - - tš_addr_t -; - -31  - sš_addr - - -33 -š_addr_t - - ms_addr -; - -37  - ~ - -42 - mIPPROTO_IP - = 0, - -43  - #IPPROTO_IP - -IPPROTO_IP - - - ) - -44 - mIPPROTO_ICMP - = 1, - -45  - #IPPROTO_ICMP - -IPPROTO_ICMP - - - ) - -46 - mIPPROTO_IGMP - = 2, - -47  - #IPPROTO_IGMP - -IPPROTO_IGMP - - - ) - -48 - mIPPROTO_IPIP - = 4, - -49  - #IPPROTO_IPIP - -IPPROTO_IPIP - - - ) - -50 - mIPPROTO_TCP - = 6, - -51  - #IPPROTO_TCP - -IPPROTO_TCP - - - ) - -52 - mIPPROTO_EGP - = 8, - -53  - #IPPROTO_EGP - -IPPROTO_EGP - - - ) - -54 - mIPPROTO_PUP - = 12, - -55  - #IPPROTO_PUP - -IPPROTO_PUP - - - ) - -56 - mIPPROTO_UDP - = 17, - -57  - #IPPROTO_UDP - -IPPROTO_UDP - - - ) - -58 - mIPPROTO_IDP - = 22, - -59  - #IPPROTO_IDP - -IPPROTO_IDP - - - ) - -60 - mIPPROTO_TP - = 29, - -61  - #IPPROTO_TP - -IPPROTO_TP - - - ) - -62 - mIPPROTO_DCCP - = 33, - -63  - #IPPROTO_DCCP - -IPPROTO_DCCP - - - ) - -64 - mIPPROTO_IPV6 - = 41, - -65  - #IPPROTO_IPV6 - -IPPROTO_IPV6 - - - ) - -66 - mIPPROTO_RSVP - = 46, - -67  - #IPPROTO_RSVP - -IPPROTO_RSVP - - - ) - -68 - mIPPROTO_GRE - = 47, - -69  - #IPPROTO_GRE - -IPPROTO_GRE - - - ) - -70 - mIPPROTO_ESP - = 50, - -71  - #IPPROTO_ESP - -IPPROTO_ESP - - - ) - -72 - mIPPROTO_AH - = 51, - -73  - #IPPROTO_AH - -IPPROTO_AH - - - ) - -74 - mIPPROTO_MTP - = 92, - -75  - #IPPROTO_MTP - -IPPROTO_MTP - - - ) - -76 - mIPPROTO_BEETPH - = 94, - -77  - #IPPROTO_BEETPH - -IPPROTO_BEETPH - - - ) - -78 - mIPPROTO_ENCAP - = 98, - -79  - #IPPROTO_ENCAP - -IPPROTO_ENCAP - - - ) - -80 - mIPPROTO_PIM - = 103, - -81  - #IPPROTO_PIM - -IPPROTO_PIM - - - ) - -82 - mIPPROTO_COMP - = 108, - -83  - #IPPROTO_COMP - -IPPROTO_COMP - - - ) - -84 - mIPPROTO_SCTP - = 132, - -85  - #IPPROTO_SCTP - -IPPROTO_SCTP - - - ) - -86 - mIPPROTO_UDPLITE - = 136, - -87  - #IPPROTO_UDPLITE - -IPPROTO_UDPLITE - - - ) - -88 - mIPPROTO_MPLS - = 137, - -89  - #IPPROTO_MPLS - -IPPROTO_MPLS - - - ) - -90 - mIPPROTO_RAW - = 255, - -91  - #IPPROTO_RAW - -IPPROTO_RAW - - - ) - -92 - mIPPROTO_MAX - - -98 #iâdeà -__USE_KERNEL_IPV6_DEFS - - -101 - mIPPROTO_HOPOPTS - = 0, - -102  - #IPPROTO_HOPOPTS - -IPPROTO_HOPOPTS - - - ) - -103 - mIPPROTO_ROUTING - = 43, - -104  - #IPPROTO_ROUTING - -IPPROTO_ROUTING - - - ) - -105 - mIPPROTO_FRAGMENT - = 44, - -106  - #IPPROTO_FRAGMENT - -IPPROTO_FRAGMENT - - - ) - -107 - mIPPROTO_ICMPV6 - = 58, - -108  - #IPPROTO_ICMPV6 - -IPPROTO_ICMPV6 - - - ) - -109 - mIPPROTO_NONE - = 59, - -110  - #IPPROTO_NONE - -IPPROTO_NONE - - - ) - -111 - mIPPROTO_DSTOPTS - = 60, - -112  - #IPPROTO_DSTOPTS - -IPPROTO_DSTOPTS - - - ) - -113 - mIPPROTO_MH - = 135 - -114  - #IPPROTO_MH - -IPPROTO_MH - - - ) - -119  -ušt16_t - - tš_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  - #IN_CLASSA -( -a -è(((( -š_addr_t -)×)è& 0x80000000è=ð0) - - ) - -167  - #IN_CLASSA_NET - 0xff000000 - - ) - -168  - #IN_CLASSA_NSHIFT - 24 - - ) - -169  - #IN_CLASSA_HOST - (0xfffffffà& ~ -IN_CLASSA_NET -) - - ) - -170  - #IN_CLASSA_MAX - 128 - - ) - -172  - #IN_CLASSB -( -a -è(((( -š_addr_t -)×)è& 0xc0000000è=ð0x80000000) - - ) - -173  - #IN_CLASSB_NET - 0xffff0000 - - ) - -174  - #IN_CLASSB_NSHIFT - 16 - - ) - -175  - #IN_CLASSB_HOST - (0xfffffffà& ~ -IN_CLASSB_NET -) - - ) - -176  - #IN_CLASSB_MAX - 65536 - - ) - -178  - #IN_CLASSC -( -a -è(((( -š_addr_t -)×)è& 0xe0000000è=ð0xc0000000) - - ) - -179  - #IN_CLASSC_NET - 0xffffff00 - - ) - -180  - #IN_CLASSC_NSHIFT - 8 - - ) - -181  - #IN_CLASSC_HOST - (0xfffffffà& ~ -IN_CLASSC_NET -) - - ) - -183  - #IN_CLASSD -( -a -è(((( -š_addr_t -)×)è& 0xf0000000è=ð0xe0000000) - - ) - -184  - #IN_MULTICAST -( -a -è - `IN_CLASSD -×) - - ) - -186  - #IN_EXPERIMENTAL -( -a -è(((( -š_addr_t -)×)è& 0xe0000000è=ð0xe0000000) - - ) - -187  - #IN_BADCLASS -( -a -è(((( -š_addr_t -)×)è& 0xf0000000è=ð0xf0000000) - - ) - -190  - #INADDR_ANY - (( -š_addr_t -è0x00000000) - - ) - -192  - #INADDR_BROADCAST - (( -š_addr_t -è0xffffffff) - - ) - -194  - #INADDR_NONE - (( -š_addr_t -è0xffffffff) - - ) - -197  - #IN_LOOPBACKNET - 127 - - ) - -199 #iâdeà -INADDR_LOOPBACK - - -200  - #INADDR_LOOPBACK - (( -š_addr_t -è0x7f000001è - - ) - -204  - #INADDR_UNSPEC_GROUP - (( -š_addr_t -è0xe0000000è - - ) - -205  - #INADDR_ALLHOSTS_GROUP - (( -š_addr_t -è0xe0000001è - - ) - -206  - #INADDR_ALLRTRS_GROUP - (( -š_addr_t -è0xe0000002è - - ) - -207  - #INADDR_MAX_LOCAL_GROUP - (( -š_addr_t -è0xe00000ffè - - ) - -209 #iâdeà -__USE_KERNEL_IPV6_DEFS - - -211  - sš6_addr - - -215 -ušt8_t - - m__u6_addr8 -[16]; - -216 #ifdeà -__USE_MISC - - -217 -ušt16_t - - m__u6_addr16 -[8]; - -218 -ušt32_t - - m__u6_addr32 -[4]; - -220 } - m__š6_u -; - -221  - #s6_addr - -__š6_u -. -__u6_addr8 - - - ) - -222 #ifdeà -__USE_MISC - - -223  - #s6_addr16 - -__š6_u -. -__u6_addr16 - - - ) - -224  - #s6_addr32 - -__š6_u -. -__u6_addr32 - - - ) - -229 cÚ¡  -š6_addr - -š6addr_ªy -; - -230 cÚ¡  -š6_addr - -š6addr_loÝback -; - -231  - #IN6ADDR_ANY_INIT - { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } - - ) - -232  - #IN6ADDR_LOOPBACK_INIT - { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } - - ) - -234  - #INET_ADDRSTRLEN - 16 - - ) - -235  - #INET6_ADDRSTRLEN - 46 - - ) - -239  - ssockaddr_š - - -241 -__SOCKADDR_COMMON - ( -sš_ -); - -242 -š_pÜt_t - - msš_pÜt -; - -243  -š_addr - - msš_addr -; - -246  - msš_z”o -[ ( -sockaddr -) - - -247 -__SOCKADDR_COMMON_SIZE - - - -248  ( -š_pÜt_t -) - - -249  ( -š_addr -)]; - -252 #iâdeà -__USE_KERNEL_IPV6_DEFS - - -254  - ssockaddr_š6 - - -256 -__SOCKADDR_COMMON - ( -sš6_ -); - -257 -š_pÜt_t - - msš6_pÜt -; - -258 -ušt32_t - - msš6_æowšfo -; - -259  -š6_addr - - msš6_addr -; - -260 -ušt32_t - - msš6_scÝe_id -; - -264 #ifdeà -__USE_MISC - - -266  - s_m»q - - -269  -š_addr - - mimr_muɟddr -; - -272  -š_addr - - mimr_š‹rçû -; - -275  - s_m»q_sourû - - -278  -š_addr - - mimr_muɟddr -; - -281  -š_addr - - mimr_š‹rçû -; - -284  -š_addr - - mimr_sourûaddr -; - -288 #iâdeà -__USE_KERNEL_IPV6_DEFS - - -290  - sv6_m»q - - -293  -š6_addr - - mv6mr_muɟddr -; - -296  - mv6mr_š‹rçû -; - -300 #ifdeà -__USE_MISC - - -302  - sgroup_»q - - -305 -ušt32_t - - mgr_š‹rçû -; - -308  -sockaddr_¡Üage - - mgr_group -; - -311  - sgroup_sourû_»q - - -314 -ušt32_t - - mg¤_š‹rçû -; - -317  -sockaddr_¡Üage - - mg¤_group -; - -320  -sockaddr_¡Üage - - mg¤_sourû -; - -325  - s_msfž‹r - - -328  -š_addr - - mimsf_muɟddr -; - -331  -š_addr - - mimsf_š‹rçû -; - -334 -ušt32_t - - mimsf_fmode -; - -337 -ušt32_t - - mimsf_num¤c -; - -339  -š_addr - - mimsf_¦i¡ -[1]; - -342  - #IP_MSFILTER_SIZE -( -num¤c -è( ( -_msfž‹r -) \ - -343 -  ( -š_addr -) \ - -344 + ( -num¤c -è*  ( -š_addr -)) - - ) - -346  - sgroup_fž‹r - - -349 -ušt32_t - - mgf_š‹rçû -; - -352  -sockaddr_¡Üage - - mgf_group -; - -355 -ušt32_t - - mgf_fmode -; - -358 -ušt32_t - - mgf_num¤c -; - -360  -sockaddr_¡Üage - - mgf_¦i¡ -[1]; - -363  - #GROUP_FILTER_SIZE -( -num¤c -è( ( -group_fž‹r -) \ - -364 -  ( -sockaddr_¡Üage -) \ - -365 + (( -num¤c -) \ - -366 *  ( -sockaddr_¡Üage -))) - - ) - -376 -ušt32_t - - $Áohl - ( -ušt32_t - -__ÎÚg -è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -377 -ušt16_t - - $Áohs - ( -ušt16_t - -__ÃtshÜt -) - -378 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -379 -ušt32_t - - $htÚl - ( -ušt32_t - -__ho¡lÚg -) - -380 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -381 -ušt16_t - - $htÚs - ( -ušt16_t - -__ho¡shÜt -) - -382 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -384  - ~<’dŸn.h -> - -387  - ~ - -389 #ifdeà -__OPTIMIZE__ - - -393 #ià -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -396  - #Áohl -( -x -è(x) - - ) - -397  - #Áohs -( -x -è(x) - - ) - -398  - #htÚl -( -x -è(x) - - ) - -399  - #htÚs -( -x -è(x) - - ) - -401 #ià -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -402  - #Áohl -( -x -è - `__bsw­_32 - (x) - - ) - -403  - #Áohs -( -x -è - `__bsw­_16 - (x) - - ) - -404  - #htÚl -( -x -è - `__bsw­_32 - (x) - - ) - -405  - #htÚs -( -x -è - `__bsw­_16 - (x) - - ) - -410 #ifdeà -__GNUC__ - - -411  - #IN6_IS_ADDR_UNSPECIFIED -( -a -) \ - -412 ( -__ex‹nsiÚ__ - \ - -413 ({ cÚ¡  -š6_addr - * -__a - = (cÚ¡ š6_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  - #IN6_IS_ADDR_LOOPBACK -( -a -) \ - -420 ( -__ex‹nsiÚ__ - \ - -421 ({ cÚ¡  -š6_addr - * -__a - = (cÚ¡ š6_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  - #IN6_IS_ADDR_LINKLOCAL -( -a -) \ - -428 ( -__ex‹nsiÚ__ - \ - -429 ({ cÚ¡  -š6_addr - * -__a - = (cÚ¡ š6_add¸*è( -a -); \ - -430 ( -__a --> -s6_addr32 -[0] & - `htÚl - (0xffc00000)è=ðhtÚÈ(0xã800000); })) - - ) - -432  - #IN6_IS_ADDR_SITELOCAL -( -a -) \ - -433 ( -__ex‹nsiÚ__ - \ - -434 ({ cÚ¡  -š6_addr - * -__a - = (cÚ¡ š6_add¸*è( -a -); \ - -435 ( -__a --> -s6_addr32 -[0] & - `htÚl - (0xffc00000)è=ðhtÚÈ(0xãc00000); })) - - ) - -437  - #IN6_IS_ADDR_V4MAPPED -( -a -) \ - -438 ( -__ex‹nsiÚ__ - \ - -439 ({ cÚ¡  -š6_addr - * -__a - = (cÚ¡ š6_add¸*è( -a -); \ - -440 -__a --> -s6_addr32 -[0] == 0 \ - -441 && -__a --> -s6_addr32 -[1] == 0 \ - -442 && -__a --> -s6_addr32 -[2] =ð - `htÚl - (0xffff); })) - - ) - -444  - #IN6_IS_ADDR_V4COMPAT -( -a -) \ - -445 ( -__ex‹nsiÚ__ - \ - -446 ({ cÚ¡  -š6_addr - * -__a - = (cÚ¡ š6_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  - #IN6_ARE_ADDR_EQUAL -( -a -, -b -) \ - -453 ( -__ex‹nsiÚ__ - \ - -454 ({ cÚ¡  -š6_addr - * -__a - = (cÚ¡ š6_add¸*è( -a -); \ - -455 cÚ¡  -š6_addr - * -__b - = (cÚ¡ š6_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  - #IN6_IS_ADDR_UNSPECIFIED -( -a -) \ - -462 (((cÚ¡ -ušt32_t - *è( -a -))[0] == 0 \ - -463 && ((cÚ¡ -ušt32_t - *è( -a -))[1] == 0 \ - -464 && ((cÚ¡ -ušt32_t - *è( -a -))[2] == 0 \ - -465 && ((cÚ¡ -ušt32_t - *è( -a -))[3] =ð0) - - ) - -467  - #IN6_IS_ADDR_LOOPBACK -( -a -) \ - -468 (((cÚ¡ -ušt32_t - *è( -a -))[0] == 0 \ - -469 && ((cÚ¡ -ušt32_t - *è( -a -))[1] == 0 \ - -470 && ((cÚ¡ -ušt32_t - *è( -a -))[2] == 0 \ - -471 && ((cÚ¡ -ušt32_t - *è( -a -))[3] =ð - `htÚl - (1)) - - ) - -473  - #IN6_IS_ADDR_LINKLOCAL -( -a -) \ - -474 ((((cÚ¡ -ušt32_t - *è( -a -))[0] & - `htÚl - (0xffc00000)) \ - -475 =ð - `htÚl - (0xã800000)) - - ) - -477  - #IN6_IS_ADDR_SITELOCAL -( -a -) \ - -478 ((((cÚ¡ -ušt32_t - *è( -a -))[0] & - `htÚl - (0xffc00000)) \ - -479 =ð - `htÚl - (0xãc00000)) - - ) - -481  - #IN6_IS_ADDR_V4MAPPED -( -a -) \ - -482 ((((cÚ¡ -ušt32_t - *è( -a -))[0] == 0) \ - -483 && (((cÚ¡ -ušt32_t - *è( -a -))[1] == 0) \ - -484 && (((cÚ¡ -ušt32_t - *è( -a -))[2] =ð - `htÚl - (0xffff))) - - ) - -486  - #IN6_IS_ADDR_V4COMPAT -( -a -) \ - -487 ((((cÚ¡ -ušt32_t - *è( -a -))[0] == 0) \ - -488 && (((cÚ¡ -ušt32_t - *è( -a -))[1] == 0) \ - -489 && (((cÚ¡ -ušt32_t - *è( -a -))[2] == 0) \ - -490 && ( - `Áohl - (((cÚ¡ -ušt32_t - *è( -a -))[3]è> 1)) - - ) - -492  - #IN6_ARE_ADDR_EQUAL -( -a -, -b -) \ - -493 ((((cÚ¡ -ušt32_t - *è( -a -))[0] =ð((cÚ¡ ušt32_ˆ*è( -b -))[0]) \ - -494 && (((cÚ¡ -ušt32_t - *è( -a -))[1] =ð((cÚ¡ ušt32_ˆ*è( -b -))[1]) \ - -495 && (((cÚ¡ -ušt32_t - *è( -a -))[2] =ð((cÚ¡ ušt32_ˆ*è( -b -))[2]) \ - -496 && (((cÚ¡ -ušt32_t - *è( -a -))[3] =ð((cÚ¡ ušt32_ˆ*è( -b -))[3])) - - ) - -499  - #IN6_IS_ADDR_MULTICAST -( -a -è(((cÚ¡ -ušt8_t - *è×))[0] =ð0xff) - - ) - -501 #ifdeà -__USE_MISC - - -503  - $bšd»svpÜt - ( -__sockfd -,  -sockaddr_š - * -__sock_š -è -__THROW -; - -506  - $bšd»svpÜt6 - ( -__sockfd -,  -sockaddr_š6 - * -__sock_š -) - -507 -__THROW -; - -511  - #IN6_IS_ADDR_MC_NODELOCAL -( -a -) \ - -512 ( - `IN6_IS_ADDR_MULTICAST -( -a -) \ - -513 && ((((cÚ¡ -ušt8_t - *è( -a -))[1] & 0xfè=ð0x1)) - - ) - -515  - #IN6_IS_ADDR_MC_LINKLOCAL -( -a -) \ - -516 ( - `IN6_IS_ADDR_MULTICAST -( -a -) \ - -517 && ((((cÚ¡ -ušt8_t - *è( -a -))[1] & 0xfè=ð0x2)) - - ) - -519  - #IN6_IS_ADDR_MC_SITELOCAL -( -a -) \ - -520 ( - `IN6_IS_ADDR_MULTICAST -( -a -) \ - -521 && ((((cÚ¡ -ušt8_t - *è( -a -))[1] & 0xfè=ð0x5)) - - ) - -523  - #IN6_IS_ADDR_MC_ORGLOCAL -( -a -) \ - -524 ( - `IN6_IS_ADDR_MULTICAST -( -a -) \ - -525 && ((((cÚ¡ -ušt8_t - *è( -a -))[1] & 0xfè=ð0x8)) - - ) - -527  - #IN6_IS_ADDR_MC_GLOBAL -( -a -) \ - -528 ( - `IN6_IS_ADDR_MULTICAST -( -a -) \ - -529 && ((((cÚ¡ -ušt8_t - *è( -a -))[1] & 0xfè=ð0xe)) - - ) - -532 #ifdeà -__USE_GNU - - -533  -cmsghdr -; - -535 #iâdeà -__USE_KERNEL_IPV6_DEFS - - -537  - sš6_pktšfo - - -539  -š6_addr - -i6_addr -; - -540  -i6_ifšdex -; - -544  - s6_mtušfo - - -546  -sockaddr_š6 - -6m_addr -; - -547 -ušt32_t - -6m_mtu -; - -552  - $š‘6_ÝtiÚ_¥aû - ( -__nby‹s -) - -553 -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -554  - $š‘6_ÝtiÚ_š™ - (* -__bp -,  -cmsghdr - ** -__cmsgp -, - -555  -__ty³ -è -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -556  - $š‘6_ÝtiÚ_­³nd - ( -cmsghdr - * -__cmsg -, - -557 cÚ¡ -ušt8_t - * -__ty³p -,  -__muÉx -, - -558  -__¶usy -è -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -559 -ušt8_t - * - $š‘6_ÝtiÚ_®loc - ( -cmsghdr - * -__cmsg -,  -__d©®’ -, - -560  -__muÉx -,  -__¶usy -) - -561 -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -562  - $š‘6_ÝtiÚ_Ãxt - (cÚ¡  -cmsghdr - * -__cmsg -, - -563 -ušt8_t - ** -__Œp -) - -564 -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -565  - $š‘6_ÝtiÚ_fšd - (cÚ¡  -cmsghdr - * -__cmsg -, - -566 -ušt8_t - ** -__Œp -,  -__ty³ -) - -567 -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -571  - $š‘6_Ýt_š™ - (* -__extbuf -, -sockËn_t - -__exŽ’ -è -__THROW -; - -572  - $š‘6_Ýt_­³nd - (* -__extbuf -, -sockËn_t - -__exŽ’ -,  -__off£t -, - -573 -ušt8_t - -__ty³ -, -sockËn_t - -__Ën -, ušt8_ˆ -__®ign -, - -574 ** -__d©abuå -è -__THROW -; - -575  - $š‘6_Ýt_fšish - (* -__extbuf -, -sockËn_t - -__exŽ’ -,  -__off£t -) - -576 -__THROW -; - -577  - $š‘6_Ýt_£t_v® - (* -__d©abuf -,  -__off£t -, * -__v® -, - -578 -sockËn_t - -__v®Ën -è -__THROW -; - -579  - $š‘6_Ýt_Ãxt - (* -__extbuf -, -sockËn_t - -__exŽ’ -,  -__off£t -, - -580 -ušt8_t - * -__ty³p -, -sockËn_t - * -__ËÅ -, - -581 ** -__d©abuå -è -__THROW -; - -582  - $š‘6_Ýt_fšd - (* -__extbuf -, -sockËn_t - -__exŽ’ -,  -__off£t -, - -583 -ušt8_t - -__ty³ -, -sockËn_t - * -__ËÅ -, - -584 ** -__d©abuå -è -__THROW -; - -585  - $š‘6_Ýt_g‘_v® - (* -__d©abuf -,  -__off£t -, * -__v® -, - -586 -sockËn_t - -__v®Ën -è -__THROW -; - -590 -sockËn_t - - $š‘6_¹h_¥aû - ( -__ty³ -,  -__£gm’ts -è -__THROW -; - -591 * - $š‘6_¹h_š™ - (* -__bp -, -sockËn_t - -__bp_Ën -,  -__ty³ -, - -592  -__£gm’ts -è -__THROW -; - -593  - $š‘6_¹h_add - (* -__bp -, cÚ¡  -š6_addr - * -__addr -è -__THROW -; - -594  - $š‘6_¹h_»v”£ - (cÚ¡ * -__š -, * -__out -è -__THROW -; - -595  - $š‘6_¹h_£gm’ts - (cÚ¡ * -__bp -è -__THROW -; - -596  -š6_addr - * - $š‘6_¹h_g‘addr - (cÚ¡ * -__bp -,  -__šdex -) - -597 -__THROW -; - -603  - $g‘v4sourûfž‹r - ( -__s -,  -š_addr - -__š‹rçû_addr -, - -604  -š_addr - -__group -, -ušt32_t - * -__fmode -, - -605 -ušt32_t - * -__num¤c -,  -š_addr - * -__¦i¡ -) - -606 -__THROW -; - -609  - $£tv4sourûfž‹r - ( -__s -,  -š_addr - -__š‹rçû_addr -, - -610  -š_addr - -__group -, -ušt32_t - -__fmode -, - -611 -ušt32_t - -__num¤c -, - -612 cÚ¡  -š_addr - * -__¦i¡ -) - -613 -__THROW -; - -617  - $g‘sourûfž‹r - ( -__s -, -ušt32_t - -__š‹rçû_addr -, - -618 cÚ¡  -sockaddr - * -__group -, - -619 -sockËn_t - -__grou¶’ -, -ušt32_t - * -__fmode -, - -620 -ušt32_t - * -__num¤c -, - -621  -sockaddr_¡Üage - * -__¦i¡ -è -__THROW -; - -624  - $£tsourûfž‹r - ( -__s -, -ušt32_t - -__š‹rçû_addr -, - -625 cÚ¡  -sockaddr - * -__group -, - -626 -sockËn_t - -__grou¶’ -, -ušt32_t - -__fmode -, - -627 -ušt32_t - -__num¤c -, - -628 cÚ¡  -sockaddr_¡Üage - * -__¦i¡ -è -__THROW -; - -631 -__END_DECLS - - - @/usr/include/setjmp.h - -22 #iâdef -_SETJMP_H - - -23  - #_SETJMP_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -27 - g__BEGIN_DECLS - - -29  - ~ - -30  - ~ - -34  - s__jmp_buf_g - - -40 -__jmp_buf - - m__jmpbuf -; - -41  - m__mask_was_§ved -; - -42 -__sig£t_t - - m__§ved_mask -; - -46 -__BEGIN_NAMESPACE_STD - - -48  -__jmp_buf_g - - tjmp_buf -[1]; - -52  - $£tjmp - ( -jmp_buf - -__’v -è -__THROWNL -; - -54 -__END_NAMESPACE_STD - - -59  - $__sig£tjmp - ( -__jmp_buf_g - -__’v -[1],  -__§vemask -è -__THROWNL -; - -63  - $_£tjmp - ( -__jmp_buf_g - -__’v -[1]è -__THROWNL -; - -67  - #£tjmp -( -’v -è - `_£tjmp - (’v) - - ) - -70 -__BEGIN_NAMESPACE_STD - - -74  - $lÚgjmp - ( -__jmp_buf_g - -__’v -[1],  -__v® -) - -75 -__THROWNL - - `__©Œibu‹__ - (( -__nܑuº__ -)); - -77 -__END_NAMESPACE_STD - - -79 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -83  - $_lÚgjmp - ( -__jmp_buf_g - -__’v -[1],  -__v® -) - -84 -__THROWNL - - `__©Œibu‹__ - (( -__nܑuº__ -)); - -88 #ifdef -__USE_POSIX - - -92  -__jmp_buf_g - - tsigjmp_buf -[1]; - -96  - #sig£tjmp -( -’v -, -§vemask -è - `__sig£tjmp - (’v, savemask) - - ) - -102  - $siglÚgjmp - ( -sigjmp_buf - -__’v -,  -__v® -) - -103 -__THROWNL - - `__©Œibu‹__ - (( -__nܑuº__ -)); - -108 #ià -__USE_FORTIFY_LEVEL - > 0 - -109  - ~ - -112 -__END_DECLS - - - @/usr/include/signal.h - -22 #iâdef -_SIGNAL_H - - -24 #ià! -defšed - -__Ãed_sig_©omic_t - && !defšed -__Ãed_sig£t_t - - -25  - #_SIGNAL_H - - - ) - -28  - ~<ã©u»s.h -> - -30 - g__BEGIN_DECLS - - -32  - ~ - -36 #ià -defšed - -__Ãed_sig_©omic_t - || defšed -_SIGNAL_H - - -37 #iâdeà -__sig_©omic_t_defšed - - -38  - #__sig_©omic_t_defšed - - - ) - -39 -__BEGIN_NAMESPACE_STD - - -40  -__sig_©omic_t - - tsig_©omic_t -; - -41 - g__END_NAMESPACE_STD - - -43 #undeà -__Ãed_sig_©omic_t - - -46 #ià -defšed - -__Ãed_sig£t_t - || (defšed -_SIGNAL_H - && defšed -__USE_POSIX -) - -47 #iâdeà -__sig£t_t_defšed - - -48  - #__sig£t_t_defšed - - - ) - -49  -__sig£t_t - - tsig£t_t -; - -51 #undeà -__Ãed_sig£t_t - - -54 #ifdeà -_SIGNAL_H - - -56  - ~ - -57  - ~ - -59 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K - - -60 #iâdeà -__pid_t_defšed - - -61  -__pid_t - - tpid_t -; - -62  - #__pid_t_defšed - - - ) - -64 #ifdeà -__USE_XOPEN - - -66 #iâdeà -__uid_t_defšed - - -67  -__uid_t - - tuid_t -; - -68  - #__uid_t_defšed - - - ) - -72 #ifdeà -__USE_POSIX199309 - - -74  - #__Ãed_time¥ec - - - ) - -75  - ~ - -78 #ià -defšed - -__USE_POSIX199309 - || defšed -__USE_XOPEN_EXTENDED - - -80  - ~ - -85 (* - t__sighªdËr_t -) (); - -90 -__sighªdËr_t - - $__sysv_sigÇl - ( -__sig -, -__sighªdËr_t - -__hªdËr -) - -91 -__THROW -; - -92 #ifdeà -__USE_GNU - - -93 -__sighªdËr_t - - $sysv_sigÇl - ( -__sig -, -__sighªdËr_t - -__hªdËr -) - -94 -__THROW -; - -100 -__BEGIN_NAMESPACE_STD - - -101 #ifdeà -__USE_MISC - - -102 -__sighªdËr_t - - $sigÇl - ( -__sig -, -__sighªdËr_t - -__hªdËr -) - -103 -__THROW -; - -106 #ifdeà -__REDIRECT_NTH - - -107 -__sighªdËr_t - - `__REDIRECT_NTH - ( -sigÇl -, - -108 ( -__sig -, -__sighªdËr_t - -__hªdËr -), - -109 -__sysv_sigÇl -); - -111  - #sigÇl - -__sysv_sigÇl - - - ) - -114 -__END_NAMESPACE_STD - - -116 #ifdeà -__USE_XOPEN - - -119 -__sighªdËr_t - - $bsd_sigÇl - ( -__sig -, -__sighªdËr_t - -__hªdËr -) - -120 -__THROW -; - -126 #ifdeà -__USE_POSIX - - -127  - $kžl - ( -__pid_t - -__pid -,  -__sig -è -__THROW -; - -130 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -134  - $kžÍg - ( -__pid_t - -__pg½ -,  -__sig -è -__THROW -; - -137 -__BEGIN_NAMESPACE_STD - - -139  - $¿i£ - ( -__sig -è -__THROW -; - -140 -__END_NAMESPACE_STD - - -142 #ifdeà -__USE_MISC - - -144 -__sighªdËr_t - - $ssigÇl - ( -__sig -, -__sighªdËr_t - -__hªdËr -) - -145 -__THROW -; - -146  - $gsigÇl - ( -__sig -è -__THROW -; - -149 #ifdeà -__USE_XOPEN2K8 - - -151  - `psigÇl - ( -__sig -, cÚ¡ * -__s -); - -154  - `psigšfo - (cÚ¡ -sigšfo_t - * -__pšfo -, cÚ¡ * -__s -); - -166 #ifdeà -__USE_XOPEN - - -167 #ifdeà -__GNUC__ - - -168  - $sig·u£ - ( -__sig -è - `__asm__ - ("__xpg_sigpause"); - -170  - `__sig·u£ - ( -__sig_Ü_mask -,  -__is_sig -); - -172  - #sig·u£ -( -sig -è - `__sig·u£ - ((sig), 1) - - ) - -177 #ifdeà -__USE_MISC - - -184  - #sigmask -( -sig -è - `__sigmask -(sig) - - ) - -187  - $sigblock - ( -__mask -è -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -190  - $sig£tmask - ( -__mask -è -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -193  - $sigg‘mask - (è -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -197 #ifdeà -__USE_MISC - - -198  - #NSIG - -_NSIG - - - ) - -201 #ifdeà -__USE_GNU - - -202  -__sighªdËr_t - - tsighªdËr_t -; - -206 #ifdeà -__USE_MISC - - -207  -__sighªdËr_t - - tsig_t -; - -210 #ifdeà -__USE_POSIX - - -213  - $sigem±y£t - ( -sig£t_t - * -__£t -è -__THROW - - `__nÚnuÎ - ((1)); - -216  - $sigfžl£t - ( -sig£t_t - * -__£t -è -__THROW - - `__nÚnuÎ - ((1)); - -219  - $sigadd£t - ( -sig£t_t - * -__£t -,  -__signo -è -__THROW - - `__nÚnuÎ - ((1)); - -222  - $sigd–£t - ( -sig£t_t - * -__£t -,  -__signo -è -__THROW - - `__nÚnuÎ - ((1)); - -225  - $sigismemb” - (cÚ¡ -sig£t_t - * -__£t -,  -__signo -) - -226 -__THROW - - `__nÚnuÎ - ((1)); - -228 #ifdeà -__USE_GNU - - -230  - $sigi£m±y£t - (cÚ¡ -sig£t_t - * -__£t -è -__THROW - - `__nÚnuÎ - ((1)); - -233  - $sigªd£t - ( -sig£t_t - * -__£t -, cÚ¡ sig£t_ˆ* -__Ëá -, - -234 cÚ¡ -sig£t_t - * -__right -è -__THROW - - `__nÚnuÎ - ((1, 2, 3)); - -237  - $sigÜ£t - ( -sig£t_t - * -__£t -, cÚ¡ sig£t_ˆ* -__Ëá -, - -238 cÚ¡ -sig£t_t - * -__right -è -__THROW - - `__nÚnuÎ - ((1, 2, 3)); - -243  - ~ - -246  - $sig´ocmask - ( -__how -, cÚ¡ -sig£t_t - * -__»¡riù - -__£t -, - -247 -sig£t_t - * -__»¡riù - -__o£t -è -__THROW -; - -254  - $sigsu¥’d - (cÚ¡ -sig£t_t - * -__£t -è - `__nÚnuÎ - ((1)); - -257  - $sigaùiÚ - ( -__sig -, cÚ¡  -sigaùiÚ - * -__»¡riù - -__aù -, - -258  -sigaùiÚ - * -__»¡riù - -__ßù -è -__THROW -; - -261  - $sig³ndšg - ( -sig£t_t - * -__£t -è -__THROW - - `__nÚnuÎ - ((1)); - -268  - $sigwa™ - (cÚ¡ -sig£t_t - * -__»¡riù - -__£t -, *__»¡riù -__sig -) - -269 - `__nÚnuÎ - ((1, 2)); - -271 #ifdeà -__USE_POSIX199309 - - -276  - $sigwa™šfo - (cÚ¡ -sig£t_t - * -__»¡riù - -__£t -, - -277 -sigšfo_t - * -__»¡riù - -__šfo -è - `__nÚnuÎ - ((1)); - -284  - $sigtimedwa™ - (cÚ¡ -sig£t_t - * -__»¡riù - -__£t -, - -285 -sigšfo_t - * -__»¡riù - -__šfo -, - -286 cÚ¡  -time¥ec - * -__»¡riù - -__timeout -) - -287 - `__nÚnuÎ - ((1)); - -291  - $sigqueue - ( -__pid_t - -__pid -,  -__sig -, cÚ¡  -sigv® - -__v® -) - -292 -__THROW -; - -297 #ifdeà -__USE_MISC - - -301 cÚ¡ *cÚ¡ -_sys_sigli¡ -[ -_NSIG -]; - -302 cÚ¡ *cÚ¡ -sys_sigli¡ -[ -_NSIG -]; - -306  - ~ - -309  - $sig»tuº - ( -sigcڋxt - * -__sý -è -__THROW -; - -314 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -315  - #__Ãed_size_t - - - ) - -316  - ~<¡ddef.h -> - -321  - $sigš‹¼u± - ( -__sig -,  -__š‹¼u± -è -__THROW -; - -323  - ~ - -324 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 - - -326  - ~ - -332  - $sig¡ack - ( -sig¡ack - * -__ss -, sig¡ack * -__oss -) - -333 -__THROW - -__©Œibu‹_d•»ÿ‹d__ -; - -337  - $sig®t¡ack - (cÚ¡  -sig®t¡ack - * -__»¡riù - -__ss -, - -338  -sig®t¡ack - * -__»¡riù - -__oss -è -__THROW -; - -342 #ifdeà -__USE_XOPEN_EXTENDED - - -346  - $sighÞd - ( -__sig -è -__THROW -; - -349  - $sig»l£ - ( -__sig -è -__THROW -; - -352  - $sigignÜe - ( -__sig -è -__THROW -; - -355 -__sighªdËr_t - - $sig£t - ( -__sig -, -__sighªdËr_t - -__di¥ -è -__THROW -; - -358 #ià -defšed - -__USE_POSIX199506 - || defšed -__USE_UNIX98 - - -361  - ~ - -362  - ~ - -369  - $__libc_cu¼’t_sig¹mš - (è -__THROW -; - -371  - $__libc_cu¼’t_sig¹max - (è -__THROW -; - -375 -__END_DECLS - - - @/usr/include/stdint.h - -22 #iâdeà -_STDINT_H - - -23  - #_STDINT_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -26  - ~ - -27  - ~ - -34 #iâdeà -__št8_t_defšed - - -35  - #__št8_t_defšed - - - ) - -36 sigÃd  - tšt8_t -; - -37  - tšt16_t -; - -38  - tšt32_t -; - -39 #ià -__WORDSIZE - == 64 - -40  - tšt64_t -; - -42 -__ex‹nsiÚ__ - - -43  - tšt64_t -; - -48  - tušt8_t -; - -49  - tušt16_t -; - -50 #iâdeà -__ušt32_t_defšed - - -51  - tušt32_t -; - -52  - #__ušt32_t_defšed - - - ) - -54 #ià -__WORDSIZE - == 64 - -55  - tušt64_t -; - -57 -__ex‹nsiÚ__ - - -58  - tušt64_t -; - -65 sigÃd  - tšt_Ëa¡8_t -; - -66  - tšt_Ëa¡16_t -; - -67  - tšt_Ëa¡32_t -; - -68 #ià -__WORDSIZE - == 64 - -69  - tšt_Ëa¡64_t -; - -71 -__ex‹nsiÚ__ - - -72  - tšt_Ëa¡64_t -; - -76  - tušt_Ëa¡8_t -; - -77  - tušt_Ëa¡16_t -; - -78  - tušt_Ëa¡32_t -; - -79 #ià -__WORDSIZE - == 64 - -80  - tušt_Ëa¡64_t -; - -82 -__ex‹nsiÚ__ - - -83  - tušt_Ëa¡64_t -; - -90 sigÃd  - tšt_ç¡8_t -; - -91 #ià -__WORDSIZE - == 64 - -92  - tšt_ç¡16_t -; - -93  - tšt_ç¡32_t -; - -94  - tšt_ç¡64_t -; - -96  - tšt_ç¡16_t -; - -97  - tšt_ç¡32_t -; - -98 -__ex‹nsiÚ__ - - -99  - tšt_ç¡64_t -; - -103  - tušt_ç¡8_t -; - -104 #ià -__WORDSIZE - == 64 - -105  - tušt_ç¡16_t -; - -106  - tušt_ç¡32_t -; - -107  - tušt_ç¡64_t -; - -109  - tušt_ç¡16_t -; - -110  - tušt_ç¡32_t -; - -111 -__ex‹nsiÚ__ - - -112  - tušt_ç¡64_t -; - -117 #ià -__WORDSIZE - == 64 - -118 #iâdeà -__šŒ_t_defšed - - -119  - tšŒ_t -; - -120  - #__šŒ_t_defšed - - - ) - -122  - tušŒ_t -; - -124 #iâdeà -__šŒ_t_defšed - - -125  - tšŒ_t -; - -126  - #__šŒ_t_defšed - - - ) - -128  - tušŒ_t -; - -133 #ià -__WORDSIZE - == 64 - -134  - tštmax_t -; - -135  - tuštmax_t -; - -137 -__ex‹nsiÚ__ - - -138  - tštmax_t -; - -139 -__ex‹nsiÚ__ - - -140  - tuštmax_t -; - -144 #ià -__WORDSIZE - == 64 - -145  - #__INT64_C -( -c -èø## -L - - - ) - -146  - #__UINT64_C -( -c -èø## -UL - - - ) - -148  - #__INT64_C -( -c -èø## -LL - - - ) - -149  - #__UINT64_C -( -c -èø## -ULL - - - ) - -155  - #INT8_MIN - (-128) - - ) - -156  - #INT16_MIN - (-32767-1) - - ) - -157  - #INT32_MIN - (-2147483647-1) - - ) - -158  - #INT64_MIN - (- - `__INT64_C -(9223372036854775807)-1) - - ) - -160  - #INT8_MAX - (127) - - ) - -161  - #INT16_MAX - (32767) - - ) - -162  - #INT32_MAX - (2147483647) - - ) - -163  - #INT64_MAX - ( - `__INT64_C -(9223372036854775807)) - - ) - -166  - #UINT8_MAX - (255) - - ) - -167  - #UINT16_MAX - (65535) - - ) - -168  - #UINT32_MAX - (4294967295U) - - ) - -169  - #UINT64_MAX - ( - `__UINT64_C -(18446744073709551615)) - - ) - -173  - #INT_LEAST8_MIN - (-128) - - ) - -174  - #INT_LEAST16_MIN - (-32767-1) - - ) - -175  - #INT_LEAST32_MIN - (-2147483647-1) - - ) - -176  - #INT_LEAST64_MIN - (- - `__INT64_C -(9223372036854775807)-1) - - ) - -178  - #INT_LEAST8_MAX - (127) - - ) - -179  - #INT_LEAST16_MAX - (32767) - - ) - -180  - #INT_LEAST32_MAX - (2147483647) - - ) - -181  - #INT_LEAST64_MAX - ( - `__INT64_C -(9223372036854775807)) - - ) - -184  - #UINT_LEAST8_MAX - (255) - - ) - -185  - #UINT_LEAST16_MAX - (65535) - - ) - -186  - #UINT_LEAST32_MAX - (4294967295U) - - ) - -187  - #UINT_LEAST64_MAX - ( - `__UINT64_C -(18446744073709551615)) - - ) - -191  - #INT_FAST8_MIN - (-128) - - ) - -192 #ià -__WORDSIZE - == 64 - -193  - #INT_FAST16_MIN - (-9223372036854775807L-1) - - ) - -194  - #INT_FAST32_MIN - (-9223372036854775807L-1) - - ) - -196  - #INT_FAST16_MIN - (-2147483647-1) - - ) - -197  - #INT_FAST32_MIN - (-2147483647-1) - - ) - -199  - #INT_FAST64_MIN - (- - `__INT64_C -(9223372036854775807)-1) - - ) - -201  - #INT_FAST8_MAX - (127) - - ) - -202 #ià -__WORDSIZE - == 64 - -203  - #INT_FAST16_MAX - (9223372036854775807L) - - ) - -204  - #INT_FAST32_MAX - (9223372036854775807L) - - ) - -206  - #INT_FAST16_MAX - (2147483647) - - ) - -207  - #INT_FAST32_MAX - (2147483647) - - ) - -209  - #INT_FAST64_MAX - ( - `__INT64_C -(9223372036854775807)) - - ) - -212  - #UINT_FAST8_MAX - (255) - - ) - -213 #ià -__WORDSIZE - == 64 - -214  - #UINT_FAST16_MAX - (18446744073709551615UL) - - ) - -215  - #UINT_FAST32_MAX - (18446744073709551615UL) - - ) - -217  - #UINT_FAST16_MAX - (4294967295U) - - ) - -218  - #UINT_FAST32_MAX - (4294967295U) - - ) - -220  - #UINT_FAST64_MAX - ( - `__UINT64_C -(18446744073709551615)) - - ) - -224 #ià -__WORDSIZE - == 64 - -225  - #INTPTR_MIN - (-9223372036854775807L-1) - - ) - -226  - #INTPTR_MAX - (9223372036854775807L) - - ) - -227  - #UINTPTR_MAX - (18446744073709551615UL) - - ) - -229  - #INTPTR_MIN - (-2147483647-1) - - ) - -230  - #INTPTR_MAX - (2147483647) - - ) - -231  - #UINTPTR_MAX - (4294967295U) - - ) - -236  - #INTMAX_MIN - (- - `__INT64_C -(9223372036854775807)-1) - - ) - -238  - #INTMAX_MAX - ( - `__INT64_C -(9223372036854775807)) - - ) - -241  - #UINTMAX_MAX - ( - `__UINT64_C -(18446744073709551615)) - - ) - -247 #ià -__WORDSIZE - == 64 - -248  - #PTRDIFF_MIN - (-9223372036854775807L-1) - - ) - -249  - #PTRDIFF_MAX - (9223372036854775807L) - - ) - -251  - #PTRDIFF_MIN - (-2147483647-1) - - ) - -252  - #PTRDIFF_MAX - (2147483647) - - ) - -256  - #SIG_ATOMIC_MIN - (-2147483647-1) - - ) - -257  - #SIG_ATOMIC_MAX - (2147483647) - - ) - -260 #ià -__WORDSIZE - == 64 - -261  - #SIZE_MAX - (18446744073709551615UL) - - ) - -263 #ifdeà -__WORDSIZE32_SIZE_ULONG - - -264  - #SIZE_MAX - (4294967295UL) - - ) - -266  - #SIZE_MAX - (4294967295U) - - ) - -271 #iâdeà -WCHAR_MIN - - -273  - #WCHAR_MIN - -__WCHAR_MIN - - - ) - -274  - #WCHAR_MAX - -__WCHAR_MAX - - - ) - -278  - #WINT_MIN - (0u) - - ) - -279  - #WINT_MAX - (4294967295u) - - ) - -282  - #INT8_C -( -c -è - ) -c - -283  - #INT16_C -( -c -è - ) -c - -284  - #INT32_C -( -c -è - ) -c - -285 #ià -__WORDSIZE - == 64 - -286  - #INT64_C -( -c -èø## -L - - - ) - -288  - #INT64_C -( -c -èø## -LL - - - ) - -292  - #UINT8_C -( -c -è - ) -c - -293  - #UINT16_C -( -c -è - ) -c - -294  - #UINT32_C -( -c -èø## -U - - - ) - -295 #ià -__WORDSIZE - == 64 - -296  - #UINT64_C -( -c -èø## -UL - - - ) - -298  - #UINT64_C -( -c -èø## -ULL - - - ) - -302 #ià -__WORDSIZE - == 64 - -303  - #INTMAX_C -( -c -èø## -L - - - ) - -304  - #UINTMAX_C -( -c -èø## -UL - - - ) - -306  - #INTMAX_C -( -c -èø## -LL - - - ) - -307  - #UINTMAX_C -( -c -èø## -ULL - - - ) - - @/usr/include/stdio.h - -23 #iâdeà -_STDIO_H - - -25 #ià! -defšed - -__Ãed_FILE - && !defšed -__Ãed___FILE - - -26  - #_STDIO_H - 1 - - ) - -27  - ~<ã©u»s.h -> - -29 - g__BEGIN_DECLS - - -31  - #__Ãed_size_t - - - ) - -32  - #__Ãed_NULL - - - ) - -33  - ~<¡ddef.h -> - -35  - ~ - -36  - #__Ãed_FILE - - - ) - -37  - #__Ãed___FILE - - - ) - -41 #ià! -defšed - -__FILE_defšed - && defšed -__Ãed_FILE - - -44  - g_IO_FILE -; - -46 -__BEGIN_NAMESPACE_STD - - -48  -_IO_FILE - - tFILE -; - -49 - g__END_NAMESPACE_STD - - -50 #ià -defšed - -__USE_LARGEFILE64 - || defšed -__USE_POSIX - \ - -51 || -defšed - - g__USE_ISOC99 - || defšed - g__USE_XOPEN - \ - -52 || -defšed - -__USE_POSIX2 - - -53 - $__USING_NAMESPACE_STD -( -FILE -) - -56  - #__FILE_defšed - 1 - - ) - -58 #undeà -__Ãed_FILE - - -61 #ià! -defšed - -____FILE_defšed - && defšed -__Ãed___FILE - - -64  -_IO_FILE - - t__FILE -; - -66  - #____FILE_defšed - 1 - - ) - -68 #undeà -__Ãed___FILE - - -71 #ifdef -_STDIO_H - - -72  - #_STDIO_USES_IOSTREAM - - - ) - -74  - ~ - -76 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 - - -77 #ifdeà -__GNUC__ - - -78 #iâdeà -_VA_LIST_DEFINED - - -79  -_G_va_li¡ - - tva_li¡ -; - -80  - #_VA_LIST_DEFINED - - - ) - -83  - ~<¡d¬g.h -> - -87 #ifdeà -__USE_XOPEN2K8 - - -88 #iâdeà -__off_t_defšed - - -89 #iâdeà -__USE_FILE_OFFSET64 - - -90  -__off_t - - toff_t -; - -92  -__off64_t - - toff_t -; - -94  - #__off_t_defšed - - - ) - -96 #ià -defšed - -__USE_LARGEFILE64 - && !defšed -__off64_t_defšed - - -97  -__off64_t - - toff64_t -; - -98  - #__off64_t_defšed - - - ) - -101 #iâdeà -__ssize_t_defšed - - -102  -__ssize_t - - tssize_t -; - -103  - #__ssize_t_defšed - - - ) - -108 -__BEGIN_NAMESPACE_STD - - -109 #iâdeà -__USE_FILE_OFFSET64 - - -110  -_G_åos_t - - tåos_t -; - -112  -_G_åos64_t - - tåos_t -; - -114 -__END_NAMESPACE_STD - - -115 #ifdeà -__USE_LARGEFILE64 - - -116  -_G_åos64_t - - tåos64_t -; - -120  - #_IOFBF - 0 - - ) - -121  - #_IOLBF - 1 - - ) - -122  - #_IONBF - 2 - - ) - -126 #iâdeà -BUFSIZ - - -127  - #BUFSIZ - -_IO_BUFSIZ - - - ) - -133 #iâdeà -EOF - - -134  - #EOF - (-1) - - ) - -140  - #SEEK_SET - 0 - - ) - -141  - #SEEK_CUR - 1 - - ) - -142  - #SEEK_END - 2 - - ) - -143 #ifdeà -__USE_GNU - - -144  - #SEEK_DATA - 3 - - ) - -145  - #SEEK_HOLE - 4 - - ) - -149 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -151  - #P_tmpdœ - "/tmp" - - ) - -164  - ~ - -168  -_IO_FILE - * -¡dš -; - -169  -_IO_FILE - * -¡dout -; - -170  -_IO_FILE - * -¡d”r -; - -172  - #¡dš - -¡dš - - - ) - -173  - #¡dout - -¡dout - - - ) - -174  - #¡d”r - -¡d”r - - - ) - -176 -__BEGIN_NAMESPACE_STD - - -178  - $»move - (cÚ¡ * -__fž’ame -è -__THROW -; - -180  - $»Çme - (cÚ¡ * -__Þd -, cÚ¡ * -__Ãw -è -__THROW -; - -181 -__END_NAMESPACE_STD - - -183 #ifdeà -__USE_ATFILE - - -185  - $»Çm—t - ( -__Þdfd -, cÚ¡ * -__Þd -,  -__Ãwfd -, - -186 cÚ¡ * -__Ãw -è -__THROW -; - -189 -__BEGIN_NAMESPACE_STD - - -194 #iâdeà -__USE_FILE_OFFSET64 - - -195 -FILE - * - $tmpfže - (è -__wur -; - -197 #ifdeà -__REDIRECT - - -198 -FILE - * - `__REDIRECT - ( -tmpfže -, (), -tmpfže64 -è -__wur -; - -200  - #tmpfže - -tmpfže64 - - - ) - -204 #ifdeà -__USE_LARGEFILE64 - - -205 -FILE - * - $tmpfže64 - (è -__wur -; - -209 * - $tm²am - (* -__s -è -__THROW - -__wur -; - -210 -__END_NAMESPACE_STD - - -212 #ifdeà -__USE_MISC - - -215 * - $tm²am_r - (* -__s -è -__THROW - -__wur -; - -219 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -227 * - $‹m²am - (cÚ¡ * -__dœ -, cÚ¡ * -__pfx -) - -228 -__THROW - -__©Œibu‹_m®loc__ - -__wur -; - -232 -__BEGIN_NAMESPACE_STD - - -237  - `fþo£ - ( -FILE - * -__¡»am -); - -242  - `fæush - ( -FILE - * -__¡»am -); - -243 -__END_NAMESPACE_STD - - -245 #ifdeà -__USE_MISC - - -252  - `fæush_uÆocked - ( -FILE - * -__¡»am -); - -255 #ifdeà -__USE_GNU - - -262  - `fþo£®l - (); - -266 -__BEGIN_NAMESPACE_STD - - -267 #iâdeà -__USE_FILE_OFFSET64 - - -272 -FILE - * - $fݒ - (cÚ¡ * -__»¡riù - -__fž’ame -, - -273 cÚ¡ * -__»¡riù - -__modes -è -__wur -; - -278 -FILE - * - $äeݒ - (cÚ¡ * -__»¡riù - -__fž’ame -, - -279 cÚ¡ * -__»¡riù - -__modes -, - -280 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -282 #ifdeà -__REDIRECT - - -283 -FILE - * - `__REDIRECT - ( -fݒ -, (cÚ¡ * -__»¡riù - -__fž’ame -, - -284 cÚ¡ * -__»¡riù - -__modes -), -fݒ64 -) - -285 -__wur -; - -286 -FILE - * - `__REDIRECT - ( -äeݒ -, (cÚ¡ * -__»¡riù - -__fž’ame -, - -287 cÚ¡ * -__»¡riù - -__modes -, - -288 -FILE - * -__»¡riù - -__¡»am -), -äeݒ64 -) - -289 -__wur -; - -291  - #fݒ - -fݒ64 - - - ) - -292  - #äeݒ - -äeݒ64 - - - ) - -295 -__END_NAMESPACE_STD - - -296 #ifdeà -__USE_LARGEFILE64 - - -297 -FILE - * - $fݒ64 - (cÚ¡ * -__»¡riù - -__fž’ame -, - -298 cÚ¡ * -__»¡riù - -__modes -è -__wur -; - -299 -FILE - * - $äeݒ64 - (cÚ¡ * -__»¡riù - -__fž’ame -, - -300 cÚ¡ * -__»¡riù - -__modes -, - -301 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -304 #ifdef -__USE_POSIX - - -306 -FILE - * - $fdݒ - ( -__fd -, cÚ¡ * -__modes -è -__THROW - -__wur -; - -309 #ifdef -__USE_GNU - - -312 -FILE - * - $fݒcook› - (* -__»¡riù - -__magic_cook› -, - -313 cÚ¡ * -__»¡riù - -__modes -, - -314 -_IO_cook›_io_funùiÚs_t - -__io_funcs -è -__THROW - -__wur -; - -317 #ifdeà -__USE_XOPEN2K8 - - -319 -FILE - * - $fmemݒ - (* -__s -, -size_t - -__Ën -, cÚ¡ * -__modes -) - -320 -__THROW - -__wur -; - -325 -FILE - * - $ݒ_mem¡»am - (** -__buæoc -, -size_t - * -__siz–oc -è -__THROW - -__wur -; - -329 -__BEGIN_NAMESPACE_STD - - -332  - $£tbuf - ( -FILE - * -__»¡riù - -__¡»am -, *__»¡riù -__buf -è -__THROW -; - -336  - $£tvbuf - ( -FILE - * -__»¡riù - -__¡»am -, *__»¡riù -__buf -, - -337  -__modes -, -size_t - -__n -è -__THROW -; - -338 -__END_NAMESPACE_STD - - -340 #ifdef -__USE_MISC - - -343  - $£tbufãr - ( -FILE - * -__»¡riù - -__¡»am -, *__»¡riù -__buf -, - -344 -size_t - -__size -è -__THROW -; - -347  - $£Žšebuf - ( -FILE - * -__¡»am -è -__THROW -; - -351 -__BEGIN_NAMESPACE_STD - - -356  - `årštf - ( -FILE - * -__»¡riù - -__¡»am -, - -357 cÚ¡ * -__»¡riù - -__fÜm© -, ...); - -362  - `´štf - (cÚ¡ * -__»¡riù - -__fÜm© -, ...); - -364  - $¥rštf - (* -__»¡riù - -__s -, - -365 cÚ¡ * -__»¡riù - -__fÜm© -, ...è -__THROWNL -; - -371  - `vårštf - ( -FILE - * -__»¡riù - -__s -, cÚ¡ *__»¡riù -__fÜm© -, - -372 -_G_va_li¡ - -__¬g -); - -377  - `v´štf - (cÚ¡ * -__»¡riù - -__fÜm© -, -_G_va_li¡ - -__¬g -); - -379  - $v¥rštf - (* -__»¡riù - -__s -, cÚ¡ *__»¡riù -__fÜm© -, - -380 -_G_va_li¡ - -__¬g -è -__THROWNL -; - -381 -__END_NAMESPACE_STD - - -383 #ià -defšed - -__USE_ISOC99 - || defšed -__USE_UNIX98 - - -384 -__BEGIN_NAMESPACE_C99 - - -386  - $¢´štf - (* -__»¡riù - -__s -, -size_t - -__maxËn -, - -387 cÚ¡ * -__»¡riù - -__fÜm© -, ...) - -388 -__THROWNL - - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 3, 4))); - -390  - $v¢´štf - (* -__»¡riù - -__s -, -size_t - -__maxËn -, - -391 cÚ¡ * -__»¡riù - -__fÜm© -, -_G_va_li¡ - -__¬g -) - -392 -__THROWNL - - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 3, 0))); - -393 -__END_NAMESPACE_C99 - - -396 #ifdeà -__USE_GNU - - -399  - $va¥rštf - (** -__»¡riù - -__±r -, cÚ¡ *__»¡riù -__f -, - -400 -_G_va_li¡ - -__¬g -) - -401 -__THROWNL - - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__´štf__ -, 2, 0))è -__wur -; - -402  - $__a¥rštf - (** -__»¡riù - -__±r -, - -403 cÚ¡ * -__»¡riù - -__fmt -, ...) - -404 -__THROWNL - - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__´štf__ -, 2, 3))è -__wur -; - -405  - $a¥rštf - (** -__»¡riù - -__±r -, - -406 cÚ¡ * -__»¡riù - -__fmt -, ...) - -407 -__THROWNL - - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__´štf__ -, 2, 3))è -__wur -; - -410 #ifdeà -__USE_XOPEN2K8 - - -412  - $vd´štf - ( -__fd -, cÚ¡ * -__»¡riù - -__fmt -, - -413 -_G_va_li¡ - -__¬g -) - -414 - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 2, 0))); - -415  - $d´štf - ( -__fd -, cÚ¡ * -__»¡riù - -__fmt -, ...) - -416 - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 2, 3))); - -420 -__BEGIN_NAMESPACE_STD - - -425  - $fsÿnf - ( -FILE - * -__»¡riù - -__¡»am -, - -426 cÚ¡ * -__»¡riù - -__fÜm© -, ...è -__wur -; - -431  - $sÿnf - (cÚ¡ * -__»¡riù - -__fÜm© -, ...è -__wur -; - -433  - $ssÿnf - (cÚ¡ * -__»¡riù - -__s -, - -434 cÚ¡ * -__»¡riù - -__fÜm© -, ...è -__THROW -; - -436 #ià -defšed - -__USE_ISOC99 - && !defšed -__USE_GNU - \ - -437 && (! -defšed - -__LDBL_COMPAT - || !defšed -__REDIRECT -) \ - -438 && ( -defšed - -__STRICT_ANSI__ - || defšed -__USE_XOPEN2K -) - -439 #ifdeà -__REDIRECT - - -443  - `__REDIRECT - ( -fsÿnf -, ( -FILE - * -__»¡riù - -__¡»am -, - -444 cÚ¡ * -__»¡riù - -__fÜm© -, ...), - -445 -__isoc99_fsÿnf -è -__wur -; - -446  - `__REDIRECT - ( -sÿnf -, (cÚ¡ * -__»¡riù - -__fÜm© -, ...), - -447 -__isoc99_sÿnf -è -__wur -; - -448  - `__REDIRECT_NTH - ( -ssÿnf -, (cÚ¡ * -__»¡riù - -__s -, - -449 cÚ¡ * -__»¡riù - -__fÜm© -, ...), - -450 -__isoc99_ssÿnf -); - -452  - $__isoc99_fsÿnf - ( -FILE - * -__»¡riù - -__¡»am -, - -453 cÚ¡ * -__»¡riù - -__fÜm© -, ...è -__wur -; - -454  - $__isoc99_sÿnf - (cÚ¡ * -__»¡riù - -__fÜm© -, ...è -__wur -; - -455  - $__isoc99_ssÿnf - (cÚ¡ * -__»¡riù - -__s -, - -456 cÚ¡ * -__»¡riù - -__fÜm© -, ...è -__THROW -; - -457  - #fsÿnf - -__isoc99_fsÿnf - - - ) - -458  - #sÿnf - -__isoc99_sÿnf - - - ) - -459  - #ssÿnf - -__isoc99_ssÿnf - - - ) - -463 -__END_NAMESPACE_STD - - -465 #ifdef -__USE_ISOC99 - - -466 -__BEGIN_NAMESPACE_C99 - - -471  - $vfsÿnf - ( -FILE - * -__»¡riù - -__s -, cÚ¡ *__»¡riù -__fÜm© -, - -472 -_G_va_li¡ - -__¬g -) - -473 - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__sÿnf__ -, 2, 0))è -__wur -; - -479  - $vsÿnf - (cÚ¡ * -__»¡riù - -__fÜm© -, -_G_va_li¡ - -__¬g -) - -480 - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__sÿnf__ -, 1, 0))è -__wur -; - -483  - $vssÿnf - (cÚ¡ * -__»¡riù - -__s -, - -484 cÚ¡ * -__»¡riù - -__fÜm© -, -_G_va_li¡ - -__¬g -) - -485 -__THROW - - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__sÿnf__ -, 2, 0))); - -487 #ià! -defšed - -__USE_GNU - \ - -488 && (! -defšed - -__LDBL_COMPAT - || !defšed -__REDIRECT -) \ - -489 && ( -defšed - -__STRICT_ANSI__ - || defšed -__USE_XOPEN2K -) - -490 #ifdeà -__REDIRECT - - -494  - `__REDIRECT - ( -vfsÿnf -, - -495 ( -FILE - * -__»¡riù - -__s -, - -496 cÚ¡ * -__»¡riù - -__fÜm© -, -_G_va_li¡ - -__¬g -), - -497 -__isoc99_vfsÿnf -) - -498 - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__sÿnf__ -, 2, 0))è -__wur -; - -499  - `__REDIRECT - ( -vsÿnf -, (cÚ¡ * -__»¡riù - -__fÜm© -, - -500 -_G_va_li¡ - -__¬g -), -__isoc99_vsÿnf -) - -501 - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__sÿnf__ -, 1, 0))è -__wur -; - -502  - `__REDIRECT_NTH - ( -vssÿnf -, - -503 (cÚ¡ * -__»¡riù - -__s -, - -504 cÚ¡ * -__»¡riù - -__fÜm© -, - -505 -_G_va_li¡ - -__¬g -), -__isoc99_vssÿnf -) - -506 - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__sÿnf__ -, 2, 0))); - -508  - $__isoc99_vfsÿnf - ( -FILE - * -__»¡riù - -__s -, - -509 cÚ¡ * -__»¡riù - -__fÜm© -, - -510 -_G_va_li¡ - -__¬g -è -__wur -; - -511  - $__isoc99_vsÿnf - (cÚ¡ * -__»¡riù - -__fÜm© -, - -512 -_G_va_li¡ - -__¬g -è -__wur -; - -513  - $__isoc99_vssÿnf - (cÚ¡ * -__»¡riù - -__s -, - -514 cÚ¡ * -__»¡riù - -__fÜm© -, - -515 -_G_va_li¡ - -__¬g -è -__THROW -; - -516  - #vfsÿnf - -__isoc99_vfsÿnf - - - ) - -517  - #vsÿnf - -__isoc99_vsÿnf - - - ) - -518  - #vssÿnf - -__isoc99_vssÿnf - - - ) - -522 -__END_NAMESPACE_C99 - - -526 -__BEGIN_NAMESPACE_STD - - -531  - `fg‘c - ( -FILE - * -__¡»am -); - -532  - `g‘c - ( -FILE - * -__¡»am -); - -538  - `g‘ch¬ - (); - -539 -__END_NAMESPACE_STD - - -543  - #g‘c -( -_å -è - `_IO_g‘c - (_å) - - ) - -545 #ifdeà -__USE_POSIX - - -550  - `g‘c_uÆocked - ( -FILE - * -__¡»am -); - -551  - `g‘ch¬_uÆocked - (); - -554 #ifdeà -__USE_MISC - - -561  - `fg‘c_uÆocked - ( -FILE - * -__¡»am -); - -565 -__BEGIN_NAMESPACE_STD - - -573  - `åutc - ( -__c -, -FILE - * -__¡»am -); - -574  - `putc - ( -__c -, -FILE - * -__¡»am -); - -580  - `putch¬ - ( -__c -); - -581 -__END_NAMESPACE_STD - - -585  - #putc -( -_ch -, -_å -è - `_IO_putc - (_ch, _å) - - ) - -587 #ifdeà -__USE_MISC - - -594  - `åutc_uÆocked - ( -__c -, -FILE - * -__¡»am -); - -597 #ifdeà -__USE_POSIX - - -602  - `putc_uÆocked - ( -__c -, -FILE - * -__¡»am -); - -603  - `putch¬_uÆocked - ( -__c -); - -607 #ià -defšed - -__USE_MISC - \ - -608 || ( -defšed - -__USE_XOPEN - && !defšed -__USE_XOPEN2K -) - -610  - `g‘w - ( -FILE - * -__¡»am -); - -613  - `putw - ( -__w -, -FILE - * -__¡»am -); - -617 -__BEGIN_NAMESPACE_STD - - -622 * - $fg‘s - (* -__»¡riù - -__s -,  -__n -, -FILE - *__»¡riù -__¡»am -) - -623 -__wur -; - -625 #ià! -defšed - -__USE_ISOC11 - \ - -626 || ( -defšed - -__ýlu¥lus - && __cplusplus <= 201103L) - -638 * - $g‘s - (* -__s -è -__wur - -__©Œibu‹_d•»ÿ‹d__ -; - -640 -__END_NAMESPACE_STD - - -642 #ifdeà -__USE_GNU - - -649 * - $fg‘s_uÆocked - (* -__»¡riù - -__s -,  -__n -, - -650 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -654 #ifdef -__USE_XOPEN2K8 - - -665 -_IO_ssize_t - - $__g‘d–im - (** -__»¡riù - -__lš•Œ -, - -666 -size_t - * -__»¡riù - -__n -,  -__d–im™” -, - -667 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -668 -_IO_ssize_t - - $g‘d–im - (** -__»¡riù - -__lš•Œ -, - -669 -size_t - * -__»¡riù - -__n -,  -__d–im™” -, - -670 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -678 -_IO_ssize_t - - $g‘lše - (** -__»¡riù - -__lš•Œ -, - -679 -size_t - * -__»¡riù - -__n -, - -680 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -684 -__BEGIN_NAMESPACE_STD - - -689  - `åuts - (cÚ¡ * -__»¡riù - -__s -, -FILE - *__»¡riù -__¡»am -); - -695  - `puts - (cÚ¡ * -__s -); - -702  - `ung‘c - ( -__c -, -FILE - * -__¡»am -); - -709 -size_t - - $ä—d - (* -__»¡riù - -__±r -, -size_t - -__size -, - -710 -size_t - -__n -, -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -715 -size_t - - `fwr™e - (cÚ¡ * -__»¡riù - -__±r -, size_ˆ -__size -, - -716 -size_t - -__n -, -FILE - * -__»¡riù - -__s -); - -717 -__END_NAMESPACE_STD - - -719 #ifdeà -__USE_GNU - - -726  - `åuts_uÆocked - (cÚ¡ * -__»¡riù - -__s -, - -727 -FILE - * -__»¡riù - -__¡»am -); - -730 #ifdeà -__USE_MISC - - -737 -size_t - - $ä—d_uÆocked - (* -__»¡riù - -__±r -, -size_t - -__size -, - -738 -size_t - -__n -, -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -739 -size_t - - `fwr™e_uÆocked - (cÚ¡ * -__»¡riù - -__±r -, size_ˆ -__size -, - -740 -size_t - -__n -, -FILE - * -__»¡riù - -__¡»am -); - -744 -__BEGIN_NAMESPACE_STD - - -749  - `f£ek - ( -FILE - * -__¡»am -,  -__off -,  -__wh’û -); - -754  - $á–l - ( -FILE - * -__¡»am -è -__wur -; - -759  - `»wšd - ( -FILE - * -__¡»am -); - -760 -__END_NAMESPACE_STD - - -767 #ià -defšed - -__USE_LARGEFILE - || defšed -__USE_XOPEN2K - - -768 #iâdeà -__USE_FILE_OFFSET64 - - -773  - `f£eko - ( -FILE - * -__¡»am -, -__off_t - -__off -,  -__wh’û -); - -778 -__off_t - - $á–lo - ( -FILE - * -__¡»am -è -__wur -; - -780 #ifdeà -__REDIRECT - - -781  - `__REDIRECT - ( -f£eko -, - -782 ( -FILE - * -__¡»am -, -__off64_t - -__off -,  -__wh’û -), - -783 -f£eko64 -); - -784 -__off64_t - - `__REDIRECT - ( -á–lo -, ( -FILE - * -__¡»am -), -á–lo64 -); - -786  - #f£eko - -f£eko64 - - - ) - -787  - #á–lo - -á–lo64 - - - ) - -792 -__BEGIN_NAMESPACE_STD - - -793 #iâdeà -__USE_FILE_OFFSET64 - - -798  - `fg‘pos - ( -FILE - * -__»¡riù - -__¡»am -, -åos_t - *__»¡riù -__pos -); - -803  - `f£os - ( -FILE - * -__¡»am -, cÚ¡ -åos_t - * -__pos -); - -805 #ifdeà -__REDIRECT - - -806  - `__REDIRECT - ( -fg‘pos -, ( -FILE - * -__»¡riù - -__¡»am -, - -807 -åos_t - * -__»¡riù - -__pos -), -fg‘pos64 -); - -808  - `__REDIRECT - ( -f£os -, - -809 ( -FILE - * -__¡»am -, cÚ¡ -åos_t - * -__pos -), -f£os64 -); - -811  - #fg‘pos - -fg‘pos64 - - - ) - -812  - #f£os - -f£os64 - - - ) - -815 -__END_NAMESPACE_STD - - -817 #ifdeà -__USE_LARGEFILE64 - - -818  - `f£eko64 - ( -FILE - * -__¡»am -, -__off64_t - -__off -,  -__wh’û -); - -819 -__off64_t - - $á–lo64 - ( -FILE - * -__¡»am -è -__wur -; - -820  - `fg‘pos64 - ( -FILE - * -__»¡riù - -__¡»am -, -åos64_t - *__»¡riù -__pos -); - -821  - `f£os64 - ( -FILE - * -__¡»am -, cÚ¡ -åos64_t - * -__pos -); - -824 -__BEGIN_NAMESPACE_STD - - -826  - $þ—»¼ - ( -FILE - * -__¡»am -è -__THROW -; - -828  - $ãof - ( -FILE - * -__¡»am -è -__THROW - -__wur -; - -830  - $ã¼Ü - ( -FILE - * -__¡»am -è -__THROW - -__wur -; - -831 -__END_NAMESPACE_STD - - -833 #ifdeà -__USE_MISC - - -835  - $þ—»¼_uÆocked - ( -FILE - * -__¡»am -è -__THROW -; - -836  - $ãof_uÆocked - ( -FILE - * -__¡»am -è -__THROW - -__wur -; - -837  - $ã¼Ü_uÆocked - ( -FILE - * -__¡»am -è -__THROW - -__wur -; - -841 -__BEGIN_NAMESPACE_STD - - -846  - `³¼Ü - (cÚ¡ * -__s -); - -847 -__END_NAMESPACE_STD - - -853  - ~ - -856 #ifdef -__USE_POSIX - - -858  - $fž’o - ( -FILE - * -__¡»am -è -__THROW - -__wur -; - -861 #ifdeà -__USE_MISC - - -863  - $fž’o_uÆocked - ( -FILE - * -__¡»am -è -__THROW - -__wur -; - -867 #ifdeà -__USE_POSIX2 - - -872 -FILE - * - $pݒ - (cÚ¡ * -__commªd -, cÚ¡ * -__modes -è -__wur -; - -878  - `pþo£ - ( -FILE - * -__¡»am -); - -882 #ifdef -__USE_POSIX - - -884 * - $ù”mid - (* -__s -è -__THROW -; - -888 #ifdeà -__USE_XOPEN - - -890 * - `cu£rid - (* -__s -); - -894 #ifdef -__USE_GNU - - -895  -ob¡ack -; - -898  - $ob¡ack_´štf - ( -ob¡ack - * -__»¡riù - -__ob¡ack -, - -899 cÚ¡ * -__»¡riù - -__fÜm© -, ...) - -900 -__THROWNL - - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 2, 3))); - -901  - $ob¡ack_v´štf - ( -ob¡ack - * -__»¡riù - -__ob¡ack -, - -902 cÚ¡ * -__»¡riù - -__fÜm© -, - -903 -_G_va_li¡ - -__¬gs -) - -904 -__THROWNL - - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 2, 0))); - -908 #ifdeà -__USE_POSIX - - -912  - $æockfže - ( -FILE - * -__¡»am -è -__THROW -; - -916  - $árylockfže - ( -FILE - * -__¡»am -è -__THROW - -__wur -; - -919  - $fuÆockfže - ( -FILE - * -__¡»am -è -__THROW -; - -922 #ià -defšed - -__USE_XOPEN - && !defšed -__USE_XOPEN2K - && !defšed -__USE_GNU - - -926  - #__Ãed_g‘Ýt - - - ) - -927  - ~ - -932 #ifdeà -__USE_EXTERN_INLINES - - -933  - ~ - -935 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ - - -936  - ~ - -938 #ifdeà -__LDBL_COMPAT - - -939  - ~ - -942 -__END_DECLS - - - @/usr/include/stdlib.h - -22 #iâdef -_STDLIB_H - - -24  - ~<ã©u»s.h -> - -27  - #__Ãed_size_t - - - ) - -28 #iâdeà -__Ãed_m®loc_ªd_ÿÎoc - - -29  - #__Ãed_wch¬_t - - - ) - -30  - #__Ãed_NULL - - - ) - -32  - ~<¡ddef.h -> - -34 - g__BEGIN_DECLS - - -36 #iâdeà -__Ãed_m®loc_ªd_ÿÎoc - - -37  - #_STDLIB_H - 1 - - ) - -39 #ià( -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 -è&& !defšed -_SYS_WAIT_H - - -41  - ~ - -42  - ~ - -44 #ifdeà -__USE_MISC - - -49 #ià -defšed - -__GNUC__ - && !defšed -__ýlu¥lus - - -50  - #__WAIT_INT -( -¡©us -) \ - -51 ( - `__ex‹nsiÚ__ - (((uniÚ { - `__ty³of -( -¡©us -è -__š -;  -__i -; }) \ - -52 { . -__š - = ( -¡©us -è}). -__i -)) - - ) - -54  - #__WAIT_INT -( -¡©us -è(*(*è&(¡©us)) - - ) - -62 #ià! -defšed - -__GNUC__ - || __GNUC__ < 2 || defšed -__ýlu¥lus - - -63  - #__WAIT_STATUS - * - - ) - -64  - #__WAIT_STATUS_DEFN - * - - ) - -69  -wa™ - * - m__u±r -; - -70 * - m__Œ -; - -71 } - t__WAIT_STATUS - - t__©Œibu‹__ - (( - t__Œª¥¬’t_uniÚ__ -)); - -72  - #__WAIT_STATUS_DEFN - * - - ) - -77  - #__WAIT_INT -( -¡©us -è(¡©us) - - ) - -78  - #__WAIT_STATUS - * - - ) - -79  - #__WAIT_STATUS_DEFN - * - - ) - -84  - #WEXITSTATUS -( -¡©us -è - `__WEXITSTATUS - ( - `__WAIT_INT - (¡©us)) - - ) - -85  - #WTERMSIG -( -¡©us -è - `__WTERMSIG - ( - `__WAIT_INT - (¡©us)) - - ) - -86  - #WSTOPSIG -( -¡©us -è - `__WSTOPSIG - ( - `__WAIT_INT - (¡©us)) - - ) - -87  - #WIFEXITED -( -¡©us -è - `__WIFEXITED - ( - `__WAIT_INT - (¡©us)) - - ) - -88  - #WIFSIGNALED -( -¡©us -è - `__WIFSIGNALED - ( - `__WAIT_INT - (¡©us)) - - ) - -89  - #WIFSTOPPED -( -¡©us -è - `__WIFSTOPPED - ( - `__WAIT_INT - (¡©us)) - - ) - -90 #ifdeà -__WIFCONTINUED - - -91  - #WIFCONTINUED -( -¡©us -è - `__WIFCONTINUED - ( - `__WAIT_INT - (¡©us)) - - ) - -95 -__BEGIN_NAMESPACE_STD - - -99  - mquÙ -; - -100  - m»m -; - -101 } - tdiv_t -; - -104 #iâdeà -__ldiv_t_defšed - - -107  - mquÙ -; - -108  - m»m -; - -109 } - tldiv_t -; - -110  - #__ldiv_t_defšed - 1 - - ) - -112 - g__END_NAMESPACE_STD - - -114 #ià -defšed - -__USE_ISOC99 - && !defšed -__Îdiv_t_defšed - - -115 -__BEGIN_NAMESPACE_C99 - - -117 -__ex‹nsiÚ__ - struct - -119  - mquÙ -; - -120  - m»m -; - -121 } - tÎdiv_t -; - -122  - #__Îdiv_t_defšed - 1 - - ) - -123 - g__END_NAMESPACE_C99 - - -128  - #RAND_MAX - 2147483647 - - ) - -133  - #EXIT_FAILURE - 1 - - ) - -134  - #EXIT_SUCCESS - 0 - - ) - -138  - #MB_CUR_MAX - ( - `__ùy³_g‘_mb_cur_max - ()) - - ) - -139 -size_t - - $__ùy³_g‘_mb_cur_max - (è -__THROW - -__wur -; - -142 -__BEGIN_NAMESPACE_STD - - -144  - $©of - (cÚ¡ * -__Ō -) - -145 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)è -__wur -; - -147  - $©oi - (cÚ¡ * -__Ō -) - -148 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)è -__wur -; - -150  - $©Þ - (cÚ¡ * -__Ō -) - -151 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)è -__wur -; - -152 -__END_NAMESPACE_STD - - -154 #ifdeà -__USE_ISOC99 - - -155 -__BEGIN_NAMESPACE_C99 - - -157 -__ex‹nsiÚ__ -  - $©Þl - (cÚ¡ * -__Ō -) - -158 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)è -__wur -; - -159 -__END_NAMESPACE_C99 - - -162 -__BEGIN_NAMESPACE_STD - - -164  - $¡¹od - (cÚ¡ * -__»¡riù - -__Ō -, - -165 ** -__»¡riù - -__’d±r -) - -166 -__THROW - - `__nÚnuÎ - ((1)); - -167 -__END_NAMESPACE_STD - - -169 #ifdef -__USE_ISOC99 - - -170 -__BEGIN_NAMESPACE_C99 - - -172  - $¡¹of - (cÚ¡ * -__»¡riù - -__Ō -, - -173 ** -__»¡riù - -__’d±r -è -__THROW - - `__nÚnuÎ - ((1)); - -175  - $¡¹Þd - (cÚ¡ * -__»¡riù - -__Ō -, - -176 ** -__»¡riù - -__’d±r -) - -177 -__THROW - - `__nÚnuÎ - ((1)); - -178 -__END_NAMESPACE_C99 - - -181 -__BEGIN_NAMESPACE_STD - - -183  - $¡¹Þ - (cÚ¡ * -__»¡riù - -__Ō -, - -184 ** -__»¡riù - -__’d±r -,  -__ba£ -) - -185 -__THROW - - `__nÚnuÎ - ((1)); - -187  - $¡¹oul - (cÚ¡ * -__»¡riù - -__Ō -, - -188 ** -__»¡riù - -__’d±r -,  -__ba£ -) - -189 -__THROW - - `__nÚnuÎ - ((1)); - -190 -__END_NAMESPACE_STD - - -192 #ifdeà -__USE_MISC - - -194 -__ex‹nsiÚ__ - - -195  - $¡¹oq - (cÚ¡ * -__»¡riù - -__Ō -, - -196 ** -__»¡riù - -__’d±r -,  -__ba£ -) - -197 -__THROW - - `__nÚnuÎ - ((1)); - -199 -__ex‹nsiÚ__ - - -200  - $¡¹ouq - (cÚ¡ * -__»¡riù - -__Ō -, - -201 ** -__»¡riù - -__’d±r -,  -__ba£ -) - -202 -__THROW - - `__nÚnuÎ - ((1)); - -205 #ifdeà -__USE_ISOC99 - - -206 -__BEGIN_NAMESPACE_C99 - - -208 -__ex‹nsiÚ__ - - -209  - $¡¹Þl - (cÚ¡ * -__»¡riù - -__Ō -, - -210 ** -__»¡riù - -__’d±r -,  -__ba£ -) - -211 -__THROW - - `__nÚnuÎ - ((1)); - -213 -__ex‹nsiÚ__ - - -214  - $¡¹ouÎ - (cÚ¡ * -__»¡riù - -__Ō -, - -215 ** -__»¡riù - -__’d±r -,  -__ba£ -) - -216 -__THROW - - `__nÚnuÎ - ((1)); - -217 -__END_NAMESPACE_C99 - - -221 #ifdeà -__USE_GNU - - -235  - ~ - -239  - $¡¹Þ_l - (cÚ¡ * -__»¡riù - -__Ō -, - -240 ** -__»¡riù - -__’d±r -,  -__ba£ -, - -241 -__loÿË_t - -__loc -è -__THROW - - `__nÚnuÎ - ((1, 4)); - -243  - $¡¹oul_l - (cÚ¡ * -__»¡riù - -__Ō -, - -244 ** -__»¡riù - -__’d±r -, - -245  -__ba£ -, -__loÿË_t - -__loc -) - -246 -__THROW - - `__nÚnuÎ - ((1, 4)); - -248 -__ex‹nsiÚ__ - - -249  - $¡¹Þl_l - (cÚ¡ * -__»¡riù - -__Ō -, - -250 ** -__»¡riù - -__’d±r -,  -__ba£ -, - -251 -__loÿË_t - -__loc -) - -252 -__THROW - - `__nÚnuÎ - ((1, 4)); - -254 -__ex‹nsiÚ__ - - -255  - $¡¹ouÎ_l - (cÚ¡ * -__»¡riù - -__Ō -, - -256 ** -__»¡riù - -__’d±r -, - -257  -__ba£ -, -__loÿË_t - -__loc -) - -258 -__THROW - - `__nÚnuÎ - ((1, 4)); - -260  - $¡¹od_l - (cÚ¡ * -__»¡riù - -__Ō -, - -261 ** -__»¡riù - -__’d±r -, -__loÿË_t - -__loc -) - -262 -__THROW - - `__nÚnuÎ - ((1, 3)); - -264  - $¡¹of_l - (cÚ¡ * -__»¡riù - -__Ō -, - -265 ** -__»¡riù - -__’d±r -, -__loÿË_t - -__loc -) - -266 -__THROW - - `__nÚnuÎ - ((1, 3)); - -268  - $¡¹Þd_l - (cÚ¡ * -__»¡riù - -__Ō -, - -269 ** -__»¡riù - -__’d±r -, - -270 -__loÿË_t - -__loc -) - -271 -__THROW - - `__nÚnuÎ - ((1, 3)); - -275 #ifdeà -__USE_EXTERN_INLINES - - -276 -__BEGIN_NAMESPACE_STD - - -277 -__ex‹º_šlše -  - -278 - `__NTH - ( - $©oi - (cÚ¡ * -__Ō -)) - -280  (è - `¡¹Þ - ( -__Ō -, (**è -NULL -, 10); - -281 - } -} - -282 -__ex‹º_šlše -  - -283 -__NTH - ( - $©Þ - (cÚ¡ * -__Ō -)) - -285  - `¡¹Þ - ( -__Ō -, (**è -NULL -, 10); - -286 - } -} - -287 - g__END_NAMESPACE_STD - - -289 #ifdeà -__USE_ISOC99 - - -290 -__BEGIN_NAMESPACE_C99 - - -291 -__ex‹nsiÚ__ - -__ex‹º_šlše -  - -292 -__NTH - ( - $©Þl - (cÚ¡ * -__Ō -)) - -294  - `¡¹Þl - ( -__Ō -, (**è -NULL -, 10); - -295 - } -} - -296 - g__END_NAMESPACE_C99 - - -301 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -305 * - $l64a - ( -__n -è -__THROW - -__wur -; - -308  - $a64l - (cÚ¡ * -__s -) - -309 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)è -__wur -; - -313 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -314  - ~ - -321  - $¿ndom - (è -__THROW -; - -324  - $¤ªdom - ( -__£ed -è -__THROW -; - -330 * - $š™¡©e - ( -__£ed -, * -__¡©ebuf -, - -331 -size_t - -__¡©–’ -è -__THROW - - `__nÚnuÎ - ((2)); - -335 * - $£t¡©e - (* -__¡©ebuf -è -__THROW - - `__nÚnuÎ - ((1)); - -338 #ifdeà -__USE_MISC - - -343  - s¿ndom_d©a - - -345 -št32_t - * -åŒ -; - -346 -št32_t - * -½Œ -; - -347 -št32_t - * -¡©e -; - -348  -¿nd_ty³ -; - -349  -¿nd_deg -; - -350  -¿nd_£p -; - -351 -št32_t - * -’d_±r -; - -354  - $¿ndom_r - ( -¿ndom_d©a - * -__»¡riù - -__buf -, - -355 -št32_t - * -__»¡riù - -__»suÉ -è -__THROW - - `__nÚnuÎ - ((1, 2)); - -357  - $¤ªdom_r - ( -__£ed -,  -¿ndom_d©a - * -__buf -) - -358 -__THROW - - `__nÚnuÎ - ((2)); - -360  - $š™¡©e_r - ( -__£ed -, * -__»¡riù - -__¡©ebuf -, - -361 -size_t - -__¡©–’ -, - -362  -¿ndom_d©a - * -__»¡riù - -__buf -) - -363 -__THROW - - `__nÚnuÎ - ((2, 4)); - -365  - $£t¡©e_r - (* -__»¡riù - -__¡©ebuf -, - -366  -¿ndom_d©a - * -__»¡riù - -__buf -) - -367 -__THROW - - `__nÚnuÎ - ((1, 2)); - -372 -__BEGIN_NAMESPACE_STD - - -374  - $¿nd - (è -__THROW -; - -376  - $¤ªd - ( -__£ed -è -__THROW -; - -377 -__END_NAMESPACE_STD - - -379 #ifdeà -__USE_POSIX - - -381  - $¿nd_r - (* -__£ed -è -__THROW -; - -385 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -389  - $d¿nd48 - (è -__THROW -; - -390  - $”ªd48 - ( -__xsubi -[3]è -__THROW - - `__nÚnuÎ - ((1)); - -393  - $̪d48 - (è -__THROW -; - -394  - $Īd48 - ( -__xsubi -[3]) - -395 -__THROW - - `__nÚnuÎ - ((1)); - -398  - $m¿nd48 - (è -__THROW -; - -399  - $j¿nd48 - ( -__xsubi -[3]) - -400 -__THROW - - `__nÚnuÎ - ((1)); - -403  - $¤ªd48 - ( -__£edv® -è -__THROW -; - -404 * - $£ed48 - ( -__£ed16v -[3]) - -405 -__THROW - - `__nÚnuÎ - ((1)); - -406  - $lcÚg48 - ( -__·¿m -[7]è -__THROW - - `__nÚnuÎ - ((1)); - -408 #ifdeà -__USE_MISC - - -412  - sd¿nd48_d©a - - -414  -__x -[3]; - -415  -__Þd_x -[3]; - -416  -__c -; - -417  -__š™ -; - -418 -__ex‹nsiÚ__ -  -__a -; - -423  - $d¿nd48_r - ( -d¿nd48_d©a - * -__»¡riù - -__bufãr -, - -424 * -__»¡riù - -__»suÉ -è -__THROW - - `__nÚnuÎ - ((1, 2)); - -425  - $”ªd48_r - ( -__xsubi -[3], - -426  -d¿nd48_d©a - * -__»¡riù - -__bufãr -, - -427 * -__»¡riù - -__»suÉ -è -__THROW - - `__nÚnuÎ - ((1, 2)); - -430  - $̪d48_r - ( -d¿nd48_d©a - * -__»¡riù - -__bufãr -, - -431 * -__»¡riù - -__»suÉ -) - -432 -__THROW - - `__nÚnuÎ - ((1, 2)); - -433  - $Īd48_r - ( -__xsubi -[3], - -434  -d¿nd48_d©a - * -__»¡riù - -__bufãr -, - -435 * -__»¡riù - -__»suÉ -) - -436 -__THROW - - `__nÚnuÎ - ((1, 2)); - -439  - $m¿nd48_r - ( -d¿nd48_d©a - * -__»¡riù - -__bufãr -, - -440 * -__»¡riù - -__»suÉ -) - -441 -__THROW - - `__nÚnuÎ - ((1, 2)); - -442  - $j¿nd48_r - ( -__xsubi -[3], - -443  -d¿nd48_d©a - * -__»¡riù - -__bufãr -, - -444 * -__»¡riù - -__»suÉ -) - -445 -__THROW - - `__nÚnuÎ - ((1, 2)); - -448  - $¤ªd48_r - ( -__£edv® -,  -d¿nd48_d©a - * -__bufãr -) - -449 -__THROW - - `__nÚnuÎ - ((2)); - -451  - $£ed48_r - ( -__£ed16v -[3], - -452  -d¿nd48_d©a - * -__bufãr -è -__THROW - - `__nÚnuÎ - ((1, 2)); - -454  - $lcÚg48_r - ( -__·¿m -[7], - -455  -d¿nd48_d©a - * -__bufãr -) - -456 -__THROW - - `__nÚnuÎ - ((1, 2)); - -462 #iâdeà -__m®loc_ªd_ÿÎoc_defšed - - -463  - #__m®loc_ªd_ÿÎoc_defšed - - - ) - -464 -__BEGIN_NAMESPACE_STD - - -466 * - $m®loc - ( -size_t - -__size -è -__THROW - -__©Œibu‹_m®loc__ - -__wur -; - -468 * - $ÿÎoc - ( -size_t - -__nmemb -, size_ˆ -__size -) - -469 -__THROW - -__©Œibu‹_m®loc__ - -__wur -; - -470 -__END_NAMESPACE_STD - - -473 #iâdeà -__Ãed_m®loc_ªd_ÿÎoc - - -474 -__BEGIN_NAMESPACE_STD - - -480 * - $»®loc - (* -__±r -, -size_t - -__size -) - -481 -__THROW - -__©Œibu‹_w¬n_unu£d_»suÉ__ -; - -483  - $ä“ - (* -__±r -è -__THROW -; - -484 -__END_NAMESPACE_STD - - -486 #ifdef -__USE_MISC - - -488  - $cä“ - (* -__±r -è -__THROW -; - -491 #ifdeà -__USE_MISC - - -492  - ~<®loÿ.h -> - -495 #ià( -defšed - -__USE_XOPEN_EXTENDED - && !defšed -__USE_XOPEN2K -) \ - -496 || -defšed - -__USE_MISC - - -498 * - $v®loc - ( -size_t - -__size -è -__THROW - -__©Œibu‹_m®loc__ - -__wur -; - -501 #ifdeà -__USE_XOPEN2K - - -503  - $posix_mem®ign - (** -__mem±r -, -size_t - -__®ignm’t -, size_ˆ -__size -) - -504 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -507 #ifdeà -__USE_ISOC11 - - -509 * - $®igÃd_®loc - ( -size_t - -__®ignm’t -, size_ˆ -__size -) - -510 -__THROW - -__©Œibu‹_m®loc__ - - `__©Œibu‹_®loc_size__ - ((2)è -__wur -; - -513 -__BEGIN_NAMESPACE_STD - - -515  - $abÜt - (è -__THROW - - `__©Œibu‹__ - (( -__nܑuº__ -)); - -519  - $©ex™ - ((* -__func -è()è -__THROW - - `__nÚnuÎ - ((1)); - -521 #ià -defšed - -__USE_ISOC11 - || defšed -__USE_ISOCXX11 - - -523 #ifdeà -__ýlu¥lus - - -524 "C++"  - $©_quick_ex™ - ((* -__func -) ()) - -525 -__THROW - - `__asm - ("©_quick_ex™"è - `__nÚnuÎ - ((1)); - -527  - $©_quick_ex™ - ((* -__func -è()è -__THROW - - `__nÚnuÎ - ((1)); - -530 -__END_NAMESPACE_STD - - -532 #ifdef -__USE_MISC - - -535  - $Ú_ex™ - ((* -__func -è( -__¡©us -, * -__¬g -), *__arg) - -536 -__THROW - - `__nÚnuÎ - ((1)); - -539 -__BEGIN_NAMESPACE_STD - - -543  - $ex™ - ( -__¡©us -è -__THROW - - `__©Œibu‹__ - (( -__nܑuº__ -)); - -545 #ià -defšed - -__USE_ISOC11 - || defšed -__USE_ISOCXX11 - - -549  - $quick_ex™ - ( -__¡©us -è -__THROW - - `__©Œibu‹__ - (( -__nܑuº__ -)); - -551 -__END_NAMESPACE_STD - - -553 #ifdeà -__USE_ISOC99 - - -554 -__BEGIN_NAMESPACE_C99 - - -557  - $_Ex™ - ( -__¡©us -è -__THROW - - `__©Œibu‹__ - (( -__nܑuº__ -)); - -558 -__END_NAMESPACE_C99 - - -562 -__BEGIN_NAMESPACE_STD - - -564 * - $g‘’v - (cÚ¡ * -__Çme -è -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -565 -__END_NAMESPACE_STD - - -567 #ifdeà -__USE_GNU - - -570 * - $£cu»_g‘’v - (cÚ¡ * -__Çme -) - -571 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -574 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -578  - $pu‹nv - (* -__¡ršg -è -__THROW - - `__nÚnuÎ - ((1)); - -581 #ifdeà -__USE_XOPEN2K - - -584  - $£‹nv - (cÚ¡ * -__Çme -, cÚ¡ * -__v®ue -,  -__»¶aû -) - -585 -__THROW - - `__nÚnuÎ - ((2)); - -588  - $un£‹nv - (cÚ¡ * -__Çme -è -__THROW - - `__nÚnuÎ - ((1)); - -591 #ifdef -__USE_MISC - - -595  - $þ—»nv - (è -__THROW -; - -599 #ià -defšed - -__USE_MISC - \ - -600 || ( -defšed - -__USE_XOPEN_EXTENDED - && !defšed -__USE_XOPEN2K8 -) - -606 * - $mk‹mp - (* -__‹m¶©e -è -__THROW - - `__nÚnuÎ - ((1)); - -609 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -618 #iâdeà -__USE_FILE_OFFSET64 - - -619  - $mk¡emp - (* -__‹m¶©e -è - `__nÚnuÎ - ((1)è -__wur -; - -621 #ifdeà -__REDIRECT - - -622  - `__REDIRECT - ( -mk¡emp -, (* -__‹m¶©e -), -mk¡emp64 -) - -623 - `__nÚnuÎ - ((1)è -__wur -; - -625  - #mk¡emp - -mk¡emp64 - - - ) - -628 #ifdeà -__USE_LARGEFILE64 - - -629  - $mk¡emp64 - (* -__‹m¶©e -è - `__nÚnuÎ - ((1)è -__wur -; - -633 #ifdeà -__USE_MISC - - -640 #iâdeà -__USE_FILE_OFFSET64 - - -641  - $mk¡emps - (* -__‹m¶©e -,  -__suffixËn -è - `__nÚnuÎ - ((1)è -__wur -; - -643 #ifdeà -__REDIRECT - - -644  - `__REDIRECT - ( -mk¡emps -, (* -__‹m¶©e -,  -__suffixËn -), - -645 -mk¡emps64 -è - `__nÚnuÎ - ((1)è -__wur -; - -647  - #mk¡emps - -mk¡emps64 - - - ) - -650 #ifdeà -__USE_LARGEFILE64 - - -651  - $mk¡emps64 - (* -__‹m¶©e -,  -__suffixËn -) - -652 - `__nÚnuÎ - ((1)è -__wur -; - -656 #ifdeà -__USE_XOPEN2K8 - - -662 * - $mkd‹mp - (* -__‹m¶©e -è -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -665 #ifdeà -__USE_GNU - - -672 #iâdeà -__USE_FILE_OFFSET64 - - -673  - $mko¡emp - (* -__‹m¶©e -,  -__æags -è - `__nÚnuÎ - ((1)è -__wur -; - -675 #ifdeà -__REDIRECT - - -676  - `__REDIRECT - ( -mko¡emp -, (* -__‹m¶©e -,  -__æags -), -mko¡emp64 -) - -677 - `__nÚnuÎ - ((1)è -__wur -; - -679  - #mko¡emp - -mko¡emp64 - - - ) - -682 #ifdeà -__USE_LARGEFILE64 - - -683  - $mko¡emp64 - (* -__‹m¶©e -,  -__æags -è - `__nÚnuÎ - ((1)è -__wur -; - -692 #iâdeà -__USE_FILE_OFFSET64 - - -693  - $mko¡emps - (* -__‹m¶©e -,  -__suffixËn -,  -__æags -) - -694 - `__nÚnuÎ - ((1)è -__wur -; - -696 #ifdeà -__REDIRECT - - -697  - `__REDIRECT - ( -mko¡emps -, (* -__‹m¶©e -,  -__suffixËn -, - -698  -__æags -), -mko¡emps64 -) - -699 - `__nÚnuÎ - ((1)è -__wur -; - -701  - #mko¡emps - -mko¡emps64 - - - ) - -704 #ifdeà -__USE_LARGEFILE64 - - -705  - $mko¡emps64 - (* -__‹m¶©e -,  -__suffixËn -,  -__æags -) - -706 - `__nÚnuÎ - ((1)è -__wur -; - -711 -__BEGIN_NAMESPACE_STD - - -716  - $sy¡em - (cÚ¡ * -__commªd -è -__wur -; - -717 -__END_NAMESPACE_STD - - -720 #ifdef -__USE_GNU - - -723 * - $ÿnÚiÿlize_fže_Çme - (cÚ¡ * -__Çme -) - -724 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -727 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -733 * - $»®·th - (cÚ¡ * -__»¡riù - -__Çme -, - -734 * -__»¡riù - -__»sÞved -è -__THROW - -__wur -; - -739 #iâdeà -__COMPAR_FN_T - - -740  - #__COMPAR_FN_T - - - ) - -741 (* - t__com·r_â_t -) (const *, const *); - -743 #ifdef -__USE_GNU - - -744  -__com·r_â_t - - tcom·risÚ_â_t -; - -747 #ifdeà -__USE_GNU - - -748 (* - t__com·r_d_â_t -) (const *, const *, *); - -751 -__BEGIN_NAMESPACE_STD - - -754 * - $b£¬ch - (cÚ¡ * -__key -, cÚ¡ * -__ba£ -, - -755 -size_t - -__nmemb -, size_ˆ -__size -, -__com·r_â_t - -__com·r -) - -756 - `__nÚnuÎ - ((1, 2, 5)è -__wur -; - -758 #ifdeà -__USE_EXTERN_INLINES - - -759  - ~ - -764  - $qsÜt - (* -__ba£ -, -size_t - -__nmemb -, size_ˆ -__size -, - -765 -__com·r_â_t - -__com·r -è - `__nÚnuÎ - ((1, 4)); - -766 #ifdeà -__USE_GNU - - -767  - $qsÜt_r - (* -__ba£ -, -size_t - -__nmemb -, size_ˆ -__size -, - -768 -__com·r_d_â_t - -__com·r -, * -__¬g -) - -769 - `__nÚnuÎ - ((1, 4)); - -774  - $abs - ( -__x -è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)è -__wur -; - -775  - $Ïbs - ( -__x -è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)è -__wur -; - -776 -__END_NAMESPACE_STD - - -778 #ifdeà -__USE_ISOC99 - - -779 -__ex‹nsiÚ__ -  - $Îabs - ( -__x -) - -780 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)è -__wur -; - -784 -__BEGIN_NAMESPACE_STD - - -788 -div_t - - $div - ( -__num” -,  -__d’om -) - -789 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)è -__wur -; - -790 -ldiv_t - - $ldiv - ( -__num” -,  -__d’om -) - -791 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)è -__wur -; - -792 -__END_NAMESPACE_STD - - -794 #ifdeà -__USE_ISOC99 - - -795 -__BEGIN_NAMESPACE_C99 - - -796 -__ex‹nsiÚ__ - -Îdiv_t - - $Îdiv - ( -__num” -, - -797  -__d’om -) - -798 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)è -__wur -; - -799 -__END_NAMESPACE_C99 - - -803 #ià( -defšed - -__USE_XOPEN_EXTENDED - && !defšed -__USE_XOPEN2K8 -) \ - -804 || -defšed - -__USE_MISC - - -811 * - $ecvt - ( -__v®ue -,  -__ndig™ -, * -__»¡riù - -__deýt -, - -812 * -__»¡riù - -__sign -è -__THROW - - `__nÚnuÎ - ((3, 4)è -__wur -; - -817 * - $fcvt - ( -__v®ue -,  -__ndig™ -, * -__»¡riù - -__deýt -, - -818 * -__»¡riù - -__sign -è -__THROW - - `__nÚnuÎ - ((3, 4)è -__wur -; - -823 * - $gcvt - ( -__v®ue -,  -__ndig™ -, * -__buf -) - -824 -__THROW - - `__nÚnuÎ - ((3)è -__wur -; - -827 #ifdeà -__USE_MISC - - -829 * - $qecvt - ( -__v®ue -,  -__ndig™ -, - -830 * -__»¡riù - -__deýt -, *__»¡riù -__sign -) - -831 -__THROW - - `__nÚnuÎ - ((3, 4)è -__wur -; - -832 * - $qfcvt - ( -__v®ue -,  -__ndig™ -, - -833 * -__»¡riù - -__deýt -, *__»¡riù -__sign -) - -834 -__THROW - - `__nÚnuÎ - ((3, 4)è -__wur -; - -835 * - $qgcvt - ( -__v®ue -,  -__ndig™ -, * -__buf -) - -836 -__THROW - - `__nÚnuÎ - ((3)è -__wur -; - -841  - $ecvt_r - ( -__v®ue -,  -__ndig™ -, * -__»¡riù - -__deýt -, - -842 * -__»¡riù - -__sign -, *__»¡riù -__buf -, - -843 -size_t - -__Ën -è -__THROW - - `__nÚnuÎ - ((3, 4, 5)); - -844  - $fcvt_r - ( -__v®ue -,  -__ndig™ -, * -__»¡riù - -__deýt -, - -845 * -__»¡riù - -__sign -, *__»¡riù -__buf -, - -846 -size_t - -__Ën -è -__THROW - - `__nÚnuÎ - ((3, 4, 5)); - -848  - $qecvt_r - ( -__v®ue -,  -__ndig™ -, - -849 * -__»¡riù - -__deýt -, *__»¡riù -__sign -, - -850 * -__»¡riù - -__buf -, -size_t - -__Ën -) - -851 -__THROW - - `__nÚnuÎ - ((3, 4, 5)); - -852  - $qfcvt_r - ( -__v®ue -,  -__ndig™ -, - -853 * -__»¡riù - -__deýt -, *__»¡riù -__sign -, - -854 * -__»¡riù - -__buf -, -size_t - -__Ën -) - -855 -__THROW - - `__nÚnuÎ - ((3, 4, 5)); - -859 -__BEGIN_NAMESPACE_STD - - -862  - $mbËn - (cÚ¡ * -__s -, -size_t - -__n -è -__THROW -; - -865  - $mbtowc - ( -wch¬_t - * -__»¡riù - -__pwc -, - -866 cÚ¡ * -__»¡riù - -__s -, -size_t - -__n -è -__THROW -; - -869  - $wùomb - (* -__s -, -wch¬_t - -__wch¬ -è -__THROW -; - -873 -size_t - - $mb¡owcs - ( -wch¬_t - * -__»¡riù - -__pwcs -, - -874 cÚ¡ * -__»¡riù - -__s -, -size_t - -__n -è -__THROW -; - -876 -size_t - - $wc¡ombs - (* -__»¡riù - -__s -, - -877 cÚ¡ -wch¬_t - * -__»¡riù - -__pwcs -, -size_t - -__n -) - -878 -__THROW -; - -879 -__END_NAMESPACE_STD - - -882 #ifdeà -__USE_MISC - - -887  - $½m©ch - (cÚ¡ * -__»¥Ú£ -è -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -891 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -898  - $g‘subÝt - (** -__»¡riù - -__ÝtiÚp -, - -899 *cÚ¡ * -__»¡riù - -__tok’s -, - -900 ** -__»¡riù - -__v®u• -) - -901 -__THROW - - `__nÚnuÎ - ((1, 2, 3)è -__wur -; - -905 #ifdeà -__USE_XOPEN - - -907  - $£tkey - (cÚ¡ * -__key -è -__THROW - - `__nÚnuÎ - ((1)); - -913 #ifdeà -__USE_XOPEN2KXSI - - -915  - $posix_ݒ± - ( -__oæag -è -__wur -; - -918 #ifdeà -__USE_XOPEN - - -923  - $g¿Á± - ( -__fd -è -__THROW -; - -927  - $uÆock± - ( -__fd -è -__THROW -; - -932 * - $±¢ame - ( -__fd -è -__THROW - -__wur -; - -935 #ifdeà -__USE_GNU - - -939  - $±¢ame_r - ( -__fd -, * -__buf -, -size_t - -__buæ’ -) - -940 -__THROW - - `__nÚnuÎ - ((2)); - -943  - `g‘± - (); - -946 #ifdeà -__USE_MISC - - -950  - $g‘lßdavg - ( -__lßdavg -[],  -__ÃËm -) - -951 -__THROW - - `__nÚnuÎ - ((1)); - -954  - ~ - -957 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ - - -958  - ~ - -960 #ifdeà -__LDBL_COMPAT - - -961  - ~ - -965 #undeà -__Ãed_m®loc_ªd_ÿÎoc - - -967 -__END_DECLS - - - @/usr/include/string.h - -22 #iâdef -_STRING_H - - -23  - #_STRING_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -27 - g__BEGIN_DECLS - - -30  - #__Ãed_size_t - - - ) - -31  - #__Ãed_NULL - - - ) - -32  - ~<¡ddef.h -> - -35 #ià -defšed - -__ýlu¥lus - && -__GNUC_PREREQ - (4, 4) - -36  - #__CORRECT_ISO_CPP_STRING_H_PROTO - - - ) - -40 -__BEGIN_NAMESPACE_STD - - -42 * - $memýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -, - -43 -size_t - -__n -è -__THROW - - `__nÚnuÎ - ((1, 2)); - -46 * - $memmove - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -) - -47 -__THROW - - `__nÚnuÎ - ((1, 2)); - -48 -__END_NAMESPACE_STD - - -53 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -54 * - $memcýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -, - -55  -__c -, -size_t - -__n -) - -56 -__THROW - - `__nÚnuÎ - ((1, 2)); - -60 -__BEGIN_NAMESPACE_STD - - -62 * - $mem£t - (* -__s -,  -__c -, -size_t - -__n -è -__THROW - - `__nÚnuÎ - ((1)); - -65  - $memcmp - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, -size_t - -__n -) - -66 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -69 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -72 * - `memchr - (* -__s -,  -__c -, -size_t - -__n -) - -73 -__THROW - - `__asm - ("memchr"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -74 cÚ¡ * - `memchr - (cÚ¡ * -__s -,  -__c -, -size_t - -__n -) - -75 -__THROW - - `__asm - ("memchr"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -77 #ifdeà -__OPTIMIZE__ - - -78 -__ex‹º_®ways_šlše - * - -79 - `memchr - (* -__s -,  -__c -, -size_t - -__n -è -__THROW - - -81  - `__bužtš_memchr - ( -__s -, -__c -, -__n -); - -84 -__ex‹º_®ways_šlše - const * - -85 - `memchr - (cÚ¡ * -__s -,  -__c -, -size_t - -__n -è -__THROW - - -87  - `__bužtš_memchr - ( -__s -, -__c -, -__n -); - -90 - } -} - -92 * - $memchr - (cÚ¡ * -__s -,  -__c -, -size_t - -__n -) - -93 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -95 -__END_NAMESPACE_STD - - -97 #ifdeà -__USE_GNU - - -100 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -101 "C++" * - $¿wmemchr - (* -__s -,  -__c -) - -102 -__THROW - - `__asm - ("¿wmemchr"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -103 "C++" cÚ¡ * - $¿wmemchr - (cÚ¡ * -__s -,  -__c -) - -104 -__THROW - - `__asm - ("¿wmemchr"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -106 * - $¿wmemchr - (cÚ¡ * -__s -,  -__c -) - -107 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -111 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -112 "C++" * - $memrchr - (* -__s -,  -__c -, -size_t - -__n -) - -113 -__THROW - - `__asm - ("memrchr"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -114 "C++" cÚ¡ * - $memrchr - (cÚ¡ * -__s -,  -__c -, -size_t - -__n -) - -115 -__THROW - - `__asm - ("memrchr"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -117 * - $memrchr - (cÚ¡ * -__s -,  -__c -, -size_t - -__n -) - -118 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -123 -__BEGIN_NAMESPACE_STD - - -125 * - $¡rýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -) - -126 -__THROW - - `__nÚnuÎ - ((1, 2)); - -128 * - $¡ºýy - (* -__»¡riù - -__de¡ -, - -129 cÚ¡ * -__»¡riù - -__¤c -, -size_t - -__n -) - -130 -__THROW - - `__nÚnuÎ - ((1, 2)); - -133 * - $¡rÿt - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -) - -134 -__THROW - - `__nÚnuÎ - ((1, 2)); - -136 * - $¡ºÿt - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -, - -137 -size_t - -__n -è -__THROW - - `__nÚnuÎ - ((1, 2)); - -140  - $¡rcmp - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -) - -141 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -143  - $¡ºcmp - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, -size_t - -__n -) - -144 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -147  - $¡rcÞl - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -) - -148 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -150 -size_t - - $¡rxäm - (* -__»¡riù - -__de¡ -, - -151 cÚ¡ * -__»¡riù - -__¤c -, -size_t - -__n -) - -152 -__THROW - - `__nÚnuÎ - ((2)); - -153 -__END_NAMESPACE_STD - - -155 #ifdeà -__USE_XOPEN2K8 - - -159  - ~ - -162  - $¡rcÞl_l - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, -__loÿË_t - -__l -) - -163 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2, 3)); - -165 -size_t - - $¡rxäm_l - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -, - -166 -__loÿË_t - -__l -è -__THROW - - `__nÚnuÎ - ((2, 4)); - -169 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -171 * - $¡rdup - (cÚ¡ * -__s -) - -172 -__THROW - -__©Œibu‹_m®loc__ - - `__nÚnuÎ - ((1)); - -178 #ià -defšed - -__USE_XOPEN2K8 - - -179 * - $¡ºdup - (cÚ¡ * -__¡ršg -, -size_t - -__n -) - -180 -__THROW - -__©Œibu‹_m®loc__ - - `__nÚnuÎ - ((1)); - -183 #ià -defšed - -__USE_GNU - && defšed -__GNUC__ - - -185  - #¡rdu· -( -s -) \ - -186 ( -__ex‹nsiÚ__ - \ - -188 cÚ¡ * -__Þd - = ( -s -); \ - -189 -size_t - -__Ën - = - `¡¾’ - ( -__Þd -) + 1; \ - -190 * -__Ãw - = (*è - `__bužtš_®loÿ - ( -__Ën -); \ - -191 (*è - `memýy - ( -__Ãw -, -__Þd -, -__Ën -); \ - -192 - } -})) - - ) - -195  - #¡ºdu· -( -s -, -n -) \ - -196 ( -__ex‹nsiÚ__ - \ - -198 cÚ¡ * -__Þd - = ( -s -); \ - -199 -size_t - -__Ën - = - `¡ºËn - ( -__Þd -, ( -n -)); \ - -200 * -__Ãw - = (*è - `__bužtš_®loÿ - ( -__Ën - + 1); \ - -201 -__Ãw -[ -__Ën -] = '\0'; \ - -202 (*è - `memýy - ( -__Ãw -, -__Þd -, -__Ën -); \ - -203 })) - - ) - -206 - g__BEGIN_NAMESPACE_STD - - -208 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -211 * -¡rchr - (* -__s -,  -__c -) - -212 -__THROW - -__asm - ("¡rchr"è -__©Œibu‹_pu»__ - -__nÚnuÎ - ((1)); - -213 cÚ¡ * -¡rchr - (cÚ¡ * -__s -,  -__c -) - -214 -__THROW - -__asm - ("¡rchr"è -__©Œibu‹_pu»__ - -__nÚnuÎ - ((1)); - -216 #ifdeà -__OPTIMIZE__ - - -217 -__ex‹º_®ways_šlše - * - -218 -¡rchr - (* -__s -,  -__c -è - g__THROW - - -220  -__bužtš_¡rchr - ( -__s -, -__c -); - -223 -__ex‹º_®ways_šlše - const * - -224 -¡rchr - (cÚ¡ * -__s -,  -__c -è - g__THROW - - -226  -__bužtš_¡rchr - ( -__s -, -__c -); - -231 * - $¡rchr - (cÚ¡ * -__s -,  -__c -) - -232 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -235 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -238 * - `¡¼chr - (* -__s -,  -__c -) - -239 -__THROW - - `__asm - ("¡¼chr"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -240 cÚ¡ * - `¡¼chr - (cÚ¡ * -__s -,  -__c -) - -241 -__THROW - - `__asm - ("¡¼chr"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -243 #ifdeà -__OPTIMIZE__ - - -244 -__ex‹º_®ways_šlše - * - -245 - `¡¼chr - (* -__s -,  -__c -è -__THROW - - -247  - `__bužtš_¡¼chr - ( -__s -, -__c -); - -250 -__ex‹º_®ways_šlše - const * - -251 - `¡¼chr - (cÚ¡ * -__s -,  -__c -è -__THROW - - -253  - `__bužtš_¡¼chr - ( -__s -, -__c -); - -256 - } -} - -258 * - $¡¼chr - (cÚ¡ * -__s -,  -__c -) - -259 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -261 -__END_NAMESPACE_STD - - -263 #ifdeà -__USE_GNU - - -266 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -267 "C++" * - $¡rchºul - (* -__s -,  -__c -) - -268 -__THROW - - `__asm - ("¡rchºul"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -269 "C++" cÚ¡ * - $¡rchºul - (cÚ¡ * -__s -,  -__c -) - -270 -__THROW - - `__asm - ("¡rchºul"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -272 * - $¡rchºul - (cÚ¡ * -__s -,  -__c -) - -273 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -277 -__BEGIN_NAMESPACE_STD - - -280 -size_t - - $¡rc¥n - (cÚ¡ * -__s -, cÚ¡ * -__»jeù -) - -281 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -284 -size_t - - $¡r¥n - (cÚ¡ * -__s -, cÚ¡ * -__acû± -) - -285 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -287 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -290 * - `¡½brk - (* -__s -, cÚ¡ * -__acû± -) - -291 -__THROW - - `__asm - ("¡½brk"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -292 cÚ¡ * - `¡½brk - (cÚ¡ * -__s -, cÚ¡ * -__acû± -) - -293 -__THROW - - `__asm - ("¡½brk"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -295 #ifdeà -__OPTIMIZE__ - - -296 -__ex‹º_®ways_šlše - * - -297 - `¡½brk - (* -__s -, cÚ¡ * -__acû± -è -__THROW - - -299  - `__bužtš_¡½brk - ( -__s -, -__acû± -); - -302 -__ex‹º_®ways_šlše - const * - -303 - `¡½brk - (cÚ¡ * -__s -, cÚ¡ * -__acû± -è -__THROW - - -305  - `__bužtš_¡½brk - ( -__s -, -__acû± -); - -308 - } -} - -310 * - $¡½brk - (cÚ¡ * -__s -, cÚ¡ * -__acû± -) - -311 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -314 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -317 * - `¡r¡r - (* -__hay¡ack -, cÚ¡ * -__ÃedË -) - -318 -__THROW - - `__asm - ("¡r¡r"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -319 cÚ¡ * - `¡r¡r - (cÚ¡ * -__hay¡ack -, cÚ¡ * -__ÃedË -) - -320 -__THROW - - `__asm - ("¡r¡r"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -322 #ifdeà -__OPTIMIZE__ - - -323 -__ex‹º_®ways_šlše - * - -324 - `¡r¡r - (* -__hay¡ack -, cÚ¡ * -__ÃedË -è -__THROW - - -326  - `__bužtš_¡r¡r - ( -__hay¡ack -, -__ÃedË -); - -329 -__ex‹º_®ways_šlše - const * - -330 - `¡r¡r - (cÚ¡ * -__hay¡ack -, cÚ¡ * -__ÃedË -è -__THROW - - -332  - `__bužtš_¡r¡r - ( -__hay¡ack -, -__ÃedË -); - -335 - } -} - -337 * - $¡r¡r - (cÚ¡ * -__hay¡ack -, cÚ¡ * -__ÃedË -) - -338 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -343 * - $¡¹ok - (* -__»¡riù - -__s -, cÚ¡ *__»¡riù -__d–im -) - -344 -__THROW - - `__nÚnuÎ - ((2)); - -345 -__END_NAMESPACE_STD - - -349 * - $__¡¹ok_r - (* -__»¡riù - -__s -, - -350 cÚ¡ * -__»¡riù - -__d–im -, - -351 ** -__»¡riù - -__§ve_±r -) - -352 -__THROW - - `__nÚnuÎ - ((2, 3)); - -353 #ifdeà -__USE_POSIX - - -354 * - $¡¹ok_r - (* -__»¡riù - -__s -, cÚ¡ *__»¡riù -__d–im -, - -355 ** -__»¡riù - -__§ve_±r -) - -356 -__THROW - - `__nÚnuÎ - ((2, 3)); - -359 #ifdeà -__USE_GNU - - -361 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -362 "C++" * - $¡rÿ£¡r - (* -__hay¡ack -, cÚ¡ * -__ÃedË -) - -363 -__THROW - - `__asm - ("¡rÿ£¡r"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -364 "C++" cÚ¡ * - $¡rÿ£¡r - (cÚ¡ * -__hay¡ack -, - -365 cÚ¡ * -__ÃedË -) - -366 -__THROW - - `__asm - ("¡rÿ£¡r"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -368 * - $¡rÿ£¡r - (cÚ¡ * -__hay¡ack -, cÚ¡ * -__ÃedË -) - -369 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -373 #ifdeà -__USE_GNU - - -377 * - $memmem - (cÚ¡ * -__hay¡ack -, -size_t - -__hay¡ackËn -, - -378 cÚ¡ * -__ÃedË -, -size_t - -__ÃedËËn -) - -379 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 3)); - -383 * - $__mempýy - (* -__»¡riù - -__de¡ -, - -384 cÚ¡ * -__»¡riù - -__¤c -, -size_t - -__n -) - -385 -__THROW - - `__nÚnuÎ - ((1, 2)); - -386 * - $mempýy - (* -__»¡riù - -__de¡ -, - -387 cÚ¡ * -__»¡riù - -__¤c -, -size_t - -__n -) - -388 -__THROW - - `__nÚnuÎ - ((1, 2)); - -392 -__BEGIN_NAMESPACE_STD - - -394 -size_t - - $¡¾’ - (cÚ¡ * -__s -) - -395 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -396 -__END_NAMESPACE_STD - - -398 #ifdef -__USE_XOPEN2K8 - - -401 -size_t - - $¡ºËn - (cÚ¡ * -__¡ršg -, -size_t - -__maxËn -) - -402 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -406 -__BEGIN_NAMESPACE_STD - - -408 * - $¡»¼Ü - ( -__”ºum -è -__THROW -; - -409 -__END_NAMESPACE_STD - - -410 #ifdeà -__USE_XOPEN2K - - -418 #ià -defšed - -__USE_XOPEN2K - && !defšed -__USE_GNU - - -421 #ifdeà -__REDIRECT_NTH - - -422  - `__REDIRECT_NTH - ( -¡»¼Ü_r -, - -423 ( -__”ºum -, * -__buf -, -size_t - -__buæ’ -), - -424 -__xpg_¡»¼Ü_r -è - `__nÚnuÎ - ((2)); - -426  - $__xpg_¡»¼Ü_r - ( -__”ºum -, * -__buf -, -size_t - -__buæ’ -) - -427 -__THROW - - `__nÚnuÎ - ((2)); - -428  - #¡»¼Ü_r - -__xpg_¡»¼Ü_r - - - ) - -433 * - $¡»¼Ü_r - ( -__”ºum -, * -__buf -, -size_t - -__buæ’ -) - -434 -__THROW - - `__nÚnuÎ - ((2)è -__wur -; - -438 #ifdeà -__USE_XOPEN2K8 - - -440 * - $¡»¼Ü_l - ( -__”ºum -, -__loÿË_t - -__l -è -__THROW -; - -446  - $__bz”o - (* -__s -, -size_t - -__n -è -__THROW - - `__nÚnuÎ - ((1)); - -448 #ifdeà -__USE_MISC - - -450  - $bcÝy - (cÚ¡ * -__¤c -, * -__de¡ -, -size_t - -__n -) - -451 -__THROW - - `__nÚnuÎ - ((1, 2)); - -454  - $bz”o - (* -__s -, -size_t - -__n -è -__THROW - - `__nÚnuÎ - ((1)); - -457  - $bcmp - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, -size_t - -__n -) - -458 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -461 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -464 * - `šdex - (* -__s -,  -__c -) - -465 -__THROW - - `__asm - ("šdex"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -466 cÚ¡ * - `šdex - (cÚ¡ * -__s -,  -__c -) - -467 -__THROW - - `__asm - ("šdex"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -469 #ià -defšed - -__OPTIMIZE__ - && !defšed -__CORRECT_ISO_CPP_STRINGS_H_PROTO - - -470 -__ex‹º_®ways_šlše - * - -471 - `šdex - (* -__s -,  -__c -è -__THROW - - -473  - `__bužtš_šdex - ( -__s -, -__c -); - -476 -__ex‹º_®ways_šlše - const * - -477 - `šdex - (cÚ¡ * -__s -,  -__c -è -__THROW - - -479  - `__bužtš_šdex - ( -__s -, -__c -); - -482 - } -} - -484 * - $šdex - (cÚ¡ * -__s -,  -__c -) - -485 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -489 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -492 * - `ršdex - (* -__s -,  -__c -) - -493 -__THROW - - `__asm - ("ršdex"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -494 cÚ¡ * - `ršdex - (cÚ¡ * -__s -,  -__c -) - -495 -__THROW - - `__asm - ("ršdex"è -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -497 #ià -defšed - -__OPTIMIZE__ - && !defšed -__CORRECT_ISO_CPP_STRINGS_H_PROTO - - -498 -__ex‹º_®ways_šlše - * - -499 - `ršdex - (* -__s -,  -__c -è -__THROW - - -501  - `__bužtš_ršdex - ( -__s -, -__c -); - -504 -__ex‹º_®ways_šlše - const * - -505 - `ršdex - (cÚ¡ * -__s -,  -__c -è -__THROW - - -507  - `__bužtš_ršdex - ( -__s -, -__c -); - -510 - } -} - -512 * - $ršdex - (cÚ¡ * -__s -,  -__c -) - -513 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1)); - -518  - $ffs - ( -__i -è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -522 #ifdef -__USE_GNU - - -523  - $ff¦ - ( -__l -è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -524 -__ex‹nsiÚ__ -  - $ff¦l - ( -__Î -) - -525 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -529  - $¡rÿ£cmp - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -) - -530 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -533  - $¡ºÿ£cmp - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, -size_t - -__n -) - -534 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -537 #ifdef -__USE_GNU - - -540  - $¡rÿ£cmp_l - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, - -541 -__loÿË_t - -__loc -) - -542 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2, 3)); - -544  - $¡ºÿ£cmp_l - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, - -545 -size_t - -__n -, -__loÿË_t - -__loc -) - -546 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2, 4)); - -549 #ifdef -__USE_MISC - - -552 * - $¡r£p - (** -__»¡riù - -__¡ršgp -, - -553 cÚ¡ * -__»¡riù - -__d–im -) - -554 -__THROW - - `__nÚnuÎ - ((1, 2)); - -557 #ifdef -__USE_XOPEN2K8 - - -559 * - $¡rsigÇl - ( -__sig -è -__THROW -; - -562 * - $__¡pýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -) - -563 -__THROW - - `__nÚnuÎ - ((1, 2)); - -564 * - $¡pýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -) - -565 -__THROW - - `__nÚnuÎ - ((1, 2)); - -569 * - $__¡²ýy - (* -__»¡riù - -__de¡ -, - -570 cÚ¡ * -__»¡riù - -__¤c -, -size_t - -__n -) - -571 -__THROW - - `__nÚnuÎ - ((1, 2)); - -572 * - $¡²ýy - (* -__»¡riù - -__de¡ -, - -573 cÚ¡ * -__»¡riù - -__¤c -, -size_t - -__n -) - -574 -__THROW - - `__nÚnuÎ - ((1, 2)); - -577 #ifdef -__USE_GNU - - -579  - $¡rv”scmp - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -) - -580 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -583 * - $¡räy - (* -__¡ršg -è -__THROW - - `__nÚnuÎ - ((1)); - -586 * - $memäob - (* -__s -, -size_t - -__n -è -__THROW - - `__nÚnuÎ - ((1)); - -588 #iâdeà -ba£Çme - - -593 #ifdeà -__CORRECT_ISO_CPP_STRING_H_PROTO - - -594 "C++" * - $ba£Çme - (* -__fž’ame -) - -595 -__THROW - - `__asm - ("ba£Çme"è - `__nÚnuÎ - ((1)); - -596 "C++" cÚ¡ * - $ba£Çme - (cÚ¡ * -__fž’ame -) - -597 -__THROW - - `__asm - ("ba£Çme"è - `__nÚnuÎ - ((1)); - -599 * - $ba£Çme - (cÚ¡ * -__fž’ame -è -__THROW - - `__nÚnuÎ - ((1)); - -605 #ià -defšed - -__GNUC__ - && __GNUC__ >= 2 - -606 #ià -defšed - -__OPTIMIZE__ - && !defšed -__OPTIMIZE_SIZE__ - \ - -607 && ! -defšed - -__NO_INLINE__ - && !defšed -__ýlu¥lus - - -627  - ~ - -630  - ~ - -633 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ - - -635  - ~ - -639 #ià -defšed - -__USE_GNU - && defšed -__OPTIMIZE__ - \ - -640 && -defšed - -__ex‹º_®ways_šlše - && - $__GNUC_PREREQ - (3,2) - -641 #ià! -defšed - -_FORCE_INLINES - && !defšed -_HAVE_STRING_ARCH_mempýy - - -643 #undeà -mempýy - - -644 #undeà -__mempýy - - -645  - #mempýy -( -de¡ -, -¤c -, -n -è - `__mempýy_šlše - (de¡, src,‚) - - ) - -646  - #__mempýy -( -de¡ -, -¤c -, -n -è - `__mempýy_šlše - (de¡, src,‚) - - ) - -648 -__ex‹º_®ways_šlše - * - -649 - $__mempýy_šlše - (* -__»¡riù - -__de¡ -, - -650 cÚ¡ * -__»¡riù - -__¤c -, -size_t - -__n -) - -652  (*è - `memýy - ( -__de¡ -, -__¤c -, -__n -) + __n; - -653 - } -} - -658 - g__END_DECLS - - - @/usr/include/sys/param.h - -19 #iâdeà -_SYS_PARAM_H - - -20  - #_SYS_PARAM_H - 1 - - ) - -22  - #__Ãed_NULL - - - ) - -23  - ~<¡ddef.h -> - -25  - ~ - -26  - ~ - -27  - ~<’dŸn.h -> - -28  - ~ - -31  - ~ - -36  - #NBBY - -CHAR_BIT - - - ) - -38 #ià! -defšed - -NGROUPS - && defšed -NGROUPS_MAX - - -39  - #NGROUPS - -NGROUPS_MAX - - - ) - -41 #ià! -defšed - -MAXSYMLINKS - && defšed -SYMLOOP_MAX - - -42  - #MAXSYMLINKS - -SYMLOOP_MAX - - - ) - -44 #ià! -defšed - -CANBSIZ - && defšed -MAX_CANON - - -45  - #CANBSIZ - -MAX_CANON - - - ) - -47 #ià! -defšed - -MAXPATHLEN - && defšed -PATH_MAX - - -48  - #MAXPATHLEN - -PATH_MAX - - - ) - -50 #ià! -defšed - -NOFILE - && defšed -OPEN_MAX - - -51  - #NOFILE - -OPEN_MAX - - - ) - -53 #ià! -defšed - -MAXHOSTNAMELEN - && defšed -HOST_NAME_MAX - - -54  - #MAXHOSTNAMELEN - -HOST_NAME_MAX - - - ) - -56 #iâdeà -NCARGS - - -57 #ifdeà -ARG_MAX - - -58  - #NCARGS - -ARG_MAX - - - ) - -62  - #NCARGS - -INT_MAX - - - ) - -68 #iâdeà -NOGROUP - - -69  - #NOGROUP - 65535 - - ) - -71 #iâdeà -NODEV - - -72  - #NODEV - (( -dev_t -è-1è - - ) - -77 #iâdeà -DEV_BSIZE - - -78  - #DEV_BSIZE - 512 - - ) - -83  - #£tb™ -( -a -, -i -è(×)[(i)/ -NBBY -] |ð1<<((i)%NBBY)) - - ) - -84  - #þrb™ -( -a -, -i -è(×)[(i)/ -NBBY -] &ð~(1<<((i)%NBBY))) - - ) - -85  - #is£t -( -a -, -i -è(×)[(i)/ -NBBY -] & (1<<((i)%NBBY))) - - ) - -86  - #isþr -( -a -, -i -è((×)[(i)/ -NBBY -] & (1<<((i)%NBBY))è=ð0) - - ) - -89 #iâdeà -howmªy - - -90  - #howmªy -( -x -, -y -è(((xè+ ((yè- 1)è/ (y)) - - ) - -92 #ifdeà -__GNUC__ - - -93  - #roundup -( -x -, -y -è( - `__bužtš_cÚ¡ªt_p - (yè&& - `pow”of2 - (y) \ - -94 ? ((( -x -è+ ( -y -) - 1) & ~((y) - 1)) \ - -95 : (((( -x -è+ (( -y -è- 1)è/ (y)è* (y))) - - ) - -97  - #roundup -( -x -, -y -è((((xè+ ((yè- 1)è/ (y)è* (y)) - - ) - -99  - #pow”of2 -( -x -è((((xè- 1è& (x)è=ð0) - - ) - -102  - #MIN -( -a -, -b -è((×)<(b))?×):(b)) - - ) - -103  - #MAX -( -a -, -b -è((×)>(b))?×):(b)) - - ) - - @/usr/include/sys/queue.h - -32 #iâdef -_SYS_QUEUE_H_ - - -33  - #_SYS_QUEUE_H_ - - - ) - -84  - #LIST_HEAD -( -Çme -, -ty³ -) \ - -85  - sÇme - { \ - -86  -ty³ - * -lh_fœ¡ -; \ - -87 } - - ) - -89  - #LIST_HEAD_INITIALIZER -( -h—d -) \ - -90 { -NULL - } - - ) - -92  - #LIST_ENTRY -( -ty³ -) \ - -94  -ty³ - * -Ë_Ãxt -; \ - -95  -ty³ - ** -Ë_´ev -; \ - -96 } - - ) - -101  - #LIST_INIT -( -h—d -) do { \ - -102 ( -h—d -)-> -lh_fœ¡ - = -NULL -; \ - -103 }  0) - - ) - -105  - #LIST_INSERT_AFTER -( -li¡–m -, -–m -, -f›ld -) do { \ - -106 ià((( -–m -)-> -f›ld -. -Ë_Ãxt - = ( -li¡–m -)->f›ld.Ë_Ãxtè!ð -NULL -) \ - -107 ( -li¡–m -)-> -f›ld -. -Ë_Ãxt -->f›ld. -Ë_´ev - = \ - -108 &( -–m -)-> -f›ld -. -Ë_Ãxt -; \ - -109 ( -li¡–m -)-> -f›ld -. -Ë_Ãxt - = ( -–m -); \ - -110 ( -–m -)-> -f›ld -. -Ë_´ev - = &( -li¡–m -)->f›ld. -Ë_Ãxt -; \ - -111 }  0) - - ) - -113  - #LIST_INSERT_BEFORE -( -li¡–m -, -–m -, -f›ld -) do { \ - -114 ( -–m -)-> -f›ld -. -Ë_´ev - = ( -li¡–m -)->field.le_prev; \ - -115 ( -–m -)-> -f›ld -. -Ë_Ãxt - = ( -li¡–m -); \ - -116 *( -li¡–m -)-> -f›ld -. -Ë_´ev - = ( -–m -); \ - -117 ( -li¡–m -)-> -f›ld -. -Ë_´ev - = &( -–m -)->f›ld. -Ë_Ãxt -; \ - -118 }  0) - - ) - -120  - #LIST_INSERT_HEAD -( -h—d -, -–m -, -f›ld -) do { \ - -121 ià((( -–m -)-> -f›ld -. -Ë_Ãxt - = ( -h—d -)-> -lh_fœ¡ -è!ð -NULL -) \ - -122 ( -h—d -)-> -lh_fœ¡ --> -f›ld -. -Ë_´ev - = &( -–m -)->f›ld. -Ë_Ãxt -;\ - -123 ( -h—d -)-> -lh_fœ¡ - = ( -–m -); \ - -124 ( -–m -)-> -f›ld -. -Ë_´ev - = &( -h—d -)-> -lh_fœ¡ -; \ - -125 }  0) - - ) - -127  - #LIST_REMOVE -( -–m -, -f›ld -) do { \ - -128 ià(( -–m -)-> -f›ld -. -Ë_Ãxt - !ð -NULL -) \ - -129 ( -–m -)-> -f›ld -. -Ë_Ãxt -->f›ld. -Ë_´ev - = \ - -130 ( -–m -)-> -f›ld -. -Ë_´ev -; \ - -131 *( -–m -)-> -f›ld -. -Ë_´ev - = (–m)->f›ld. -Ë_Ãxt -; \ - -132 }  0) - - ) - -134  - #LIST_FOREACH -( -v¬ -, -h—d -, -f›ld -) \ - -135 ( -v¬ -èð(( -h—d -)-> -lh_fœ¡ -); \ - -136 ( -v¬ -); \ - -137 ( -v¬ -èð((v¬)-> -f›ld -. -Ë_Ãxt -)) - - ) - -142  - #LIST_EMPTY -( -h—d -è((h—d)-> -lh_fœ¡ - =ð -NULL -) - - ) - -143  - #LIST_FIRST -( -h—d -è((h—d)-> -lh_fœ¡ -) - - ) - -144  - #LIST_NEXT -( -–m -, -f›ld -è(Ólm)->f›ld. -Ë_Ãxt -) - - ) - -150  - #SLIST_HEAD -( -Çme -, -ty³ -) \ - -151  - sÇme - { \ - -152  -ty³ - * -¦h_fœ¡ -; \ - -153 } - - ) - -155  - #SLIST_HEAD_INITIALIZER -( -h—d -) \ - -156 { -NULL - } - - ) - -158  - #SLIST_ENTRY -( -ty³ -) \ - -160  -ty³ - * -¦e_Ãxt -; \ - -161 } - - ) - -166  - #SLIST_INIT -( -h—d -) do { \ - -167 ( -h—d -)-> -¦h_fœ¡ - = -NULL -; \ - -168 }  0) - - ) - -170  - #SLIST_INSERT_AFTER -( -¦i¡–m -, -–m -, -f›ld -) do { \ - -171 ( -–m -)-> -f›ld -. -¦e_Ãxt - = ( -¦i¡–m -)->field.sle_next; \ - -172 ( -¦i¡–m -)-> -f›ld -. -¦e_Ãxt - = ( -–m -); \ - -173 }  0) - - ) - -175  - #SLIST_INSERT_HEAD -( -h—d -, -–m -, -f›ld -) do { \ - -176 ( -–m -)-> -f›ld -. -¦e_Ãxt - = ( -h—d -)-> -¦h_fœ¡ -; \ - -177 ( -h—d -)-> -¦h_fœ¡ - = ( -–m -); \ - -178 }  0) - - ) - -180  - #SLIST_REMOVE_HEAD -( -h—d -, -f›ld -) do { \ - -181 ( -h—d -)-> -¦h_fœ¡ - = (h—d)->¦h_fœ¡-> -f›ld -. -¦e_Ãxt -; \ - -182 }  0) - - ) - -184  - #SLIST_REMOVE -( -h—d -, -–m -, -ty³ -, -f›ld -) do { \ - -185 ià(( -h—d -)-> -¦h_fœ¡ - =ð( -–m -)) { \ - -186 - `SLIST_REMOVE_HEAD -(( -h—d -), -f›ld -); \ - -189  -ty³ - * -cu»lm - = ( -h—d -)-> -¦h_fœ¡ -; \ - -190  -cu»lm --> -f›ld -. -¦e_Ãxt - !ð( -–m -)) \ - -191 -cu»lm - = cu»lm-> -f›ld -. -¦e_Ãxt -; \ - -192 -cu»lm --> -f›ld -. -¦e_Ãxt - = \ - -193 -cu»lm --> -f›ld -. -¦e_Ãxt -->field.sle_next; \ - -195 }  0) - - ) - -197  - #SLIST_FOREACH -( -v¬ -, -h—d -, -f›ld -) \ - -198 ( -v¬ -èð( -h—d -)-> -¦h_fœ¡ -; (v¬); (v¬èð(v¬)-> -f›ld -. -¦e_Ãxt -) - - ) - -203  - #SLIST_EMPTY -( -h—d -è((h—d)-> -¦h_fœ¡ - =ð -NULL -) - - ) - -204  - #SLIST_FIRST -( -h—d -è((h—d)-> -¦h_fœ¡ -) - - ) - -205  - #SLIST_NEXT -( -–m -, -f›ld -è(Ólm)->f›ld. -¦e_Ãxt -) - - ) - -211  - #STAILQ_HEAD -( -Çme -, -ty³ -) \ - -212  - sÇme - { \ - -213  -ty³ - * -¡qh_fœ¡ -; \ - -214  -ty³ - ** -¡qh_Ï¡ -; \ - -215 } - - ) - -217  - #STAILQ_HEAD_INITIALIZER -( -h—d -) \ - -218 { -NULL -, &( -h—d -). -¡qh_fœ¡ - } - - ) - -220  - #STAILQ_ENTRY -( -ty³ -) \ - -222  -ty³ - * -¡qe_Ãxt -; \ - -223 } - - ) - -228  - #STAILQ_INIT -( -h—d -) do { \ - -229 ( -h—d -)-> -¡qh_fœ¡ - = -NULL -; \ - -230 ( -h—d -)-> -¡qh_Ï¡ - = &(h—d)-> -¡qh_fœ¡ -; \ - -231 }  0) - - ) - -233  - #STAILQ_INSERT_HEAD -( -h—d -, -–m -, -f›ld -) do { \ - -234 ià((( -–m -)-> -f›ld -. -¡qe_Ãxt - = ( -h—d -)-> -¡qh_fœ¡ -è=ð -NULL -) \ - -235 ( -h—d -)-> -¡qh_Ï¡ - = &( -–m -)-> -f›ld -. -¡qe_Ãxt -; \ - -236 ( -h—d -)-> -¡qh_fœ¡ - = ( -–m -); \ - -237 }  0) - - ) - -239  - #STAILQ_INSERT_TAIL -( -h—d -, -–m -, -f›ld -) do { \ - -240 ( -–m -)-> -f›ld -. -¡qe_Ãxt - = -NULL -; \ - -241 *( -h—d -)-> -¡qh_Ï¡ - = ( -–m -); \ - -242 ( -h—d -)-> -¡qh_Ï¡ - = &( -–m -)-> -f›ld -. -¡qe_Ãxt -; \ - -243 }  0) - - ) - -245  - #STAILQ_INSERT_AFTER -( -h—d -, -li¡–m -, -–m -, -f›ld -) do { \ - -246 ià((( -–m -)-> -f›ld -. -¡qe_Ãxt - = ( -li¡–m -)->f›ld.¡qe_Ãxtè=ð -NULL -)\ - -247 ( -h—d -)-> -¡qh_Ï¡ - = &( -–m -)-> -f›ld -. -¡qe_Ãxt -; \ - -248 ( -li¡–m -)-> -f›ld -. -¡qe_Ãxt - = ( -–m -); \ - -249 }  0) - - ) - -251  - #STAILQ_REMOVE_HEAD -( -h—d -, -f›ld -) do { \ - -252 ià((( -h—d -)-> -¡qh_fœ¡ - = (h—d)->¡qh_fœ¡-> -f›ld -. -¡qe_Ãxt -è=ð -NULL -) \ - -253 ( -h—d -)-> -¡qh_Ï¡ - = &(h—d)-> -¡qh_fœ¡ -; \ - -254 }  0) - - ) - -256  - #STAILQ_REMOVE -( -h—d -, -–m -, -ty³ -, -f›ld -) do { \ - -257 ià(( -h—d -)-> -¡qh_fœ¡ - =ð( -–m -)) { \ - -258 - `STAILQ_REMOVE_HEAD -(( -h—d -), -f›ld -); \ - -260  -ty³ - * -cu»lm - = ( -h—d -)-> -¡qh_fœ¡ -; \ - -261  -cu»lm --> -f›ld -. -¡qe_Ãxt - !ð( -–m -)) \ - -262 -cu»lm - = cu»lm-> -f›ld -. -¡qe_Ãxt -; \ - -263 ià(( -cu»lm --> -f›ld -. -¡qe_Ãxt - = \ - -264 -cu»lm --> -f›ld -. -¡qe_Ãxt -->f›ld.¡qe_Ãxtè=ð -NULL -) \ - -265 ( -h—d -)-> -¡qh_Ï¡ - = &( -cu»lm -)-> -f›ld -. -¡qe_Ãxt -; \ - -267 }  0) - - ) - -269  - #STAILQ_FOREACH -( -v¬ -, -h—d -, -f›ld -) \ - -270 ( -v¬ -èð(( -h—d -)-> -¡qh_fœ¡ -); \ - -271 ( -v¬ -); \ - -272 ( -v¬ -èð((v¬)-> -f›ld -. -¡qe_Ãxt -)) - - ) - -274  - #STAILQ_CONCAT -( -h—d1 -, -h—d2 -) do { \ - -275 ià(! - `STAILQ_EMPTY -(( -h—d2 -))) { \ - -276 *( -h—d1 -)-> -¡qh_Ï¡ - = ( -h—d2 -)-> -¡qh_fœ¡ -; \ - -277 ( -h—d1 -)-> -¡qh_Ï¡ - = ( -h—d2 -)->stqh_last; \ - -278 - `STAILQ_INIT -(( -h—d2 -)); \ - -280 }  0) - - ) - -285  - #STAILQ_EMPTY -( -h—d -è((h—d)-> -¡qh_fœ¡ - =ð -NULL -) - - ) - -286  - #STAILQ_FIRST -( -h—d -è((h—d)-> -¡qh_fœ¡ -) - - ) - -287  - #STAILQ_NEXT -( -–m -, -f›ld -è(Ólm)->f›ld. -¡qe_Ãxt -) - - ) - -293  - #SIMPLEQ_HEAD -( -Çme -, -ty³ -) \ - -294  - sÇme - { \ - -295  -ty³ - * -sqh_fœ¡ -; \ - -296  -ty³ - ** -sqh_Ï¡ -; \ - -297 } - - ) - -299  - #SIMPLEQ_HEAD_INITIALIZER -( -h—d -) \ - -300 { -NULL -, &( -h—d -). -sqh_fœ¡ - } - - ) - -302  - #SIMPLEQ_ENTRY -( -ty³ -) \ - -304  -ty³ - * -sqe_Ãxt -; \ - -305 } - - ) - -310  - #SIMPLEQ_INIT -( -h—d -) do { \ - -311 ( -h—d -)-> -sqh_fœ¡ - = -NULL -; \ - -312 ( -h—d -)-> -sqh_Ï¡ - = &(h—d)-> -sqh_fœ¡ -; \ - -313 }  0) - - ) - -315  - #SIMPLEQ_INSERT_HEAD -( -h—d -, -–m -, -f›ld -) do { \ - -316 ià((( -–m -)-> -f›ld -. -sqe_Ãxt - = ( -h—d -)-> -sqh_fœ¡ -è=ð -NULL -) \ - -317 ( -h—d -)-> -sqh_Ï¡ - = &( -–m -)-> -f›ld -. -sqe_Ãxt -; \ - -318 ( -h—d -)-> -sqh_fœ¡ - = ( -–m -); \ - -319 }  0) - - ) - -321  - #SIMPLEQ_INSERT_TAIL -( -h—d -, -–m -, -f›ld -) do { \ - -322 ( -–m -)-> -f›ld -. -sqe_Ãxt - = -NULL -; \ - -323 *( -h—d -)-> -sqh_Ï¡ - = ( -–m -); \ - -324 ( -h—d -)-> -sqh_Ï¡ - = &( -–m -)-> -f›ld -. -sqe_Ãxt -; \ - -325 }  0) - - ) - -327  - #SIMPLEQ_INSERT_AFTER -( -h—d -, -li¡–m -, -–m -, -f›ld -) do { \ - -328 ià((( -–m -)-> -f›ld -. -sqe_Ãxt - = ( -li¡–m -)->f›ld.sqe_Ãxtè=ð -NULL -)\ - -329 ( -h—d -)-> -sqh_Ï¡ - = &( -–m -)-> -f›ld -. -sqe_Ãxt -; \ - -330 ( -li¡–m -)-> -f›ld -. -sqe_Ãxt - = ( -–m -); \ - -331 }  0) - - ) - -333  - #SIMPLEQ_REMOVE_HEAD -( -h—d -, -f›ld -) do { \ - -334 ià((( -h—d -)-> -sqh_fœ¡ - = (h—d)->sqh_fœ¡-> -f›ld -. -sqe_Ãxt -è=ð -NULL -) \ - -335 ( -h—d -)-> -sqh_Ï¡ - = &(h—d)-> -sqh_fœ¡ -; \ - -336 }  0) - - ) - -338  - #SIMPLEQ_REMOVE -( -h—d -, -–m -, -ty³ -, -f›ld -) do { \ - -339 ià(( -h—d -)-> -sqh_fœ¡ - =ð( -–m -)) { \ - -340 - `SIMPLEQ_REMOVE_HEAD -(( -h—d -), -f›ld -); \ - -342  -ty³ - * -cu»lm - = ( -h—d -)-> -sqh_fœ¡ -; \ - -343  -cu»lm --> -f›ld -. -sqe_Ãxt - !ð( -–m -)) \ - -344 -cu»lm - = cu»lm-> -f›ld -. -sqe_Ãxt -; \ - -345 ià(( -cu»lm --> -f›ld -. -sqe_Ãxt - = \ - -346 -cu»lm --> -f›ld -. -sqe_Ãxt -->f›ld.sqe_Ãxtè=ð -NULL -) \ - -347 ( -h—d -)-> -sqh_Ï¡ - = &( -cu»lm -)-> -f›ld -. -sqe_Ãxt -; \ - -349 }  0) - - ) - -351  - #SIMPLEQ_FOREACH -( -v¬ -, -h—d -, -f›ld -) \ - -352 ( -v¬ -èð(( -h—d -)-> -sqh_fœ¡ -); \ - -353 ( -v¬ -); \ - -354 ( -v¬ -èð((v¬)-> -f›ld -. -sqe_Ãxt -)) - - ) - -359  - #SIMPLEQ_EMPTY -( -h—d -è((h—d)-> -sqh_fœ¡ - =ð -NULL -) - - ) - -360  - #SIMPLEQ_FIRST -( -h—d -è((h—d)-> -sqh_fœ¡ -) - - ) - -361  - #SIMPLEQ_NEXT -( -–m -, -f›ld -è(Ólm)->f›ld. -sqe_Ãxt -) - - ) - -367  - #_TAILQ_HEAD -( -Çme -, -ty³ -, -qu® -) \ - -368  - sÇme - { \ - -369 -qu® - -ty³ - * -tqh_fœ¡ -; \ - -370 -qu® - -ty³ - *qu® * -tqh_Ï¡ -; \ - -371 } - - ) - -372  - #TAILQ_HEAD -( -Çme -, -ty³ -è - `_TAILQ_HEAD -Òame, ty³,) - - ) - -374  - #TAILQ_HEAD_INITIALIZER -( -h—d -) \ - -375 { -NULL -, &( -h—d -). -tqh_fœ¡ - } - - ) - -377  - #_TAILQ_ENTRY -( -ty³ -, -qu® -) \ - -379 -qu® - -ty³ - * -tqe_Ãxt -; \ - -380 -qu® - -ty³ - *qu® * -tqe_´ev -; \ - -381 } - - ) - -382  - #TAILQ_ENTRY -( -ty³ -è - `_TAILQ_ENTRY -(ty³,) - - ) - -387  - #TAILQ_INIT -( -h—d -) do { \ - -388 ( -h—d -)-> -tqh_fœ¡ - = -NULL -; \ - -389 ( -h—d -)-> -tqh_Ï¡ - = &(h—d)-> -tqh_fœ¡ -; \ - -390 }  0) - - ) - -392  - #TAILQ_INSERT_HEAD -( -h—d -, -–m -, -f›ld -) do { \ - -393 ià((( -–m -)-> -f›ld -. -tqe_Ãxt - = ( -h—d -)-> -tqh_fœ¡ -è!ð -NULL -) \ - -394 ( -h—d -)-> -tqh_fœ¡ --> -f›ld -. -tqe_´ev - = \ - -395 &( -–m -)-> -f›ld -. -tqe_Ãxt -; \ - -397 ( -h—d -)-> -tqh_Ï¡ - = &( -–m -)-> -f›ld -. -tqe_Ãxt -; \ - -398 ( -h—d -)-> -tqh_fœ¡ - = ( -–m -); \ - -399 ( -–m -)-> -f›ld -. -tqe_´ev - = &( -h—d -)-> -tqh_fœ¡ -; \ - -400 }  0) - - ) - -402  - #TAILQ_INSERT_TAIL -( -h—d -, -–m -, -f›ld -) do { \ - -403 ( -–m -)-> -f›ld -. -tqe_Ãxt - = -NULL -; \ - -404 ( -–m -)-> -f›ld -. -tqe_´ev - = ( -h—d -)-> -tqh_Ï¡ -; \ - -405 *( -h—d -)-> -tqh_Ï¡ - = ( -–m -); \ - -406 ( -h—d -)-> -tqh_Ï¡ - = &( -–m -)-> -f›ld -. -tqe_Ãxt -; \ - -407 }  0) - - ) - -409  - #TAILQ_INSERT_AFTER -( -h—d -, -li¡–m -, -–m -, -f›ld -) do { \ - -410 ià((( -–m -)-> -f›ld -. -tqe_Ãxt - = ( -li¡–m -)->f›ld.tqe_Ãxtè!ð -NULL -)\ - -411 ( -–m -)-> -f›ld -. -tqe_Ãxt -->f›ld. -tqe_´ev - = \ - -412 &( -–m -)-> -f›ld -. -tqe_Ãxt -; \ - -414 ( -h—d -)-> -tqh_Ï¡ - = &( -–m -)-> -f›ld -. -tqe_Ãxt -; \ - -415 ( -li¡–m -)-> -f›ld -. -tqe_Ãxt - = ( -–m -); \ - -416 ( -–m -)-> -f›ld -. -tqe_´ev - = &( -li¡–m -)->f›ld. -tqe_Ãxt -; \ - -417 }  0) - - ) - -419  - #TAILQ_INSERT_BEFORE -( -li¡–m -, -–m -, -f›ld -) do { \ - -420 ( -–m -)-> -f›ld -. -tqe_´ev - = ( -li¡–m -)->field.tqe_prev; \ - -421 ( -–m -)-> -f›ld -. -tqe_Ãxt - = ( -li¡–m -); \ - -422 *( -li¡–m -)-> -f›ld -. -tqe_´ev - = ( -–m -); \ - -423 ( -li¡–m -)-> -f›ld -. -tqe_´ev - = &( -–m -)->f›ld. -tqe_Ãxt -; \ - -424 }  0) - - ) - -426  - #TAILQ_REMOVE -( -h—d -, -–m -, -f›ld -) do { \ - -427 ià((( -–m -)-> -f›ld -. -tqe_Ãxt -è!ð -NULL -) \ - -428 ( -–m -)-> -f›ld -. -tqe_Ãxt -->f›ld. -tqe_´ev - = \ - -429 ( -–m -)-> -f›ld -. -tqe_´ev -; \ - -431 ( -h—d -)-> -tqh_Ï¡ - = ( -–m -)-> -f›ld -. -tqe_´ev -; \ - -432 *( -–m -)-> -f›ld -. -tqe_´ev - = (–m)->f›ld. -tqe_Ãxt -; \ - -433 }  0) - - ) - -435  - #TAILQ_FOREACH -( -v¬ -, -h—d -, -f›ld -) \ - -436 ( -v¬ -èð(( -h—d -)-> -tqh_fœ¡ -); \ - -437 ( -v¬ -); \ - -438 ( -v¬ -èð((v¬)-> -f›ld -. -tqe_Ãxt -)) - - ) - -440  - #TAILQ_FOREACH_REVERSE -( -v¬ -, -h—d -, -h—dÇme -, -f›ld -) \ - -441 ( -v¬ -èð(*((( -h—dÇme - *)(( -h—d -)-> -tqh_Ï¡ -))->tqh_last)); \ - -442 ( -v¬ -); \ - -443 ( -v¬ -èð(*((( -h—dÇme - *)((v¬)-> -f›ld -. -tqe_´ev -))-> -tqh_Ï¡ -))) - - ) - -445  - #TAILQ_CONCAT -( -h—d1 -, -h—d2 -, -f›ld -) do { \ - -446 ià(! - `TAILQ_EMPTY -( -h—d2 -)) { \ - -447 *( -h—d1 -)-> -tqh_Ï¡ - = ( -h—d2 -)-> -tqh_fœ¡ -; \ - -448 ( -h—d2 -)-> -tqh_fœ¡ --> -f›ld -. -tqe_´ev - = ( -h—d1 -)-> -tqh_Ï¡ -; \ - -449 ( -h—d1 -)-> -tqh_Ï¡ - = ( -h—d2 -)->tqh_last; \ - -450 - `TAILQ_INIT -(( -h—d2 -)); \ - -452 }  0) - - ) - -457  - #TAILQ_EMPTY -( -h—d -è((h—d)-> -tqh_fœ¡ - =ð -NULL -) - - ) - -458  - #TAILQ_FIRST -( -h—d -è((h—d)-> -tqh_fœ¡ -) - - ) - -459  - #TAILQ_NEXT -( -–m -, -f›ld -è(Ólm)->f›ld. -tqe_Ãxt -) - - ) - -461  - #TAILQ_LAST -( -h—d -, -h—dÇme -) \ - -462 (*((( -h—dÇme - *)(( -h—d -)-> -tqh_Ï¡ -))->tqh_Ï¡)) - - ) - -463  - #TAILQ_PREV -( -–m -, -h—dÇme -, -f›ld -) \ - -464 (*((( -h—dÇme - *)(( -–m -)-> -f›ld -. -tqe_´ev -))-> -tqh_Ï¡ -)) - - ) - -470  - #CIRCLEQ_HEAD -( -Çme -, -ty³ -) \ - -471  - sÇme - { \ - -472  -ty³ - * -cqh_fœ¡ -; \ - -473  -ty³ - * -cqh_Ï¡ -; \ - -474 } - - ) - -476  - #CIRCLEQ_HEAD_INITIALIZER -( -h—d -) \ - -477 { (*)& -h—d -, (*)&h—d } - - ) - -479  - #CIRCLEQ_ENTRY -( -ty³ -) \ - -481  -ty³ - * -cqe_Ãxt -; \ - -482  -ty³ - * -cqe_´ev -; \ - -483 } - - ) - -488  - #CIRCLEQ_INIT -( -h—d -) do { \ - -489 ( -h—d -)-> -cqh_fœ¡ - = (*)(head); \ - -490 ( -h—d -)-> -cqh_Ï¡ - = (*)(head); \ - -491 }  0) - - ) - -493  - #CIRCLEQ_INSERT_AFTER -( -h—d -, -li¡–m -, -–m -, -f›ld -) do { \ - -494 ( -–m -)-> -f›ld -. -cqe_Ãxt - = ( -li¡–m -)->field.cqe_next; \ - -495 ( -–m -)-> -f›ld -. -cqe_´ev - = ( -li¡–m -); \ - -496 ià(( -li¡–m -)-> -f›ld -. -cqe_Ãxt - =ð(*)( -h—d -)) \ - -497 ( -h—d -)-> -cqh_Ï¡ - = ( -–m -); \ - -499 ( -li¡–m -)-> -f›ld -. -cqe_Ãxt -->f›ld. -cqe_´ev - = ( -–m -); \ - -500 ( -li¡–m -)-> -f›ld -. -cqe_Ãxt - = ( -–m -); \ - -501 }  0) - - ) - -503  - #CIRCLEQ_INSERT_BEFORE -( -h—d -, -li¡–m -, -–m -, -f›ld -) do { \ - -504 ( -–m -)-> -f›ld -. -cqe_Ãxt - = ( -li¡–m -); \ - -505 ( -–m -)-> -f›ld -. -cqe_´ev - = ( -li¡–m -)->field.cqe_prev; \ - -506 ià(( -li¡–m -)-> -f›ld -. -cqe_´ev - =ð(*)( -h—d -)) \ - -507 ( -h—d -)-> -cqh_fœ¡ - = ( -–m -); \ - -509 ( -li¡–m -)-> -f›ld -. -cqe_´ev -->f›ld. -cqe_Ãxt - = ( -–m -); \ - -510 ( -li¡–m -)-> -f›ld -. -cqe_´ev - = ( -–m -); \ - -511 }  0) - - ) - -513  - #CIRCLEQ_INSERT_HEAD -( -h—d -, -–m -, -f›ld -) do { \ - -514 ( -–m -)-> -f›ld -. -cqe_Ãxt - = ( -h—d -)-> -cqh_fœ¡ -; \ - -515 ( -–m -)-> -f›ld -. -cqe_´ev - = (*)( -h—d -); \ - -516 ià(( -h—d -)-> -cqh_Ï¡ - == (*)(head)) \ - -517 ( -h—d -)-> -cqh_Ï¡ - = ( -–m -); \ - -519 ( -h—d -)-> -cqh_fœ¡ --> -f›ld -. -cqe_´ev - = ( -–m -); \ - -520 ( -h—d -)-> -cqh_fœ¡ - = ( -–m -); \ - -521 }  0) - - ) - -523  - #CIRCLEQ_INSERT_TAIL -( -h—d -, -–m -, -f›ld -) do { \ - -524 ( -–m -)-> -f›ld -. -cqe_Ãxt - = (*)( -h—d -); \ - -525 ( -–m -)-> -f›ld -. -cqe_´ev - = ( -h—d -)-> -cqh_Ï¡ -; \ - -526 ià(( -h—d -)-> -cqh_fœ¡ - == (*)(head)) \ - -527 ( -h—d -)-> -cqh_fœ¡ - = ( -–m -); \ - -529 ( -h—d -)-> -cqh_Ï¡ --> -f›ld -. -cqe_Ãxt - = ( -–m -); \ - -530 ( -h—d -)-> -cqh_Ï¡ - = ( -–m -); \ - -531 }  0) - - ) - -533  - #CIRCLEQ_REMOVE -( -h—d -, -–m -, -f›ld -) do { \ - -534 ià(( -–m -)-> -f›ld -. -cqe_Ãxt - =ð(*)( -h—d -)) \ - -535 ( -h—d -)-> -cqh_Ï¡ - = ( -–m -)-> -f›ld -. -cqe_´ev -; \ - -537 ( -–m -)-> -f›ld -. -cqe_Ãxt -->f›ld. -cqe_´ev - = \ - -538 ( -–m -)-> -f›ld -. -cqe_´ev -; \ - -539 ià(( -–m -)-> -f›ld -. -cqe_´ev - =ð(*)( -h—d -)) \ - -540 ( -h—d -)-> -cqh_fœ¡ - = ( -–m -)-> -f›ld -. -cqe_Ãxt -; \ - -542 ( -–m -)-> -f›ld -. -cqe_´ev -->f›ld. -cqe_Ãxt - = \ - -543 ( -–m -)-> -f›ld -. -cqe_Ãxt -; \ - -544 }  0) - - ) - -546  - #CIRCLEQ_FOREACH -( -v¬ -, -h—d -, -f›ld -) \ - -547 ( -v¬ -èð(( -h—d -)-> -cqh_fœ¡ -); \ - -548 ( -v¬ -è!ð(cÚ¡ *)( -h—d -); \ - -549 ( -v¬ -èð((v¬)-> -f›ld -. -cqe_Ãxt -)) - - ) - -551  - #CIRCLEQ_FOREACH_REVERSE -( -v¬ -, -h—d -, -f›ld -) \ - -552 ( -v¬ -èð(( -h—d -)-> -cqh_Ï¡ -); \ - -553 ( -v¬ -è!ð(cÚ¡ *)( -h—d -); \ - -554 ( -v¬ -èð((v¬)-> -f›ld -. -cqe_´ev -)) - - ) - -559  - #CIRCLEQ_EMPTY -( -h—d -è((h—d)-> -cqh_fœ¡ - =ð(*)(h—d)) - - ) - -560  - #CIRCLEQ_FIRST -( -h—d -è((h—d)-> -cqh_fœ¡ -) - - ) - -561  - #CIRCLEQ_LAST -( -h—d -è((h—d)-> -cqh_Ï¡ -) - - ) - -562  - #CIRCLEQ_NEXT -( -–m -, -f›ld -è(Ólm)->f›ld. -cqe_Ãxt -) - - ) - -563  - #CIRCLEQ_PREV -( -–m -, -f›ld -è(Ólm)->f›ld. -cqe_´ev -) - - ) - -565  - #CIRCLEQ_LOOP_NEXT -( -h—d -, -–m -, -f›ld -) \ - -566 ((( -–m -)-> -f›ld -. -cqe_Ãxt - =ð(*)( -h—d -)) \ - -567 ? (( -h—d -)-> -cqh_fœ¡ -) \ - -568 : ( -–m --> -f›ld -. -cqe_Ãxt -)) - - ) - -569  - #CIRCLEQ_LOOP_PREV -( -h—d -, -–m -, -f›ld -) \ - -570 ((( -–m -)-> -f›ld -. -cqe_´ev - =ð(*)( -h—d -)) \ - -571 ? (( -h—d -)-> -cqh_Ï¡ -) \ - -572 : ( -–m --> -f›ld -. -cqe_´ev -)) - - ) - - @/usr/include/sys/socket.h - -19 #iâdef -_SYS_SOCKET_H - - -20  - #_SYS_SOCKET_H - 1 - - ) - -22  - ~<ã©u»s.h -> - -24 - g__BEGIN_DECLS - - -26  - ~ - -27  - #__Ãed_size_t - - - ) - -28  - ~<¡ddef.h -> - -29 #ifdeà -__USE_GNU - - -31  - ~ - -38  - ~ - -40 #ifdeà -__USE_MISC - - -43  - sosockaddr - - -45  - m§_çmžy -; - -46  - m§_d©a -[14]; - -54 - mSHUT_RD - = 0, - -55  - #SHUT_RD - -SHUT_RD - - - ) - -56 - mSHUT_WR -, - -57  - #SHUT_WR - -SHUT_WR - - - ) - -58 - mSHUT_RDWR - - -59  - #SHUT_RDWR - -SHUT_RDWR - - - ) - -68 #ià -defšed - -__ýlu¥lus - || ! -__GNUC_PREREQ - (2, 7è|| !defšed -__USE_GNU - - -69  - #__SOCKADDR_ARG -  -sockaddr - * -__»¡riù - - - ) - -70  - #__CONST_SOCKADDR_ARG - cÚ¡  -sockaddr - * - - ) - -74  - #__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_š -) \ - -81 - `__SOCKADDR_ONETYPE - ( -sockaddr_š6 -) \ - -82 - `__SOCKADDR_ONETYPE - ( -sockaddr_š¬p -) \ - -83 - `__SOCKADDR_ONETYPE - ( -sockaddr_x -) \ - -84 - `__SOCKADDR_ONETYPE - ( -sockaddr_iso -) \ - -85 - `__SOCKADDR_ONETYPE - ( -sockaddr_ns -) \ - -86 - `__SOCKADDR_ONETYPE - ( -sockaddr_un -) \ - -87 - `__SOCKADDR_ONETYPE - ( -sockaddr_x25 -) - - ) - -89  - #__SOCKADDR_ONETYPE -( -ty³ -èty³ * -__»¡riù - -__ -##ty³##__; - - ) - -90 uniÚ { - m__SOCKADDR_ALLTYPES - - -91 } - t__SOCKADDR_ARG - - t__©Œibu‹__ - (( - t__Œª¥¬’t_uniÚ__ -)); - -92 #undeà -__SOCKADDR_ONETYPE - - -93  - #__SOCKADDR_ONETYPE -( -ty³ -ècÚ¡ ty³ * -__»¡riù - -__ -##ty³##__; - - ) - -94 uniÚ { - m__SOCKADDR_ALLTYPES - - -95 } - t__CONST_SOCKADDR_ARG - - t__©Œibu‹__ - (( - t__Œª¥¬’t_uniÚ__ -)); - -96 #undeà -__SOCKADDR_ONETYPE - - -99 #ifdeà -__USE_GNU - - -101  - smmsghdr - - -103  -msghdr - - mmsg_hdr -; - -104  - mmsg_Ën -; - -113  - $sock‘ - ( -__domaš -,  -__ty³ -,  -__´ÙocÞ -è -__THROW -; - -119  - $sock‘·œ - ( -__domaš -,  -__ty³ -,  -__´ÙocÞ -, - -120  -__fds -[2]è -__THROW -; - -123  - $bšd - ( -__fd -, -__CONST_SOCKADDR_ARG - -__addr -, -sockËn_t - -__Ën -) - -124 -__THROW -; - -127  - $g‘sockÇme - ( -__fd -, -__SOCKADDR_ARG - -__addr -, - -128 -sockËn_t - * -__»¡riù - -__Ën -è -__THROW -; - -137  - `cÚÃù - ( -__fd -, -__CONST_SOCKADDR_ARG - -__addr -, -sockËn_t - -__Ën -); - -141  - $g‘³”Çme - ( -__fd -, -__SOCKADDR_ARG - -__addr -, - -142 -sockËn_t - * -__»¡riù - -__Ën -è -__THROW -; - -149 -ssize_t - - `£nd - ( -__fd -, cÚ¡ * -__buf -, -size_t - -__n -,  -__æags -); - -156 -ssize_t - - `»cv - ( -__fd -, * -__buf -, -size_t - -__n -,  -__æags -); - -163 -ssize_t - - `£ndto - ( -__fd -, cÚ¡ * -__buf -, -size_t - -__n -, - -164  -__æags -, -__CONST_SOCKADDR_ARG - -__addr -, - -165 -sockËn_t - -__addr_Ën -); - -174 -ssize_t - - `»cväom - ( -__fd -, * -__»¡riù - -__buf -, -size_t - -__n -, - -175  -__æags -, -__SOCKADDR_ARG - -__addr -, - -176 -sockËn_t - * -__»¡riù - -__addr_Ën -); - -184 -ssize_t - - `£ndmsg - ( -__fd -, cÚ¡  -msghdr - * -__mes§ge -, - -185  -__æags -); - -187 #ifdeà -__USE_GNU - - -193  - `£ndmmsg - ( -__fd -,  -mmsghdr - * -__vmes§ges -, - -194  -__vËn -,  -__æags -); - -202 -ssize_t - - `»cvmsg - ( -__fd -,  -msghdr - * -__mes§ge -,  -__æags -); - -204 #ifdeà -__USE_GNU - - -210  - `»cvmmsg - ( -__fd -,  -mmsghdr - * -__vmes§ges -, - -211  -__vËn -,  -__æags -, - -212  -time¥ec - * -__tmo -); - -219  - $g‘sockÝt - ( -__fd -,  -__Ëv– -,  -__݊ame -, - -220 * -__»¡riù - -__Ýtv® -, - -221 -sockËn_t - * -__»¡riù - -__ݎ’ -è -__THROW -; - -226  - $£tsockÝt - ( -__fd -,  -__Ëv– -,  -__݊ame -, - -227 cÚ¡ * -__Ýtv® -, -sockËn_t - -__ݎ’ -è -__THROW -; - -233  - $li¡’ - ( -__fd -,  -__n -è -__THROW -; - -243  - `acû± - ( -__fd -, -__SOCKADDR_ARG - -__addr -, - -244 -sockËn_t - * -__»¡riù - -__addr_Ën -); - -246 #ifdeà -__USE_GNU - - -251  - `acû±4 - ( -__fd -, -__SOCKADDR_ARG - -__addr -, - -252 -sockËn_t - * -__»¡riù - -__addr_Ën -,  -__æags -); - -261  - $shutdown - ( -__fd -,  -__how -è -__THROW -; - -264 #ifdeà -__USE_XOPEN2K - - -266  - $sock©m¬k - ( -__fd -è -__THROW -; - -270 #ifdeà -__USE_MISC - - -274  - $isfdty³ - ( -__fd -,  -__fdty³ -è -__THROW -; - -279 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ - - -280  - ~ - -283 -__END_DECLS - - - @/usr/include/sys/types.h - -22 #iâdef -_SYS_TYPES_H - - -23  - #_SYS_TYPES_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -27 - g__BEGIN_DECLS - - -29  - ~ - -31 #ifdef -__USE_MISC - - -32 #iâdeà -__u_ch¬_defšed - - -33  -__u_ch¬ - - tu_ch¬ -; - -34  -__u_shÜt - - tu_shÜt -; - -35  -__u_št - - tu_št -; - -36  -__u_lÚg - - tu_lÚg -; - -37  -__quad_t - - tquad_t -; - -38  -__u_quad_t - - tu_quad_t -; - -39  -__fsid_t - - tfsid_t -; - -40  - #__u_ch¬_defšed - - - ) - -44  -__loff_t - - tloff_t -; - -46 #iâdeà -__šo_t_defšed - - -47 #iâdeà -__USE_FILE_OFFSET64 - - -48  -__šo_t - - tšo_t -; - -50  -__šo64_t - - tšo_t -; - -52  - #__šo_t_defšed - - - ) - -54 #ià -defšed - -__USE_LARGEFILE64 - && !defšed -__šo64_t_defšed - - -55  -__šo64_t - - tšo64_t -; - -56  - #__šo64_t_defšed - - - ) - -59 #iâdeà -__dev_t_defšed - - -60  -__dev_t - - tdev_t -; - -61  - #__dev_t_defšed - - - ) - -64 #iâdeà -__gid_t_defšed - - -65  -__gid_t - - tgid_t -; - -66  - #__gid_t_defšed - - - ) - -69 #iâdeà -__mode_t_defšed - - -70  -__mode_t - - tmode_t -; - -71  - #__mode_t_defšed - - - ) - -74 #iâdeà -__ƚk_t_defšed - - -75  -__ƚk_t - - tƚk_t -; - -76  - #__ƚk_t_defšed - - - ) - -79 #iâdeà -__uid_t_defšed - - -80  -__uid_t - - tuid_t -; - -81  - #__uid_t_defšed - - - ) - -84 #iâdeà -__off_t_defšed - - -85 #iâdeà -__USE_FILE_OFFSET64 - - -86  -__off_t - - toff_t -; - -88  -__off64_t - - toff_t -; - -90  - #__off_t_defšed - - - ) - -92 #ià -defšed - -__USE_LARGEFILE64 - && !defšed -__off64_t_defšed - - -93  -__off64_t - - toff64_t -; - -94  - #__off64_t_defšed - - - ) - -97 #iâdeà -__pid_t_defšed - - -98  -__pid_t - - tpid_t -; - -99  - #__pid_t_defšed - - - ) - -102 #ià( -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 -) \ - -103 && ! -defšed - -__id_t_defšed - - -104  -__id_t - - tid_t -; - -105  - #__id_t_defšed - - - ) - -108 #iâdeà -__ssize_t_defšed - - -109  -__ssize_t - - tssize_t -; - -110  - #__ssize_t_defšed - - - ) - -113 #ifdef -__USE_MISC - - -114 #iâdeà -__daddr_t_defšed - - -115  -__daddr_t - - tdaddr_t -; - -116  -__ÿddr_t - - tÿddr_t -; - -117  - #__daddr_t_defšed - - - ) - -121 #ià( -defšed - -__USE_MISC - || defšed -__USE_XOPEN -è&& !defšed -__key_t_defšed - - -122  -__key_t - - tkey_t -; - -123  - #__key_t_defšed - - - ) - -126 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 - - -127  - #__Ãed_þock_t - - - ) - -129  - #__Ãed_time_t - - - ) - -130  - #__Ãed_tim”_t - - - ) - -131  - #__Ãed_þockid_t - - - ) - -132  - ~ - -134 #ifdeà -__USE_XOPEN - - -135 #iâdeà -__u£cÚds_t_defšed - - -136  -__u£cÚds_t - - tu£cÚds_t -; - -137  - #__u£cÚds_t_defšed - - - ) - -139 #iâdeà -__su£cÚds_t_defšed - - -140  -__su£cÚds_t - - tsu£cÚds_t -; - -141  - #__su£cÚds_t_defšed - - - ) - -145  - #__Ãed_size_t - - - ) - -146  - ~<¡ddef.h -> - -148 #ifdeà -__USE_MISC - - -150  - tulÚg -; - -151  - tushÜt -; - -152  - tušt -; - -157 #ià! -__GNUC_PREREQ - (2, 7) - -160 #iâdeà -__št8_t_defšed - - -161  - #__št8_t_defšed - - - ) - -162  - tšt8_t -; - -163  - tšt16_t -; - -164  - tšt32_t -; - -165 #ià -__WORDSIZE - == 64 - -166  - tšt64_t -; - -168 -__ex‹nsiÚ__ -  - tšt64_t -; - -173  - tu_št8_t -; - -174  - tu_št16_t -; - -175  - tu_št32_t -; - -176 #ià -__WORDSIZE - == 64 - -177  - tu_št64_t -; - -179 -__ex‹nsiÚ__ -  - tu_št64_t -; - -182  - t»gi¡”_t -; - -187  - #__štN_t -( -N -, -MODE -) \ - -188 ## - tN -## - t_t - - t__©Œibu‹__ - (( - t__mode__ - ( - tMODE -))) - - ) - -189  - t__u_štN_t -( - tN -, - tMODE -) \ - -190  - tu_št -## - tN -## - t_t - - t__©Œibu‹__ - (( - t__mode__ - ( - tMODE -))) - - ) - -192 #iâdeà - t__št8_t_defšed - - -193  - t__št8_t_defšed - - - ) - -194 - t__štN_t - (8, - t__QI__ -); - -195 -__štN_t - (16, -__HI__ -); - -196 -__štN_t - (32, -__SI__ -); - -197 -__štN_t - (64, -__DI__ -); - -200 -__u_štN_t - (8, -__QI__ -); - -201 -__u_štN_t - (16, -__HI__ -); - -202 -__u_štN_t - (32, -__SI__ -); - -203 -__u_štN_t - (64, -__DI__ -); - -205  - t»gi¡”_t - - t__©Œibu‹__ - (( - t__mode__ - ( - t__wÜd__ -))); - -211  - #__BIT_TYPES_DEFINED__ - 1 - - ) - -214 #ifdef -__USE_MISC - - -216  - ~<’dŸn.h -> - -219  - ~ - -222  - ~ - -226 #ià( -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K8 -) \ - -227 && ! -defšed - -__blksize_t_defšed - - -228  -__blksize_t - - tblksize_t -; - -229  - #__blksize_t_defšed - - - ) - -233 #iâdeà -__USE_FILE_OFFSET64 - - -234 #iâdeà -__blkút_t_defšed - - -235  -__blkút_t - - tblkút_t -; - -236  - #__blkút_t_defšed - - - ) - -238 #iâdeà -__fsblkút_t_defšed - - -239  -__fsblkút_t - - tfsblkút_t -; - -240  - #__fsblkút_t_defšed - - - ) - -242 #iâdeà -__fsfžút_t_defšed - - -243  -__fsfžút_t - - tfsfžút_t -; - -244  - #__fsfžút_t_defšed - - - ) - -247 #iâdeà -__blkút_t_defšed - - -248  -__blkút64_t - - tblkút_t -; - -249  - #__blkút_t_defšed - - - ) - -251 #iâdeà -__fsblkút_t_defšed - - -252  -__fsblkút64_t - - tfsblkút_t -; - -253  - #__fsblkút_t_defšed - - - ) - -255 #iâdeà -__fsfžút_t_defšed - - -256  -__fsfžút64_t - - tfsfžút_t -; - -257  - #__fsfžút_t_defšed - - - ) - -261 #ifdeà -__USE_LARGEFILE64 - - -262  -__blkút64_t - - tblkút64_t -; - -263  -__fsblkút64_t - - tfsblkút64_t -; - -264  -__fsfžút64_t - - tfsfžút64_t -; - -269 #ià -defšed - -__USE_POSIX199506 - || defšed -__USE_UNIX98 - - -270  - ~ - -273 - g__END_DECLS - - - @/usr/include/sys/wait.h - -22 #iâdef -_SYS_WAIT_H - - -23  - #_SYS_WAIT_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -27 - g__BEGIN_DECLS - - -29  - ~ - -32 #ià! -defšed - -_STDLIB_H - || (!defšed -__USE_XOPEN - && !defšed -__USE_XOPEN2K8 -) - -35  - ~ - -37 #ifdef -__USE_MISC - - -42 #ià -defšed - -__GNUC__ - && !defšed -__ýlu¥lus - - -43  - #__WAIT_INT -( -¡©us -) \ - -44 ( - `__ex‹nsiÚ__ - (((uniÚ { - `__ty³of -( -¡©us -è -__š -;  -__i -; }) \ - -45 { . -__š - = ( -¡©us -è}). -__i -)) - - ) - -47  - #__WAIT_INT -( -¡©us -è(*(cÚ¡ *è&(¡©us)) - - ) - -55 #ià! -defšed - -__GNUC__ - || __GNUC__ < 2 || defšed -__ýlu¥lus - - -56  - #__WAIT_STATUS - * - - ) - -57  - #__WAIT_STATUS_DEFN - * - - ) - -62  -wa™ - * - m__u±r -; - -63 * - m__Œ -; - -64 } - t__WAIT_STATUS - - t__©Œibu‹__ - (( - t__Œª¥¬’t_uniÚ__ -)); - -65  - #__WAIT_STATUS_DEFN - * - - ) - -70  - #__WAIT_INT -( -¡©us -è(¡©us) - - ) - -71  - #__WAIT_STATUS - * - - ) - -72  - #__WAIT_STATUS_DEFN - * - - ) - -77  - ~ - -79  - #WEXITSTATUS -( -¡©us -è - `__WEXITSTATUS - ( - `__WAIT_INT - (¡©us)) - - ) - -80  - #WTERMSIG -( -¡©us -è - `__WTERMSIG - ( - `__WAIT_INT - (¡©us)) - - ) - -81  - #WSTOPSIG -( -¡©us -è - `__WSTOPSIG - ( - `__WAIT_INT - (¡©us)) - - ) - -82  - #WIFEXITED -( -¡©us -è - `__WIFEXITED - ( - `__WAIT_INT - (¡©us)) - - ) - -83  - #WIFSIGNALED -( -¡©us -è - `__WIFSIGNALED - ( - `__WAIT_INT - (¡©us)) - - ) - -84  - #WIFSTOPPED -( -¡©us -è - `__WIFSTOPPED - ( - `__WAIT_INT - (¡©us)) - - ) - -85 #ifdeà -__WIFCONTINUED - - -86  - #WIFCONTINUED -( -¡©us -è - `__WIFCONTINUED - ( - `__WAIT_INT - (¡©us)) - - ) - -90 #ifdef -__USE_MISC - - -91  - #WCOREFLAG - -__WCOREFLAG - - - ) - -92  - #WCOREDUMP -( -¡©us -è - `__WCOREDUMP - ( - `__WAIT_INT - (¡©us)) - - ) - -93  - #W_EXITCODE -( -»t -, -sig -è - `__W_EXITCODE - (»t, sig) - - ) - -94  - #W_STOPCODE -( -sig -è - `__W_STOPCODE - (sig) - - ) - -102 -__pid_t - -wa™ - ( -__WAIT_STATUS - -__¡©_loc -); - -104 #ifdef -__USE_MISC - - -106  - #WAIT_ANY - (-1è - - ) - -107  - #WAIT_MYPGRP - 0 - - ) - -125 -__pid_t - -wa™pid - (__pid_ˆ -__pid -, * -__¡©_loc -,  -__ÝtiÚs -); - -127 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 - - -128 #iâdeà -__id_t_defšed - - -129  - ~ - -130  -__id_t - - tid_t -; - -131  - #__id_t_defšed - - - ) - -134  - #__Ãed_sigšfo_t - - - ) - -135  - ~ - -148  -wa™id - ( -idty³_t - -__idty³ -, -__id_t - -__id -, -sigšfo_t - * -__šfÝ -, - -149  -__ÝtiÚs -); - -152 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -155  - gru§ge -; - -162 -__pid_t - - $wa™3 - ( -__WAIT_STATUS - -__¡©_loc -,  -__ÝtiÚs -, - -163  -ru§ge - * -__u§ge -è -__THROWNL -; - -166 #ifdeà -__USE_MISC - - -168 -__pid_t - - $wa™4 - ( -__pid_t - -__pid -, -__WAIT_STATUS - -__¡©_loc -,  -__ÝtiÚs -, - -169  -ru§ge - * -__u§ge -è -__THROWNL -; - -173 -__END_DECLS - - - @/usr/include/time.h - -22 #iâdef -_TIME_H - - -24 #ià(! -defšed - -__Ãed_time_t - && !defšed -__Ãed_þock_t - && \ - -25 ! -defšed - - g__Ãed_time¥ec -) - -26  - #_TIME_H - 1 - - ) - -27  - ~<ã©u»s.h -> - -29 - g__BEGIN_DECLS - - -33 #ifdef -_TIME_H - - -35  - #__Ãed_size_t - - - ) - -36  - #__Ãed_NULL - - - ) - -37  - ~<¡ddef.h -> - -41  - ~ - -44 #ià! -defšed - -__STRICT_ANSI__ - && !defšed -__USE_XOPEN2K - - -45 #iâdeà -CLK_TCK - - -46  - #CLK_TCK - -CLOCKS_PER_SEC - - - ) - -52 #ià! -defšed - -__þock_t_defšed - && (defšed -_TIME_H - || defšed -__Ãed_þock_t -) - -53  - #__þock_t_defšed - 1 - - ) - -55  - ~ - -57 -__BEGIN_NAMESPACE_STD - - -59  -__þock_t - - tþock_t -; - -60 - g__END_NAMESPACE_STD - - -61 #ià -defšed - -__USE_XOPEN - || defšed -__USE_POSIX - - -62 - $__USING_NAMESPACE_STD -( -þock_t -) - -66 #undeà -__Ãed_þock_t - - -68 #ià! -defšed - -__time_t_defšed - && (defšed -_TIME_H - || defšed -__Ãed_time_t -) - -69  - #__time_t_defšed - 1 - - ) - -71  - ~ - -73 -__BEGIN_NAMESPACE_STD - - -75  -__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šed - -__þockid_t_defšed - && \ - -85 (( -defšed - -_TIME_H - && defšed -__USE_POSIX199309 -è|| defšed -__Ãed_þockid_t -) - -86  - #__þockid_t_defšed - 1 - - ) - -88  - ~ - -91  -__þockid_t - - tþockid_t -; - -94 #undeà -__þockid_time_t - - -96 #ià! -defšed - -__tim”_t_defšed - && \ - -97 (( -defšed - -_TIME_H - && defšed -__USE_POSIX199309 -è|| defšed -__Ãed_tim”_t -) - -98  - #__tim”_t_defšed - 1 - - ) - -100  - ~ - -103  -__tim”_t - - ttim”_t -; - -106 #undeà -__Ãed_tim”_t - - -109 #ià(! -defšed - -__time¥ec_defšed - \ - -110 && (( -defšed - -_TIME_H - \ - -111 && ( -defšed - -__USE_POSIX199309 - \ - -112 || -defšed - -__USE_ISOC11 -)) \ - -113 || -defšed - -__Ãed_time¥ec -)) - -114  - #__time¥ec_defšed - 1 - - ) - -116  - ~ - -120  - 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  - stm - - -135  -tm_£c -; - -136  -tm_mš -; - -137  -tm_hour -; - -138  -tm_mday -; - -139  -tm_mÚ -; - -140  -tm_y—r -; - -141  -tm_wday -; - -142  -tm_yday -; - -143  -tm_isd¡ -; - -145 #ifdef -__USE_MISC - - -146  -tm_gmtoff -; - -147 cÚ¡ * -tm_zÚe -; - -149  -__tm_gmtoff -; - -150 cÚ¡ * -__tm_zÚe -; - -153 -__END_NAMESPACE_STD - - -154 #ià -defšed - -__USE_XOPEN - || defšed -__USE_POSIX - - -155 - $__USING_NAMESPACE_STD -( -tm -) - -159 #ifdeà -__USE_POSIX199309 - - -161  - s™im”¥ec - - -163  -time¥ec - -™_š‹rv® -; - -164  -time¥ec - -™_v®ue -; - -168  -sigev’t -; - -172 #ifdeà -__USE_XOPEN2K - - -173 #iâdeà -__pid_t_defšed - - -174  -__pid_t - - tpid_t -; - -175  - #__pid_t_defšed - - - ) - -180 #ifdeà -__USE_ISOC11 - - -182  - #TIME_UTC - 1 - - ) - -186 -__BEGIN_NAMESPACE_STD - - -189 -þock_t - - $þock - (è -__THROW -; - -192 -time_t - - $time - ( -time_t - * -__tim” -è -__THROW -; - -195  - $difáime - ( -time_t - -__time1 -,ime_ˆ -__time0 -) - -196 -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -199 -time_t - - $mktime - ( -tm - * -__ -è -__THROW -; - -205 -size_t - - $¡ráime - (* -__»¡riù - -__s -, -size_t - -__maxsize -, - -206 cÚ¡ * -__»¡riù - -__fÜm© -, - -207 cÚ¡  -tm - * -__»¡riù - -__ -è -__THROW -; - -208 -__END_NAMESPACE_STD - - -210 #ifdeà -__USE_XOPEN - - -213 * - $¡½time - (cÚ¡ * -__»¡riù - -__s -, - -214 cÚ¡ * -__»¡riù - -__fmt -,  -tm - * -__ -) - -215 -__THROW -; - -218 #ifdeà -__USE_XOPEN2K8 - - -221  - ~ - -223 -size_t - - $¡ráime_l - (* -__»¡riù - -__s -, -size_t - -__maxsize -, - -224 cÚ¡ * -__»¡riù - -__fÜm© -, - -225 cÚ¡  -tm - * -__»¡riù - -__ -, - -226 -__loÿË_t - -__loc -è -__THROW -; - -229 #ifdeà -__USE_GNU - - -230 * - $¡½time_l - (cÚ¡ * -__»¡riù - -__s -, - -231 cÚ¡ * -__»¡riù - -__fmt -,  -tm - * -__ -, - -232 -__loÿË_t - -__loc -è -__THROW -; - -236 -__BEGIN_NAMESPACE_STD - - -239  -tm - * - $gmtime - (cÚ¡ -time_t - * -__tim” -è -__THROW -; - -243  -tm - * - $loÿÉime - (cÚ¡ -time_t - * -__tim” -è -__THROW -; - -244 -__END_NAMESPACE_STD - - -246 #ifdeà -__USE_POSIX - - -249  -tm - * - $gmtime_r - (cÚ¡ -time_t - * -__»¡riù - -__tim” -, - -250  -tm - * -__»¡riù - -__ -è -__THROW -; - -254  -tm - * - $loÿÉime_r - (cÚ¡ -time_t - * -__»¡riù - -__tim” -, - -255  -tm - * -__»¡riù - -__ -è -__THROW -; - -258 -__BEGIN_NAMESPACE_STD - - -261 * - $asùime - (cÚ¡  -tm - * -__ -è -__THROW -; - -264 * - $ùime - (cÚ¡ -time_t - * -__tim” -è -__THROW -; - -265 -__END_NAMESPACE_STD - - -267 #ifdeà -__USE_POSIX - - -272 * - $asùime_r - (cÚ¡  -tm - * -__»¡riù - -__ -, - -273 * -__»¡riù - -__buf -è -__THROW -; - -276 * - $ùime_r - (cÚ¡ -time_t - * -__»¡riù - -__tim” -, - -277 * -__»¡riù - -__buf -è -__THROW -; - -282 * -__tzÇme -[2]; - -283  -__daylight -; - -284  -__timezÚe -; - -287 #ifdef -__USE_POSIX - - -289 * -tzÇme -[2]; - -293  - $tz£t - (è -__THROW -; - -296 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -297  -daylight -; - -298  -timezÚe -; - -301 #ifdeà -__USE_MISC - - -304  - $¡ime - (cÚ¡ -time_t - * -__wh’ -è -__THROW -; - -310  - #__i¦—p -( -y—r -) \ - -311 (( -y—r -è% 4 =ð0 && ((y—rè% 100 !ð0 || (y—rè% 400 =ð0)) - - ) - -314 #ifdeà -__USE_MISC - - -319 -time_t - - $timegm - ( -tm - * -__ -è -__THROW -; - -322 -time_t - - $tim–oÿl - ( -tm - * -__ -è -__THROW -; - -325  - $dysize - ( -__y—r -è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -329 #ifdeà -__USE_POSIX199309 - - -334  - `Çno¦“p - (cÚ¡  -time¥ec - * -__»que¡ed_time -, - -335  -time¥ec - * -__»maššg -); - -339  - $þock_g‘»s - ( -þockid_t - -__þock_id -,  -time¥ec - * -__»s -è -__THROW -; - -342  - $þock_g‘time - ( -þockid_t - -__þock_id -,  -time¥ec - * -__ -è -__THROW -; - -345  - $þock_£‰ime - ( -þockid_t - -__þock_id -, cÚ¡  -time¥ec - * -__ -) - -346 -__THROW -; - -348 #ifdeà -__USE_XOPEN2K - - -353  - `þock_Çno¦“p - ( -þockid_t - -__þock_id -,  -__æags -, - -354 cÚ¡  -time¥ec - * -__»q -, - -355  -time¥ec - * -__»m -); - -358  - $þock_g‘ýuþockid - ( -pid_t - -__pid -, -þockid_t - * -__þock_id -è -__THROW -; - -363  - $tim”_ü—‹ - ( -þockid_t - -__þock_id -, - -364  -sigev’t - * -__»¡riù - -__evp -, - -365 -tim”_t - * -__»¡riù - -__tim”id -è -__THROW -; - -368  - $tim”_d–‘e - ( -tim”_t - -__tim”id -è -__THROW -; - -371  - $tim”_£‰ime - ( -tim”_t - -__tim”id -,  -__æags -, - -372 cÚ¡  -™im”¥ec - * -__»¡riù - -__v®ue -, - -373  -™im”¥ec - * -__»¡riù - -__ov®ue -è -__THROW -; - -376  - $tim”_g‘time - ( -tim”_t - -__tim”id -,  -™im”¥ec - * -__v®ue -) - -377 -__THROW -; - -380  - $tim”_g‘ov”run - ( -tim”_t - -__tim”id -è -__THROW -; - -384 #ifdeà -__USE_ISOC11 - - -386  - $time¥ec_g‘ - ( -time¥ec - * -__ts -,  -__ba£ -) - -387 -__THROW - - `__nÚnuÎ - ((1)); - -391 #ifdeà -__USE_XOPEN_EXTENDED - - -403  -g‘d©e_”r -; - -412  -tm - * - `g‘d©e - (cÚ¡ * -__¡ršg -); - -415 #ifdeà -__USE_GNU - - -426  - `g‘d©e_r - (cÚ¡ * -__»¡riù - -__¡ršg -, - -427  -tm - * -__»¡riù - -__»sbuå -); - -430 -__END_DECLS - - - @/usr/include/unistd.h - -22 #iâdef -_UNISTD_H - - -23  - #_UNISTD_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -27 - g__BEGIN_DECLS - - -32 #ifdeà -__USE_XOPEN2K8 - - -34  - #_POSIX_VERSION - 200809L - - ) - -35 #–ià -defšed - -__USE_XOPEN2K - - -37  - #_POSIX_VERSION - 200112L - - ) - -38 #–ià -defšed - -__USE_POSIX199506 - - -40  - #_POSIX_VERSION - 199506L - - ) - -41 #–ià -defšed - -__USE_POSIX199309 - - -43  - #_POSIX_VERSION - 199309L - - ) - -46  - #_POSIX_VERSION - 199009L - - ) - -52 #ifdeà -__USE_XOPEN2K8 - - -53  - #__POSIX2_THIS_VERSION - 200809L - - ) - -55 #–ià -defšed - -__USE_XOPEN2K - - -57  - #__POSIX2_THIS_VERSION - 200112L - - ) - -58 #–ià -defšed - -__USE_POSIX199506 - - -60  - #__POSIX2_THIS_VERSION - 199506L - - ) - -63  - #__POSIX2_THIS_VERSION - 199209L - - ) - -67  - #_POSIX2_VERSION - -__POSIX2_THIS_VERSION - - - ) - -70  - #_POSIX2_C_VERSION - -__POSIX2_THIS_VERSION - - - ) - -74  - #_POSIX2_C_BIND - -__POSIX2_THIS_VERSION - - - ) - -78  - #_POSIX2_C_DEV - -__POSIX2_THIS_VERSION - - - ) - -82  - #_POSIX2_SW_DEV - -__POSIX2_THIS_VERSION - - - ) - -86  - #_POSIX2_LOCALEDEF - -__POSIX2_THIS_VERSION - - - ) - -89 #ifdeà -__USE_XOPEN2K8 - - -90  - #_XOPEN_VERSION - 700 - - ) - -91 #–ià -defšed - -__USE_XOPEN2K - - -92  - #_XOPEN_VERSION - 600 - - ) - -93 #–ià -defšed - -__USE_UNIX98 - - -94  - #_XOPEN_VERSION - 500 - - ) - -96  - #_XOPEN_VERSION - 4 - - ) - -100  - #_XOPEN_XCU_VERSION - 4 - - ) - -103  - #_XOPEN_XPG2 - 1 - - ) - -104  - #_XOPEN_XPG3 - 1 - - ) - -105  - #_XOPEN_XPG4 - 1 - - ) - -108  - #_XOPEN_UNIX - 1 - - ) - -111  - #_XOPEN_CRYPT - 1 - - ) - -115  - #_XOPEN_ENH_I18N - 1 - - ) - -118  - #_XOPEN_LEGACY - 1 - - ) - -205  - ~ - -208 #ià -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K - - -209  - ~ - -213  - #STDIN_FILENO - 0 - - ) - -214  - #STDOUT_FILENO - 1 - - ) - -215  - #STDERR_FILENO - 2 - - ) - -220  - ~ - -222 #iâdef -__ssize_t_defšed - - -223  -__ssize_t - - tssize_t -; - -224  - #__ssize_t_defšed - - - ) - -227  - #__Ãed_size_t - - - ) - -228  - #__Ãed_NULL - - - ) - -229  - ~<¡ddef.h -> - -231 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K - - -234 #iâdeà -__gid_t_defšed - - -235  -__gid_t - - tgid_t -; - -236  - #__gid_t_defšed - - - ) - -239 #iâdeà -__uid_t_defšed - - -240  -__uid_t - - tuid_t -; - -241  - #__uid_t_defšed - - - ) - -244 #iâdeà -__off_t_defšed - - -245 #iâdeà -__USE_FILE_OFFSET64 - - -246  -__off_t - - toff_t -; - -248  -__off64_t - - toff_t -; - -250  - #__off_t_defšed - - - ) - -252 #ià -defšed - -__USE_LARGEFILE64 - && !defšed -__off64_t_defšed - - -253  -__off64_t - - toff64_t -; - -254  - #__off64_t_defšed - - - ) - -257 #iâdeà -__u£cÚds_t_defšed - - -258  -__u£cÚds_t - - tu£cÚds_t -; - -259  - #__u£cÚds_t_defšed - - - ) - -262 #iâdeà -__pid_t_defšed - - -263  -__pid_t - - tpid_t -; - -264  - #__pid_t_defšed - - - ) - -268 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K - - -269 #iâdeà -__šŒ_t_defšed - - -270  -__šŒ_t - - tšŒ_t -; - -271  - #__šŒ_t_defšed - - - ) - -275 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -276 #iâdeà -__sockËn_t_defšed - - -277  -__sockËn_t - - tsockËn_t -; - -278  - #__sockËn_t_defšed - - - ) - -284  - #R_OK - 4 - - ) - -285  - #W_OK - 2 - - ) - -286  - #X_OK - 1 - - ) - -287  - #F_OK - 0 - - ) - -290  - $acûss - (cÚ¡ * -__Çme -,  -__ty³ -è -__THROW - - `__nÚnuÎ - ((1)); - -292 #ifdeà -__USE_GNU - - -295  - $euidacûss - (cÚ¡ * -__Çme -,  -__ty³ -) - -296 -__THROW - - `__nÚnuÎ - ((1)); - -299  - $—cûss - (cÚ¡ * -__Çme -,  -__ty³ -) - -300 -__THROW - - `__nÚnuÎ - ((1)); - -303 #ifdeà -__USE_ATFILE - - -307  - $çcûs§t - ( -__fd -, cÚ¡ * -__fže -,  -__ty³ -,  -__æag -) - -308 -__THROW - - `__nÚnuÎ - ((2)è -__wur -; - -313 #iâdef -_STDIO_H - - -314  - #SEEK_SET - 0 - - ) - -315  - #SEEK_CUR - 1 - - ) - -316  - #SEEK_END - 2 - - ) - -317 #ifdeà -__USE_GNU - - -318  - #SEEK_DATA - 3 - - ) - -319  - #SEEK_HOLE - 4 - - ) - -323 #ià -defšed - -__USE_MISC - && !defšed -L_SET - - -325  - #L_SET - -SEEK_SET - - - ) - -326  - #L_INCR - -SEEK_CUR - - - ) - -327  - #L_XTND - -SEEK_END - - - ) - -336 #iâdeà -__USE_FILE_OFFSET64 - - -337 -__off_t - - $l£ek - ( -__fd -, -__off_t - -__off£t -,  -__wh’û -è -__THROW -; - -339 #ifdeà -__REDIRECT_NTH - - -340 -__off64_t - - `__REDIRECT_NTH - ( -l£ek -, - -341 ( -__fd -, -__off64_t - -__off£t -,  -__wh’û -), - -342 -l£ek64 -); - -344  - #l£ek - -l£ek64 - - - ) - -347 #ifdeà -__USE_LARGEFILE64 - - -348 -__off64_t - - $l£ek64 - ( -__fd -, -__off64_t - -__off£t -,  -__wh’û -) - -349 -__THROW -; - -356  - `þo£ - ( -__fd -); - -363 -ssize_t - - $»ad - ( -__fd -, * -__buf -, -size_t - -__nby‹s -è -__wur -; - -369 -ssize_t - - $wr™e - ( -__fd -, cÚ¡ * -__buf -, -size_t - -__n -è -__wur -; - -371 #ià -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K8 - - -372 #iâdeà -__USE_FILE_OFFSET64 - - -379 -ssize_t - - $´—d - ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -380 -__off_t - -__off£t -è -__wur -; - -387 -ssize_t - - $pwr™e - ( -__fd -, cÚ¡ * -__buf -, -size_t - -__n -, - -388 -__off_t - -__off£t -è -__wur -; - -390 #ifdeà -__REDIRECT - - -391 -ssize_t - - `__REDIRECT - ( -´—d -, ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -392 -__off64_t - -__off£t -), - -393 -´—d64 -è -__wur -; - -394 -ssize_t - - `__REDIRECT - ( -pwr™e -, ( -__fd -, cÚ¡ * -__buf -, - -395 -size_t - -__nby‹s -, -__off64_t - -__off£t -), - -396 -pwr™e64 -è -__wur -; - -398  - #´—d - -´—d64 - - - ) - -399  - #pwr™e - -pwr™e64 - - - ) - -403 #ifdeà -__USE_LARGEFILE64 - - -407 -ssize_t - - $´—d64 - ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -408 -__off64_t - -__off£t -è -__wur -; - -411 -ssize_t - - $pwr™e64 - ( -__fd -, cÚ¡ * -__buf -, -size_t - -__n -, - -412 -__off64_t - -__off£t -è -__wur -; - -420  - $pe - ( -__pedes -[2]è -__THROW - -__wur -; - -422 #ifdeà -__USE_GNU - - -425  - $pe2 - ( -__pedes -[2],  -__æags -è -__THROW - -__wur -; - -435  - $®¬m - ( -__£cÚds -è -__THROW -; - -447  - `¦“p - ( -__£cÚds -); - -449 #ià( -defšed - -__USE_XOPEN_EXTENDED - && !defšed -__USE_XOPEN2K8 -) \ - -450 || -defšed - -__USE_MISC - - -455 -__u£cÚds_t - - $u®¬m - ( -__u£cÚds_t - -__v®ue -, __u£cÚds_ˆ -__š‹rv® -) - -456 -__THROW -; - -463  - `u¦“p - ( -__u£cÚds_t - -__u£cÚds -); - -472  - `·u£ - (); - -476  - $chown - (cÚ¡ * -__fže -, -__uid_t - -__owÃr -, -__gid_t - -__group -) - -477 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -479 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -481  - $fchown - ( -__fd -, -__uid_t - -__owÃr -, -__gid_t - -__group -è -__THROW - -__wur -; - -486  - $lchown - (cÚ¡ * -__fže -, -__uid_t - -__owÃr -, -__gid_t - -__group -) - -487 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -491 #ifdeà -__USE_ATFILE - - -494  - $fchowÇt - ( -__fd -, cÚ¡ * -__fže -, -__uid_t - -__owÃr -, - -495 -__gid_t - -__group -,  -__æag -) - -496 -__THROW - - `__nÚnuÎ - ((2)è -__wur -; - -500  - $chdœ - (cÚ¡ * -__·th -è -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -502 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -504  - $fchdœ - ( -__fd -è -__THROW - -__wur -; - -514 * - $g‘cwd - (* -__buf -, -size_t - -__size -è -__THROW - -__wur -; - -516 #ifdef -__USE_GNU - - -520 * - $g‘_cu¼’t_dœ_Çme - (è -__THROW -; - -523 #ià( -defšed - -__USE_XOPEN_EXTENDED - && !defšed -__USE_XOPEN2K8 -) \ - -524 || -defšed - -__USE_MISC - - -528 * - $g‘wd - (* -__buf -) - -529 -__THROW - - `__nÚnuÎ - ((1)è -__©Œibu‹_d•»ÿ‹d__ - -__wur -; - -534  - $dup - ( -__fd -è -__THROW - -__wur -; - -537  - $dup2 - ( -__fd -,  -__fd2 -è -__THROW -; - -539 #ifdeà -__USE_GNU - - -542  - $dup3 - ( -__fd -,  -__fd2 -,  -__æags -è -__THROW -; - -546 ** -__’vœÚ -; - -547 #ifdeà -__USE_GNU - - -548 ** -’vœÚ -; - -554  - $execve - (cÚ¡ * -__·th -, *cÚ¡ -__¬gv -[], - -555 *cÚ¡ -__’vp -[]è -__THROW - - `__nÚnuÎ - ((1, 2)); - -557 #ifdeà -__USE_XOPEN2K8 - - -560  - $ãxecve - ( -__fd -, *cÚ¡ -__¬gv -[], *cÚ¡ -__’vp -[]) - -561 -__THROW - - `__nÚnuÎ - ((2)); - -566  - $execv - (cÚ¡ * -__·th -, *cÚ¡ -__¬gv -[]) - -567 -__THROW - - `__nÚnuÎ - ((1, 2)); - -571  - $exeþe - (cÚ¡ * -__·th -, cÚ¡ * -__¬g -, ...) - -572 -__THROW - - `__nÚnuÎ - ((1, 2)); - -576  - $exeþ - (cÚ¡ * -__·th -, cÚ¡ * -__¬g -, ...) - -577 -__THROW - - `__nÚnuÎ - ((1, 2)); - -581  - $execvp - (cÚ¡ * -__fže -, *cÚ¡ -__¬gv -[]) - -582 -__THROW - - `__nÚnuÎ - ((1, 2)); - -587  - $exeþp - (cÚ¡ * -__fže -, cÚ¡ * -__¬g -, ...) - -588 -__THROW - - `__nÚnuÎ - ((1, 2)); - -590 #ifdeà -__USE_GNU - - -593  - $execv³ - (cÚ¡ * -__fže -, *cÚ¡ -__¬gv -[], - -594 *cÚ¡ -__’vp -[]) - -595 -__THROW - - `__nÚnuÎ - ((1, 2)); - -599 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -601  - $niû - ( -__šc -è -__THROW - -__wur -; - -606  - $_ex™ - ( -__¡©us -è - `__©Œibu‹__ - (( -__nܑuº__ -)); - -612  - ~ - -615  - $·thcÚf - (cÚ¡ * -__·th -,  -__Çme -) - -616 -__THROW - - `__nÚnuÎ - ((1)); - -619  - $å©hcÚf - ( -__fd -,  -__Çme -è -__THROW -; - -622  - $syscÚf - ( -__Çme -è -__THROW -; - -624 #ifdef -__USE_POSIX2 - - -626 -size_t - - $cÚf¡r - ( -__Çme -, * -__buf -, -size_t - -__Ën -è -__THROW -; - -631 -__pid_t - - $g‘pid - (è -__THROW -; - -634 -__pid_t - - $g‘µid - (è -__THROW -; - -637 -__pid_t - - $g‘pg½ - (è -__THROW -; - -640 -__pid_t - - $__g‘pgid - ( -__pid_t - -__pid -è -__THROW -; - -641 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -642 -__pid_t - - $g‘pgid - ( -__pid_t - -__pid -è -__THROW -; - -649  - $£gid - ( -__pid_t - -__pid -, __pid_ˆ -__pgid -è -__THROW -; - -651 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -663  - $£g½ - (è -__THROW -; - -670 -__pid_t - - $£tsid - (è -__THROW -; - -672 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -674 -__pid_t - - $g‘sid - ( -__pid_t - -__pid -è -__THROW -; - -678 -__uid_t - - $g‘uid - (è -__THROW -; - -681 -__uid_t - - $g‘euid - (è -__THROW -; - -684 -__gid_t - - $g‘gid - (è -__THROW -; - -687 -__gid_t - - $g‘egid - (è -__THROW -; - -692  - $g‘groups - ( -__size -, -__gid_t - -__li¡ -[]è -__THROW - -__wur -; - -694 #ifdef -__USE_GNU - - -696  - $group_memb” - ( -__gid_t - -__gid -è -__THROW -; - -703  - $£tuid - ( -__uid_t - -__uid -è -__THROW - -__wur -; - -705 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -708  - $£Œeuid - ( -__uid_t - -__ruid -, __uid_ˆ -__euid -è -__THROW - -__wur -; - -711 #ifdeà -__USE_XOPEN2K - - -713  - $£‹uid - ( -__uid_t - -__uid -è -__THROW - -__wur -; - -720  - $£tgid - ( -__gid_t - -__gid -è -__THROW - -__wur -; - -722 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -725  - $£Œegid - ( -__gid_t - -__rgid -, __gid_ˆ -__egid -è -__THROW - -__wur -; - -728 #ifdeà -__USE_XOPEN2K - - -730  - $£‹gid - ( -__gid_t - -__gid -è -__THROW - -__wur -; - -733 #ifdeà -__USE_GNU - - -736  - $g‘»suid - ( -__uid_t - * -__ruid -, __uid_ˆ* -__euid -, __uid_ˆ* -__suid -) - -737 -__THROW -; - -741  - $g‘»sgid - ( -__gid_t - * -__rgid -, __gid_ˆ* -__egid -, __gid_ˆ* -__sgid -) - -742 -__THROW -; - -746  - $£Œesuid - ( -__uid_t - -__ruid -, __uid_ˆ -__euid -, __uid_ˆ -__suid -) - -747 -__THROW - -__wur -; - -751  - $£Œesgid - ( -__gid_t - -__rgid -, __gid_ˆ -__egid -, __gid_ˆ -__sgid -) - -752 -__THROW - -__wur -; - -759 -__pid_t - - $fÜk - (è -__THROWNL -; - -761 #ià( -defšed - -__USE_XOPEN_EXTENDED - && !defšed -__USE_XOPEN2K8 -) \ - -762 || -defšed - -__USE_MISC - - -767 -__pid_t - - $vfÜk - (è -__THROW -; - -773 * - $‰yÇme - ( -__fd -è -__THROW -; - -777  - $‰yÇme_r - ( -__fd -, * -__buf -, -size_t - -__buæ’ -) - -778 -__THROW - - `__nÚnuÎ - ((2)è -__wur -; - -782  - $i§‰y - ( -__fd -è -__THROW -; - -784 #ià -defšed - -__USE_MISC - \ - -785 || ( -defšed - -__USE_XOPEN_EXTENDED - && !defšed -__USE_UNIX98 -) - -788  - $‰y¦Ù - (è -__THROW -; - -793  - $lšk - (cÚ¡ * -__äom -, cÚ¡ * -__to -) - -794 -__THROW - - `__nÚnuÎ - ((1, 2)è -__wur -; - -796 #ifdeà -__USE_ATFILE - - -799  - $lšk© - ( -__äomfd -, cÚ¡ * -__äom -,  -__tofd -, - -800 cÚ¡ * -__to -,  -__æags -) - -801 -__THROW - - `__nÚnuÎ - ((2, 4)è -__wur -; - -804 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K - - -806  - $symlšk - (cÚ¡ * -__äom -, cÚ¡ * -__to -) - -807 -__THROW - - `__nÚnuÎ - ((1, 2)è -__wur -; - -812 -ssize_t - - $»adlšk - (cÚ¡ * -__»¡riù - -__·th -, - -813 * -__»¡riù - -__buf -, -size_t - -__Ën -) - -814 -__THROW - - `__nÚnuÎ - ((1, 2)è -__wur -; - -817 #ifdeà -__USE_ATFILE - - -819  - $symlšk© - (cÚ¡ * -__äom -,  -__tofd -, - -820 cÚ¡ * -__to -è -__THROW - - `__nÚnuÎ - ((1, 3)è -__wur -; - -823 -ssize_t - - $»adlšk© - ( -__fd -, cÚ¡ * -__»¡riù - -__·th -, - -824 * -__»¡riù - -__buf -, -size_t - -__Ën -) - -825 -__THROW - - `__nÚnuÎ - ((2, 3)è -__wur -; - -829  - $uƚk - (cÚ¡ * -__Çme -è -__THROW - - `__nÚnuÎ - ((1)); - -831 #ifdeà -__USE_ATFILE - - -833  - $uƚk© - ( -__fd -, cÚ¡ * -__Çme -,  -__æag -) - -834 -__THROW - - `__nÚnuÎ - ((2)); - -838  - $rmdœ - (cÚ¡ * -__·th -è -__THROW - - `__nÚnuÎ - ((1)); - -842 -__pid_t - - $tcg‘pg½ - ( -__fd -è -__THROW -; - -845  - $tc£g½ - ( -__fd -, -__pid_t - -__pg½_id -è -__THROW -; - -852 * - `g‘logš - (); - -853 #ià -defšed - -__USE_REENTRANT - || defšed -__USE_POSIX199506 - - -860  - $g‘logš_r - (* -__Çme -, -size_t - -__Çme_Ën -è - `__nÚnuÎ - ((1)); - -863 #ifdef -__USE_MISC - - -865  - $£Žogš - (cÚ¡ * -__Çme -è -__THROW - - `__nÚnuÎ - ((1)); - -869 #ifdef -__USE_POSIX2 - - -873  - #__Ãed_g‘Ýt - - - ) - -874  - ~ - -878 #ià -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K - - -882  - $g‘ho¡Çme - (* -__Çme -, -size_t - -__Ën -è -__THROW - - `__nÚnuÎ - ((1)); - -886 #ià -defšed - -__USE_MISC - - -889  - $£tho¡Çme - (cÚ¡ * -__Çme -, -size_t - -__Ën -) - -890 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -894  - $£tho¡id - ( -__id -è -__THROW - -__wur -; - -900  - $g‘domašÇme - (* -__Çme -, -size_t - -__Ën -) - -901 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -902  - $£tdomašÇme - (cÚ¡ * -__Çme -, -size_t - -__Ën -) - -903 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -909  - $vhªgup - (è -__THROW -; - -912  - $»voke - (cÚ¡ * -__fže -è -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -920  - $´ofž - (* -__§m¶e_bufãr -, -size_t - -__size -, - -921 -size_t - -__off£t -,  -__sÿË -) - -922 -__THROW - - `__nÚnuÎ - ((1)); - -928  - $acù - (cÚ¡ * -__Çme -è -__THROW -; - -932 * - $g‘u£rsh–l - (è -__THROW -; - -933  - $’du£rsh–l - (è -__THROW -; - -934  - $£tu£rsh–l - (è -__THROW -; - -940  - $d«mÚ - ( -__nochdœ -,  -__noþo£ -è -__THROW - -__wur -; - -944 #ià -defšed - -__USE_MISC - || (defšed -__USE_XOPEN - && !defšed -__USE_XOPEN2K -) - -947  - $chroÙ - (cÚ¡ * -__·th -è -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -951 * - $g‘·ss - (cÚ¡ * -__´om± -è - `__nÚnuÎ - ((1)); - -959  - `fsync - ( -__fd -); - -962 #ifdeà -__USE_GNU - - -965  - $syncfs - ( -__fd -è -__THROW -; - -969 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -972  - `g‘ho¡id - (); - -975  - $sync - (è -__THROW -; - -978 #ià -defšed - -__USE_MISC - || !defšed -__USE_XOPEN2K - - -981  - $g‘·gesize - (è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -986  - $g‘dbËsize - (è -__THROW -; - -992 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -995 #iâdeà -__USE_FILE_OFFSET64 - - -996  - $Œunÿ‹ - (cÚ¡ * -__fže -, -__off_t - -__Ëngth -) - -997 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -999 #ifdeà -__REDIRECT_NTH - - -1000  - `__REDIRECT_NTH - ( -Œunÿ‹ -, - -1001 (cÚ¡ * -__fže -, -__off64_t - -__Ëngth -), - -1002 -Œunÿ‹64 -è - `__nÚnuÎ - ((1)è -__wur -; - -1004  - #Œunÿ‹ - -Œunÿ‹64 - - - ) - -1007 #ifdeà -__USE_LARGEFILE64 - - -1008  - $Œunÿ‹64 - (cÚ¡ * -__fže -, -__off64_t - -__Ëngth -) - -1009 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -1014 #ià -defšed - -__USE_POSIX199309 - \ - -1015 || -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K - - -1018 #iâdeà -__USE_FILE_OFFSET64 - - -1019  - $árunÿ‹ - ( -__fd -, -__off_t - -__Ëngth -è -__THROW - -__wur -; - -1021 #ifdeà -__REDIRECT_NTH - - -1022  - `__REDIRECT_NTH - ( -árunÿ‹ -, ( -__fd -, -__off64_t - -__Ëngth -), - -1023 -árunÿ‹64 -è -__wur -; - -1025  - #árunÿ‹ - -árunÿ‹64 - - - ) - -1028 #ifdeà -__USE_LARGEFILE64 - - -1029  - $árunÿ‹64 - ( -__fd -, -__off64_t - -__Ëngth -è -__THROW - -__wur -; - -1035 #ià( -defšed - -__USE_XOPEN_EXTENDED - && !defšed -__USE_XOPEN2K -) \ - -1036 || -defšed - -__USE_MISC - - -1040  - $brk - (* -__addr -è -__THROW - -__wur -; - -1046 * - $sbrk - ( -šŒ_t - -__d– -è -__THROW -; - -1050 #ifdeà -__USE_MISC - - -1061  - $sysÿÎ - ( -__sy¢o -, ...è -__THROW -; - -1066 #ià( -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED -è&& !defšed -F_LOCK - - -1078  - #F_ULOCK - 0 - - ) - -1079  - #F_LOCK - 1 - - ) - -1080  - #F_TLOCK - 2 - - ) - -1081  - #F_TEST - 3 - - ) - -1083 #iâdeà -__USE_FILE_OFFSET64 - - -1084  - $lockf - ( -__fd -,  -__cmd -, -__off_t - -__Ën -è -__wur -; - -1086 #ifdeà -__REDIRECT - - -1087  - `__REDIRECT - ( -lockf -, ( -__fd -,  -__cmd -, -__off64_t - -__Ën -), - -1088 -lockf64 -è -__wur -; - -1090  - #lockf - -lockf64 - - - ) - -1093 #ifdeà -__USE_LARGEFILE64 - - -1094  - $lockf64 - ( -__fd -,  -__cmd -, -__off64_t - -__Ën -è -__wur -; - -1099 #ifdeà -__USE_GNU - - -1104  - #TEMP_FAILURE_RETRY -( -ex´essiÚ -) \ - -1105 ( -__ex‹nsiÚ__ - \ - -1106 ({  -__»suÉ -; \ - -1107 dØ -__»suÉ - = (è( -ex´essiÚ -); \ - -1108  -__»suÉ - =ð-1L && -”ºo - =ð -EINTR -); \ - -1109 -__»suÉ -; - } -})) - - ) - -1112 #ià -defšed - -__USE_POSIX199309 - || defšed -__USE_UNIX98 - - -1115  -fd©async - ( -__fždes -); - -1121 #ifdef -__USE_XOPEN - - -1123 * - $üy± - (cÚ¡ * -__key -, cÚ¡ * -__§É -) - -1124 -__THROW - - `__nÚnuÎ - ((1, 2)); - -1128  - $’üy± - (* -__glibc_block -,  -__edæag -) - -1129 -__THROW - - `__nÚnuÎ - ((1)); - -1136  - $swab - (cÚ¡ * -__»¡riù - -__äom -, *__»¡riù -__to -, - -1137 -ssize_t - -__n -è -__THROW - - `__nÚnuÎ - ((1, 2)); - -1143 #ià -defšed - -__USE_XOPEN - && !defšed -__USE_XOPEN2K - - -1145 * - $ù”mid - (* -__s -è -__THROW -; - -1150 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ - - -1151  - ~ - -1154 -__END_DECLS - - - @/usr/include/alloca.h - -18 #iâdef -_ALLOCA_H - - -19  - #_ALLOCA_H - 1 - - ) - -21  - ~<ã©u»s.h -> - -23  - #__Ãed_size_t - - - ) - -24  - ~<¡ddef.h -> - -26 - g__BEGIN_DECLS - - -29 #undeà -®loÿ - - -32 * - $®loÿ - ( -size_t - -__size -è -__THROW -; - -34 #ifdef -__GNUC__ - - -35  - #®loÿ -( -size -è - `__bužtš_®loÿ - (size) - - ) - -38 -__END_DECLS - - - @/usr/include/bits/byteswap.h - -19 #ià! -defšed - -_BYTESWAP_H - && !defšed -_NETINET_IN_H - && !defšed -_ENDIAN_H - - -23 #iâdeà -_BITS_BYTESWAP_H - - -24  - #_BITS_BYTESWAP_H - 1 - - ) - -26  - ~<ã©u»s.h -> - -27  - ~ - -28  - ~ - -31  - #__bsw­_cÚ¡ªt_16 -( -x -) \ - -32 ((è(((( -x -è>> 8è& 0xffè| (((xè& 0xffè<< 8))) - - ) - -35  - ~ - -38  - #__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  -__šlše -  - -45 - $__bsw­_32 - ( -__bsx -) - -47  - `__bužtš_bsw­32 - ( -__bsx -); - -48 - } -} - -49 #–ià -__GNUC__ - >= 2 - -50 #ià -__WORDSIZE - =ð64 || ( -defšed - -__i486__ - || defšed -__³Áium__ - \ - -51 || -defšed - - g__³Áium´o__ - || defšed - g__³Áium4__ - \ - -52 || -defšed - - g__k8__ - || defšed - g__©hlÚ__ - \ - -53 || -defšed - - g__k6__ - || defšed - g__nocÚa__ - \ - -54 || -defšed - - g__cÜe2__ - || defšed - g__geode__ - \ - -55 || -defšed - - g__amdçm10__ -) - -58  - #__bsw­_32 -( -x -) \ - -59 ( -__ex‹nsiÚ__ - \ - -60 ({  -__v -, -__x - = ( -x -); \ - -61 ià( - `__bužtš_cÚ¡ªt_p - ( -__x -)) \ - -62 -__v - = - `__bsw­_cÚ¡ªt_32 - ( -__x -); \ - -64 - `__asm__ - ("bsw­ %0" : "ô" ( -__v -è: "0" ( -__x -)); \ - -65 -__v -; })) - - ) - -67  - #__bsw­_32 -( -x -) \ - -68 ( -__ex‹nsiÚ__ - \ - -69 ({  -__v -, -__x - = ( -x -); \ - -70 ià( - `__bužtš_cÚ¡ªt_p - ( -__x -)) \ - -71 -__v - = - `__bsw­_cÚ¡ªt_32 - ( -__x -); \ - -73 - `__asm__ - ("rorw $8, %w0;" \ - -76 : "ô" ( -__v -) \ - -77 : "0" ( -__x -) \ - -79 -__v -; })) - - ) - -82  - #__bsw­_32 -( -x -) \ - -83 ( -__ex‹nsiÚ__ - \ - -84 ({  -__x - = ( -x -); - `__bsw­_cÚ¡ªt_32 - (__x); })) - - ) - -87  -__šlše -  - -88 - $__bsw­_32 - ( -__bsx -) - -90  - `__bsw­_cÚ¡ªt_32 - ( -__bsx -); - -91 - } -} - -95 #ià -__GNUC_PREREQ - (2, 0) - -97  - #__bsw­_cÚ¡ªt_64 -( -x -) \ - -98 ( - `__ex‹nsiÚ__ - (((( -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  -__šlše - -__ušt64_t - - -109 - $__bsw­_64 - ( -__ušt64_t - -__bsx -) - -111  - `__bužtš_bsw­64 - ( -__bsx -); - -112 - } -} - -113 #–ià -__WORDSIZE - == 64 - -114  - #__bsw­_64 -( -x -) \ - -115 ( -__ex‹nsiÚ__ - \ - -116 ({ -__ušt64_t - -__v -, -__x - = ( -x -); \ - -117 ià( - `__bužtš_cÚ¡ªt_p - ( -__x -)) \ - -118 -__v - = - `__bsw­_cÚ¡ªt_64 - ( -__x -); \ - -120 - `__asm__ - ("bsw­ %q0" : "ô" ( -__v -è: "0" ( -__x -)); \ - -121 -__v -; })) - - ) - -123  - #__bsw­_64 -( -x -) \ - -124 ( -__ex‹nsiÚ__ - \ - -125 ({ uniÚ { -__ex‹nsiÚ__ - -__ušt64_t - -__Î -; \ - -126  -__l -[2]; } -__w -, -__r -; \ - -127 ià( - `__bužtš_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  - #__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  -__šlše - -__ušt64_t - - -149 - $__bsw­_64 - ( -__ušt64_t - -__bsx -) - -151  - `__bsw­_cÚ¡ªt_64 - ( -__bsx -); - -152 - } -} - - @/usr/include/bits/confname.h - -19 #iâdeà -_UNISTD_H - - -26 - m_PC_LINK_MAX -, - -27  - #_PC_LINK_MAX - -_PC_LINK_MAX - - - ) - -28 - m_PC_MAX_CANON -, - -29  - #_PC_MAX_CANON - -_PC_MAX_CANON - - - ) - -30 - m_PC_MAX_INPUT -, - -31  - #_PC_MAX_INPUT - -_PC_MAX_INPUT - - - ) - -32 - m_PC_NAME_MAX -, - -33  - #_PC_NAME_MAX - -_PC_NAME_MAX - - - ) - -34 - m_PC_PATH_MAX -, - -35  - #_PC_PATH_MAX - -_PC_PATH_MAX - - - ) - -36 - m_PC_PIPE_BUF -, - -37  - #_PC_PIPE_BUF - -_PC_PIPE_BUF - - - ) - -38 - m_PC_CHOWN_RESTRICTED -, - -39  - #_PC_CHOWN_RESTRICTED - -_PC_CHOWN_RESTRICTED - - - ) - -40 - m_PC_NO_TRUNC -, - -41  - #_PC_NO_TRUNC - -_PC_NO_TRUNC - - - ) - -42 - m_PC_VDISABLE -, - -43  - #_PC_VDISABLE - -_PC_VDISABLE - - - ) - -44 - m_PC_SYNC_IO -, - -45  - #_PC_SYNC_IO - -_PC_SYNC_IO - - - ) - -46 - m_PC_ASYNC_IO -, - -47  - #_PC_ASYNC_IO - -_PC_ASYNC_IO - - - ) - -48 - m_PC_PRIO_IO -, - -49  - #_PC_PRIO_IO - -_PC_PRIO_IO - - - ) - -50 - m_PC_SOCK_MAXBUF -, - -51  - #_PC_SOCK_MAXBUF - -_PC_SOCK_MAXBUF - - - ) - -52 - m_PC_FILESIZEBITS -, - -53  - #_PC_FILESIZEBITS - -_PC_FILESIZEBITS - - - ) - -54 - m_PC_REC_INCR_XFER_SIZE -, - -55  - #_PC_REC_INCR_XFER_SIZE - -_PC_REC_INCR_XFER_SIZE - - - ) - -56 - m_PC_REC_MAX_XFER_SIZE -, - -57  - #_PC_REC_MAX_XFER_SIZE - -_PC_REC_MAX_XFER_SIZE - - - ) - -58 - m_PC_REC_MIN_XFER_SIZE -, - -59  - #_PC_REC_MIN_XFER_SIZE - -_PC_REC_MIN_XFER_SIZE - - - ) - -60 - m_PC_REC_XFER_ALIGN -, - -61  - #_PC_REC_XFER_ALIGN - -_PC_REC_XFER_ALIGN - - - ) - -62 - m_PC_ALLOC_SIZE_MIN -, - -63  - #_PC_ALLOC_SIZE_MIN - -_PC_ALLOC_SIZE_MIN - - - ) - -64 - m_PC_SYMLINK_MAX -, - -65  - #_PC_SYMLINK_MAX - -_PC_SYMLINK_MAX - - - ) - -66 - m_PC_2_SYMLINKS - - -67  - #_PC_2_SYMLINKS - -_PC_2_SYMLINKS - - - ) - -73 - m_SC_ARG_MAX -, - -74  - #_SC_ARG_MAX - -_SC_ARG_MAX - - - ) - -75 - m_SC_CHILD_MAX -, - -76  - #_SC_CHILD_MAX - -_SC_CHILD_MAX - - - ) - -77 - m_SC_CLK_TCK -, - -78  - #_SC_CLK_TCK - -_SC_CLK_TCK - - - ) - -79 - m_SC_NGROUPS_MAX -, - -80  - #_SC_NGROUPS_MAX - -_SC_NGROUPS_MAX - - - ) - -81 - m_SC_OPEN_MAX -, - -82  - #_SC_OPEN_MAX - -_SC_OPEN_MAX - - - ) - -83 - m_SC_STREAM_MAX -, - -84  - #_SC_STREAM_MAX - -_SC_STREAM_MAX - - - ) - -85 - m_SC_TZNAME_MAX -, - -86  - #_SC_TZNAME_MAX - -_SC_TZNAME_MAX - - - ) - -87 - m_SC_JOB_CONTROL -, - -88  - #_SC_JOB_CONTROL - -_SC_JOB_CONTROL - - - ) - -89 - m_SC_SAVED_IDS -, - -90  - #_SC_SAVED_IDS - -_SC_SAVED_IDS - - - ) - -91 - m_SC_REALTIME_SIGNALS -, - -92  - #_SC_REALTIME_SIGNALS - -_SC_REALTIME_SIGNALS - - - ) - -93 - m_SC_PRIORITY_SCHEDULING -, - -94  - #_SC_PRIORITY_SCHEDULING - -_SC_PRIORITY_SCHEDULING - - - ) - -95 - m_SC_TIMERS -, - -96  - #_SC_TIMERS - -_SC_TIMERS - - - ) - -97 - m_SC_ASYNCHRONOUS_IO -, - -98  - #_SC_ASYNCHRONOUS_IO - -_SC_ASYNCHRONOUS_IO - - - ) - -99 - m_SC_PRIORITIZED_IO -, - -100  - #_SC_PRIORITIZED_IO - -_SC_PRIORITIZED_IO - - - ) - -101 - m_SC_SYNCHRONIZED_IO -, - -102  - #_SC_SYNCHRONIZED_IO - -_SC_SYNCHRONIZED_IO - - - ) - -103 - m_SC_FSYNC -, - -104  - #_SC_FSYNC - -_SC_FSYNC - - - ) - -105 - m_SC_MAPPED_FILES -, - -106  - #_SC_MAPPED_FILES - -_SC_MAPPED_FILES - - - ) - -107 - m_SC_MEMLOCK -, - -108  - #_SC_MEMLOCK - -_SC_MEMLOCK - - - ) - -109 - m_SC_MEMLOCK_RANGE -, - -110  - #_SC_MEMLOCK_RANGE - -_SC_MEMLOCK_RANGE - - - ) - -111 - m_SC_MEMORY_PROTECTION -, - -112  - #_SC_MEMORY_PROTECTION - -_SC_MEMORY_PROTECTION - - - ) - -113 - m_SC_MESSAGE_PASSING -, - -114  - #_SC_MESSAGE_PASSING - -_SC_MESSAGE_PASSING - - - ) - -115 - m_SC_SEMAPHORES -, - -116  - #_SC_SEMAPHORES - -_SC_SEMAPHORES - - - ) - -117 - m_SC_SHARED_MEMORY_OBJECTS -, - -118  - #_SC_SHARED_MEMORY_OBJECTS - -_SC_SHARED_MEMORY_OBJECTS - - - ) - -119 - m_SC_AIO_LISTIO_MAX -, - -120  - #_SC_AIO_LISTIO_MAX - -_SC_AIO_LISTIO_MAX - - - ) - -121 - m_SC_AIO_MAX -, - -122  - #_SC_AIO_MAX - -_SC_AIO_MAX - - - ) - -123 - m_SC_AIO_PRIO_DELTA_MAX -, - -124  - #_SC_AIO_PRIO_DELTA_MAX - -_SC_AIO_PRIO_DELTA_MAX - - - ) - -125 - m_SC_DELAYTIMER_MAX -, - -126  - #_SC_DELAYTIMER_MAX - -_SC_DELAYTIMER_MAX - - - ) - -127 - m_SC_MQ_OPEN_MAX -, - -128  - #_SC_MQ_OPEN_MAX - -_SC_MQ_OPEN_MAX - - - ) - -129 - m_SC_MQ_PRIO_MAX -, - -130  - #_SC_MQ_PRIO_MAX - -_SC_MQ_PRIO_MAX - - - ) - -131 - m_SC_VERSION -, - -132  - #_SC_VERSION - -_SC_VERSION - - - ) - -133 - m_SC_PAGESIZE -, - -134  - #_SC_PAGESIZE - -_SC_PAGESIZE - - - ) - -135  - #_SC_PAGE_SIZE - -_SC_PAGESIZE - - - ) - -136 - m_SC_RTSIG_MAX -, - -137  - #_SC_RTSIG_MAX - -_SC_RTSIG_MAX - - - ) - -138 - m_SC_SEM_NSEMS_MAX -, - -139  - #_SC_SEM_NSEMS_MAX - -_SC_SEM_NSEMS_MAX - - - ) - -140 - m_SC_SEM_VALUE_MAX -, - -141  - #_SC_SEM_VALUE_MAX - -_SC_SEM_VALUE_MAX - - - ) - -142 - m_SC_SIGQUEUE_MAX -, - -143  - #_SC_SIGQUEUE_MAX - -_SC_SIGQUEUE_MAX - - - ) - -144 - m_SC_TIMER_MAX -, - -145  - #_SC_TIMER_MAX - -_SC_TIMER_MAX - - - ) - -149 - m_SC_BC_BASE_MAX -, - -150  - #_SC_BC_BASE_MAX - -_SC_BC_BASE_MAX - - - ) - -151 - m_SC_BC_DIM_MAX -, - -152  - #_SC_BC_DIM_MAX - -_SC_BC_DIM_MAX - - - ) - -153 - m_SC_BC_SCALE_MAX -, - -154  - #_SC_BC_SCALE_MAX - -_SC_BC_SCALE_MAX - - - ) - -155 - m_SC_BC_STRING_MAX -, - -156  - #_SC_BC_STRING_MAX - -_SC_BC_STRING_MAX - - - ) - -157 - m_SC_COLL_WEIGHTS_MAX -, - -158  - #_SC_COLL_WEIGHTS_MAX - -_SC_COLL_WEIGHTS_MAX - - - ) - -159 - m_SC_EQUIV_CLASS_MAX -, - -160  - #_SC_EQUIV_CLASS_MAX - -_SC_EQUIV_CLASS_MAX - - - ) - -161 - m_SC_EXPR_NEST_MAX -, - -162  - #_SC_EXPR_NEST_MAX - -_SC_EXPR_NEST_MAX - - - ) - -163 - m_SC_LINE_MAX -, - -164  - #_SC_LINE_MAX - -_SC_LINE_MAX - - - ) - -165 - m_SC_RE_DUP_MAX -, - -166  - #_SC_RE_DUP_MAX - -_SC_RE_DUP_MAX - - - ) - -167 - m_SC_CHARCLASS_NAME_MAX -, - -168  - #_SC_CHARCLASS_NAME_MAX - -_SC_CHARCLASS_NAME_MAX - - - ) - -170 - m_SC_2_VERSION -, - -171  - #_SC_2_VERSION - -_SC_2_VERSION - - - ) - -172 - m_SC_2_C_BIND -, - -173  - #_SC_2_C_BIND - -_SC_2_C_BIND - - - ) - -174 - m_SC_2_C_DEV -, - -175  - #_SC_2_C_DEV - -_SC_2_C_DEV - - - ) - -176 - m_SC_2_FORT_DEV -, - -177  - #_SC_2_FORT_DEV - -_SC_2_FORT_DEV - - - ) - -178 - m_SC_2_FORT_RUN -, - -179  - #_SC_2_FORT_RUN - -_SC_2_FORT_RUN - - - ) - -180 - m_SC_2_SW_DEV -, - -181  - #_SC_2_SW_DEV - -_SC_2_SW_DEV - - - ) - -182 - m_SC_2_LOCALEDEF -, - -183  - #_SC_2_LOCALEDEF - -_SC_2_LOCALEDEF - - - ) - -185 - m_SC_PII -, - -186  - #_SC_PII - -_SC_PII - - - ) - -187 - m_SC_PII_XTI -, - -188  - #_SC_PII_XTI - -_SC_PII_XTI - - - ) - -189 - m_SC_PII_SOCKET -, - -190  - #_SC_PII_SOCKET - -_SC_PII_SOCKET - - - ) - -191 - m_SC_PII_INTERNET -, - -192  - #_SC_PII_INTERNET - -_SC_PII_INTERNET - - - ) - -193 - m_SC_PII_OSI -, - -194  - #_SC_PII_OSI - -_SC_PII_OSI - - - ) - -195 - m_SC_POLL -, - -196  - #_SC_POLL - -_SC_POLL - - - ) - -197 - m_SC_SELECT -, - -198  - #_SC_SELECT - -_SC_SELECT - - - ) - -199 - m_SC_UIO_MAXIOV -, - -200  - #_SC_UIO_MAXIOV - -_SC_UIO_MAXIOV - - - ) - -201 - m_SC_IOV_MAX - = -_SC_UIO_MAXIOV -, - -202  - #_SC_IOV_MAX - -_SC_IOV_MAX - - - ) - -203 - m_SC_PII_INTERNET_STREAM -, - -204  - #_SC_PII_INTERNET_STREAM - -_SC_PII_INTERNET_STREAM - - - ) - -205 - m_SC_PII_INTERNET_DGRAM -, - -206  - #_SC_PII_INTERNET_DGRAM - -_SC_PII_INTERNET_DGRAM - - - ) - -207 - m_SC_PII_OSI_COTS -, - -208  - #_SC_PII_OSI_COTS - -_SC_PII_OSI_COTS - - - ) - -209 - m_SC_PII_OSI_CLTS -, - -210  - #_SC_PII_OSI_CLTS - -_SC_PII_OSI_CLTS - - - ) - -211 - m_SC_PII_OSI_M -, - -212  - #_SC_PII_OSI_M - -_SC_PII_OSI_M - - - ) - -213 - m_SC_T_IOV_MAX -, - -214  - #_SC_T_IOV_MAX - -_SC_T_IOV_MAX - - - ) - -217 - m_SC_THREADS -, - -218  - #_SC_THREADS - -_SC_THREADS - - - ) - -219 - m_SC_THREAD_SAFE_FUNCTIONS -, - -220  - #_SC_THREAD_SAFE_FUNCTIONS - -_SC_THREAD_SAFE_FUNCTIONS - - - ) - -221 - m_SC_GETGR_R_SIZE_MAX -, - -222  - #_SC_GETGR_R_SIZE_MAX - -_SC_GETGR_R_SIZE_MAX - - - ) - -223 - m_SC_GETPW_R_SIZE_MAX -, - -224  - #_SC_GETPW_R_SIZE_MAX - -_SC_GETPW_R_SIZE_MAX - - - ) - -225 - m_SC_LOGIN_NAME_MAX -, - -226  - #_SC_LOGIN_NAME_MAX - -_SC_LOGIN_NAME_MAX - - - ) - -227 - m_SC_TTY_NAME_MAX -, - -228  - #_SC_TTY_NAME_MAX - -_SC_TTY_NAME_MAX - - - ) - -229 - m_SC_THREAD_DESTRUCTOR_ITERATIONS -, - -230  - #_SC_THREAD_DESTRUCTOR_ITERATIONS - -_SC_THREAD_DESTRUCTOR_ITERATIONS - - - ) - -231 - m_SC_THREAD_KEYS_MAX -, - -232  - #_SC_THREAD_KEYS_MAX - -_SC_THREAD_KEYS_MAX - - - ) - -233 - m_SC_THREAD_STACK_MIN -, - -234  - #_SC_THREAD_STACK_MIN - -_SC_THREAD_STACK_MIN - - - ) - -235 - m_SC_THREAD_THREADS_MAX -, - -236  - #_SC_THREAD_THREADS_MAX - -_SC_THREAD_THREADS_MAX - - - ) - -237 - m_SC_THREAD_ATTR_STACKADDR -, - -238  - #_SC_THREAD_ATTR_STACKADDR - -_SC_THREAD_ATTR_STACKADDR - - - ) - -239 - m_SC_THREAD_ATTR_STACKSIZE -, - -240  - #_SC_THREAD_ATTR_STACKSIZE - -_SC_THREAD_ATTR_STACKSIZE - - - ) - -241 - m_SC_THREAD_PRIORITY_SCHEDULING -, - -242  - #_SC_THREAD_PRIORITY_SCHEDULING - -_SC_THREAD_PRIORITY_SCHEDULING - - - ) - -243 - m_SC_THREAD_PRIO_INHERIT -, - -244  - #_SC_THREAD_PRIO_INHERIT - -_SC_THREAD_PRIO_INHERIT - - - ) - -245 - m_SC_THREAD_PRIO_PROTECT -, - -246  - #_SC_THREAD_PRIO_PROTECT - -_SC_THREAD_PRIO_PROTECT - - - ) - -247 - m_SC_THREAD_PROCESS_SHARED -, - -248  - #_SC_THREAD_PROCESS_SHARED - -_SC_THREAD_PROCESS_SHARED - - - ) - -250 - m_SC_NPROCESSORS_CONF -, - -251  - #_SC_NPROCESSORS_CONF - -_SC_NPROCESSORS_CONF - - - ) - -252 - m_SC_NPROCESSORS_ONLN -, - -253  - #_SC_NPROCESSORS_ONLN - -_SC_NPROCESSORS_ONLN - - - ) - -254 - m_SC_PHYS_PAGES -, - -255  - #_SC_PHYS_PAGES - -_SC_PHYS_PAGES - - - ) - -256 - m_SC_AVPHYS_PAGES -, - -257  - #_SC_AVPHYS_PAGES - -_SC_AVPHYS_PAGES - - - ) - -258 - m_SC_ATEXIT_MAX -, - -259  - #_SC_ATEXIT_MAX - -_SC_ATEXIT_MAX - - - ) - -260 - m_SC_PASS_MAX -, - -261  - #_SC_PASS_MAX - -_SC_PASS_MAX - - - ) - -263 - m_SC_XOPEN_VERSION -, - -264  - #_SC_XOPEN_VERSION - -_SC_XOPEN_VERSION - - - ) - -265 - m_SC_XOPEN_XCU_VERSION -, - -266  - #_SC_XOPEN_XCU_VERSION - -_SC_XOPEN_XCU_VERSION - - - ) - -267 - m_SC_XOPEN_UNIX -, - -268  - #_SC_XOPEN_UNIX - -_SC_XOPEN_UNIX - - - ) - -269 - m_SC_XOPEN_CRYPT -, - -270  - #_SC_XOPEN_CRYPT - -_SC_XOPEN_CRYPT - - - ) - -271 - m_SC_XOPEN_ENH_I18N -, - -272  - #_SC_XOPEN_ENH_I18N - -_SC_XOPEN_ENH_I18N - - - ) - -273 - m_SC_XOPEN_SHM -, - -274  - #_SC_XOPEN_SHM - -_SC_XOPEN_SHM - - - ) - -276 - m_SC_2_CHAR_TERM -, - -277  - #_SC_2_CHAR_TERM - -_SC_2_CHAR_TERM - - - ) - -278 - m_SC_2_C_VERSION -, - -279  - #_SC_2_C_VERSION - -_SC_2_C_VERSION - - - ) - -280 - m_SC_2_UPE -, - -281  - #_SC_2_UPE - -_SC_2_UPE - - - ) - -283 - m_SC_XOPEN_XPG2 -, - -284  - #_SC_XOPEN_XPG2 - -_SC_XOPEN_XPG2 - - - ) - -285 - m_SC_XOPEN_XPG3 -, - -286  - #_SC_XOPEN_XPG3 - -_SC_XOPEN_XPG3 - - - ) - -287 - m_SC_XOPEN_XPG4 -, - -288  - #_SC_XOPEN_XPG4 - -_SC_XOPEN_XPG4 - - - ) - -290 - m_SC_CHAR_BIT -, - -291  - #_SC_CHAR_BIT - -_SC_CHAR_BIT - - - ) - -292 - m_SC_CHAR_MAX -, - -293  - #_SC_CHAR_MAX - -_SC_CHAR_MAX - - - ) - -294 - m_SC_CHAR_MIN -, - -295  - #_SC_CHAR_MIN - -_SC_CHAR_MIN - - - ) - -296 - m_SC_INT_MAX -, - -297  - #_SC_INT_MAX - -_SC_INT_MAX - - - ) - -298 - m_SC_INT_MIN -, - -299  - #_SC_INT_MIN - -_SC_INT_MIN - - - ) - -300 - m_SC_LONG_BIT -, - -301  - #_SC_LONG_BIT - -_SC_LONG_BIT - - - ) - -302 - m_SC_WORD_BIT -, - -303  - #_SC_WORD_BIT - -_SC_WORD_BIT - - - ) - -304 - m_SC_MB_LEN_MAX -, - -305  - #_SC_MB_LEN_MAX - -_SC_MB_LEN_MAX - - - ) - -306 - m_SC_NZERO -, - -307  - #_SC_NZERO - -_SC_NZERO - - - ) - -308 - m_SC_SSIZE_MAX -, - -309  - #_SC_SSIZE_MAX - -_SC_SSIZE_MAX - - - ) - -310 - m_SC_SCHAR_MAX -, - -311  - #_SC_SCHAR_MAX - -_SC_SCHAR_MAX - - - ) - -312 - m_SC_SCHAR_MIN -, - -313  - #_SC_SCHAR_MIN - -_SC_SCHAR_MIN - - - ) - -314 - m_SC_SHRT_MAX -, - -315  - #_SC_SHRT_MAX - -_SC_SHRT_MAX - - - ) - -316 - m_SC_SHRT_MIN -, - -317  - #_SC_SHRT_MIN - -_SC_SHRT_MIN - - - ) - -318 - m_SC_UCHAR_MAX -, - -319  - #_SC_UCHAR_MAX - -_SC_UCHAR_MAX - - - ) - -320 - m_SC_UINT_MAX -, - -321  - #_SC_UINT_MAX - -_SC_UINT_MAX - - - ) - -322 - m_SC_ULONG_MAX -, - -323  - #_SC_ULONG_MAX - -_SC_ULONG_MAX - - - ) - -324 - m_SC_USHRT_MAX -, - -325  - #_SC_USHRT_MAX - -_SC_USHRT_MAX - - - ) - -327 - m_SC_NL_ARGMAX -, - -328  - #_SC_NL_ARGMAX - -_SC_NL_ARGMAX - - - ) - -329 - m_SC_NL_LANGMAX -, - -330  - #_SC_NL_LANGMAX - -_SC_NL_LANGMAX - - - ) - -331 - m_SC_NL_MSGMAX -, - -332  - #_SC_NL_MSGMAX - -_SC_NL_MSGMAX - - - ) - -333 - m_SC_NL_NMAX -, - -334  - #_SC_NL_NMAX - -_SC_NL_NMAX - - - ) - -335 - m_SC_NL_SETMAX -, - -336  - #_SC_NL_SETMAX - -_SC_NL_SETMAX - - - ) - -337 - m_SC_NL_TEXTMAX -, - -338  - #_SC_NL_TEXTMAX - -_SC_NL_TEXTMAX - - - ) - -340 - m_SC_XBS5_ILP32_OFF32 -, - -341  - #_SC_XBS5_ILP32_OFF32 - -_SC_XBS5_ILP32_OFF32 - - - ) - -342 - m_SC_XBS5_ILP32_OFFBIG -, - -343  - #_SC_XBS5_ILP32_OFFBIG - -_SC_XBS5_ILP32_OFFBIG - - - ) - -344 - m_SC_XBS5_LP64_OFF64 -, - -345  - #_SC_XBS5_LP64_OFF64 - -_SC_XBS5_LP64_OFF64 - - - ) - -346 - m_SC_XBS5_LPBIG_OFFBIG -, - -347  - #_SC_XBS5_LPBIG_OFFBIG - -_SC_XBS5_LPBIG_OFFBIG - - - ) - -349 - m_SC_XOPEN_LEGACY -, - -350  - #_SC_XOPEN_LEGACY - -_SC_XOPEN_LEGACY - - - ) - -351 - m_SC_XOPEN_REALTIME -, - -352  - #_SC_XOPEN_REALTIME - -_SC_XOPEN_REALTIME - - - ) - -353 - m_SC_XOPEN_REALTIME_THREADS -, - -354  - #_SC_XOPEN_REALTIME_THREADS - -_SC_XOPEN_REALTIME_THREADS - - - ) - -356 - m_SC_ADVISORY_INFO -, - -357  - #_SC_ADVISORY_INFO - -_SC_ADVISORY_INFO - - - ) - -358 - m_SC_BARRIERS -, - -359  - #_SC_BARRIERS - -_SC_BARRIERS - - - ) - -360 - m_SC_BASE -, - -361  - #_SC_BASE - -_SC_BASE - - - ) - -362 - m_SC_C_LANG_SUPPORT -, - -363  - #_SC_C_LANG_SUPPORT - -_SC_C_LANG_SUPPORT - - - ) - -364 - m_SC_C_LANG_SUPPORT_R -, - -365  - #_SC_C_LANG_SUPPORT_R - -_SC_C_LANG_SUPPORT_R - - - ) - -366 - m_SC_CLOCK_SELECTION -, - -367  - #_SC_CLOCK_SELECTION - -_SC_CLOCK_SELECTION - - - ) - -368 - m_SC_CPUTIME -, - -369  - #_SC_CPUTIME - -_SC_CPUTIME - - - ) - -370 - m_SC_THREAD_CPUTIME -, - -371  - #_SC_THREAD_CPUTIME - -_SC_THREAD_CPUTIME - - - ) - -372 - m_SC_DEVICE_IO -, - -373  - #_SC_DEVICE_IO - -_SC_DEVICE_IO - - - ) - -374 - m_SC_DEVICE_SPECIFIC -, - -375  - #_SC_DEVICE_SPECIFIC - -_SC_DEVICE_SPECIFIC - - - ) - -376 - m_SC_DEVICE_SPECIFIC_R -, - -377  - #_SC_DEVICE_SPECIFIC_R - -_SC_DEVICE_SPECIFIC_R - - - ) - -378 - m_SC_FD_MGMT -, - -379  - #_SC_FD_MGMT - -_SC_FD_MGMT - - - ) - -380 - m_SC_FIFO -, - -381  - #_SC_FIFO - -_SC_FIFO - - - ) - -382 - m_SC_PIPE -, - -383  - #_SC_PIPE - -_SC_PIPE - - - ) - -384 - m_SC_FILE_ATTRIBUTES -, - -385  - #_SC_FILE_ATTRIBUTES - -_SC_FILE_ATTRIBUTES - - - ) - -386 - m_SC_FILE_LOCKING -, - -387  - #_SC_FILE_LOCKING - -_SC_FILE_LOCKING - - - ) - -388 - m_SC_FILE_SYSTEM -, - -389  - #_SC_FILE_SYSTEM - -_SC_FILE_SYSTEM - - - ) - -390 - m_SC_MONOTONIC_CLOCK -, - -391  - #_SC_MONOTONIC_CLOCK - -_SC_MONOTONIC_CLOCK - - - ) - -392 - m_SC_MULTI_PROCESS -, - -393  - #_SC_MULTI_PROCESS - -_SC_MULTI_PROCESS - - - ) - -394 - m_SC_SINGLE_PROCESS -, - -395  - #_SC_SINGLE_PROCESS - -_SC_SINGLE_PROCESS - - - ) - -396 - m_SC_NETWORKING -, - -397  - #_SC_NETWORKING - -_SC_NETWORKING - - - ) - -398 - m_SC_READER_WRITER_LOCKS -, - -399  - #_SC_READER_WRITER_LOCKS - -_SC_READER_WRITER_LOCKS - - - ) - -400 - m_SC_SPIN_LOCKS -, - -401  - #_SC_SPIN_LOCKS - -_SC_SPIN_LOCKS - - - ) - -402 - m_SC_REGEXP -, - -403  - #_SC_REGEXP - -_SC_REGEXP - - - ) - -404 - m_SC_REGEX_VERSION -, - -405  - #_SC_REGEX_VERSION - -_SC_REGEX_VERSION - - - ) - -406 - m_SC_SHELL -, - -407  - #_SC_SHELL - -_SC_SHELL - - - ) - -408 - m_SC_SIGNALS -, - -409  - #_SC_SIGNALS - -_SC_SIGNALS - - - ) - -410 - m_SC_SPAWN -, - -411  - #_SC_SPAWN - -_SC_SPAWN - - - ) - -412 - m_SC_SPORADIC_SERVER -, - -413  - #_SC_SPORADIC_SERVER - -_SC_SPORADIC_SERVER - - - ) - -414 - m_SC_THREAD_SPORADIC_SERVER -, - -415  - #_SC_THREAD_SPORADIC_SERVER - -_SC_THREAD_SPORADIC_SERVER - - - ) - -416 - m_SC_SYSTEM_DATABASE -, - -417  - #_SC_SYSTEM_DATABASE - -_SC_SYSTEM_DATABASE - - - ) - -418 - m_SC_SYSTEM_DATABASE_R -, - -419  - #_SC_SYSTEM_DATABASE_R - -_SC_SYSTEM_DATABASE_R - - - ) - -420 - m_SC_TIMEOUTS -, - -421  - #_SC_TIMEOUTS - -_SC_TIMEOUTS - - - ) - -422 - m_SC_TYPED_MEMORY_OBJECTS -, - -423  - #_SC_TYPED_MEMORY_OBJECTS - -_SC_TYPED_MEMORY_OBJECTS - - - ) - -424 - m_SC_USER_GROUPS -, - -425  - #_SC_USER_GROUPS - -_SC_USER_GROUPS - - - ) - -426 - m_SC_USER_GROUPS_R -, - -427  - #_SC_USER_GROUPS_R - -_SC_USER_GROUPS_R - - - ) - -428 - m_SC_2_PBS -, - -429  - #_SC_2_PBS - -_SC_2_PBS - - - ) - -430 - m_SC_2_PBS_ACCOUNTING -, - -431  - #_SC_2_PBS_ACCOUNTING - -_SC_2_PBS_ACCOUNTING - - - ) - -432 - m_SC_2_PBS_LOCATE -, - -433  - #_SC_2_PBS_LOCATE - -_SC_2_PBS_LOCATE - - - ) - -434 - m_SC_2_PBS_MESSAGE -, - -435  - #_SC_2_PBS_MESSAGE - -_SC_2_PBS_MESSAGE - - - ) - -436 - m_SC_2_PBS_TRACK -, - -437  - #_SC_2_PBS_TRACK - -_SC_2_PBS_TRACK - - - ) - -438 - m_SC_SYMLOOP_MAX -, - -439  - #_SC_SYMLOOP_MAX - -_SC_SYMLOOP_MAX - - - ) - -440 - m_SC_STREAMS -, - -441  - #_SC_STREAMS - -_SC_STREAMS - - - ) - -442 - m_SC_2_PBS_CHECKPOINT -, - -443  - #_SC_2_PBS_CHECKPOINT - -_SC_2_PBS_CHECKPOINT - - - ) - -445 - m_SC_V6_ILP32_OFF32 -, - -446  - #_SC_V6_ILP32_OFF32 - -_SC_V6_ILP32_OFF32 - - - ) - -447 - m_SC_V6_ILP32_OFFBIG -, - -448  - #_SC_V6_ILP32_OFFBIG - -_SC_V6_ILP32_OFFBIG - - - ) - -449 - m_SC_V6_LP64_OFF64 -, - -450  - #_SC_V6_LP64_OFF64 - -_SC_V6_LP64_OFF64 - - - ) - -451 - m_SC_V6_LPBIG_OFFBIG -, - -452  - #_SC_V6_LPBIG_OFFBIG - -_SC_V6_LPBIG_OFFBIG - - - ) - -454 - m_SC_HOST_NAME_MAX -, - -455  - #_SC_HOST_NAME_MAX - -_SC_HOST_NAME_MAX - - - ) - -456 - m_SC_TRACE -, - -457  - #_SC_TRACE - -_SC_TRACE - - - ) - -458 - m_SC_TRACE_EVENT_FILTER -, - -459  - #_SC_TRACE_EVENT_FILTER - -_SC_TRACE_EVENT_FILTER - - - ) - -460 - m_SC_TRACE_INHERIT -, - -461  - #_SC_TRACE_INHERIT - -_SC_TRACE_INHERIT - - - ) - -462 - m_SC_TRACE_LOG -, - -463  - #_SC_TRACE_LOG - -_SC_TRACE_LOG - - - ) - -465 - m_SC_LEVEL1_ICACHE_SIZE -, - -466  - #_SC_LEVEL1_ICACHE_SIZE - -_SC_LEVEL1_ICACHE_SIZE - - - ) - -467 - m_SC_LEVEL1_ICACHE_ASSOC -, - -468  - #_SC_LEVEL1_ICACHE_ASSOC - -_SC_LEVEL1_ICACHE_ASSOC - - - ) - -469 - m_SC_LEVEL1_ICACHE_LINESIZE -, - -470  - #_SC_LEVEL1_ICACHE_LINESIZE - -_SC_LEVEL1_ICACHE_LINESIZE - - - ) - -471 - m_SC_LEVEL1_DCACHE_SIZE -, - -472  - #_SC_LEVEL1_DCACHE_SIZE - -_SC_LEVEL1_DCACHE_SIZE - - - ) - -473 - m_SC_LEVEL1_DCACHE_ASSOC -, - -474  - #_SC_LEVEL1_DCACHE_ASSOC - -_SC_LEVEL1_DCACHE_ASSOC - - - ) - -475 - m_SC_LEVEL1_DCACHE_LINESIZE -, - -476  - #_SC_LEVEL1_DCACHE_LINESIZE - -_SC_LEVEL1_DCACHE_LINESIZE - - - ) - -477 - m_SC_LEVEL2_CACHE_SIZE -, - -478  - #_SC_LEVEL2_CACHE_SIZE - -_SC_LEVEL2_CACHE_SIZE - - - ) - -479 - m_SC_LEVEL2_CACHE_ASSOC -, - -480  - #_SC_LEVEL2_CACHE_ASSOC - -_SC_LEVEL2_CACHE_ASSOC - - - ) - -481 - m_SC_LEVEL2_CACHE_LINESIZE -, - -482  - #_SC_LEVEL2_CACHE_LINESIZE - -_SC_LEVEL2_CACHE_LINESIZE - - - ) - -483 - m_SC_LEVEL3_CACHE_SIZE -, - -484  - #_SC_LEVEL3_CACHE_SIZE - -_SC_LEVEL3_CACHE_SIZE - - - ) - -485 - m_SC_LEVEL3_CACHE_ASSOC -, - -486  - #_SC_LEVEL3_CACHE_ASSOC - -_SC_LEVEL3_CACHE_ASSOC - - - ) - -487 - m_SC_LEVEL3_CACHE_LINESIZE -, - -488  - #_SC_LEVEL3_CACHE_LINESIZE - -_SC_LEVEL3_CACHE_LINESIZE - - - ) - -489 - m_SC_LEVEL4_CACHE_SIZE -, - -490  - #_SC_LEVEL4_CACHE_SIZE - -_SC_LEVEL4_CACHE_SIZE - - - ) - -491 - m_SC_LEVEL4_CACHE_ASSOC -, - -492  - #_SC_LEVEL4_CACHE_ASSOC - -_SC_LEVEL4_CACHE_ASSOC - - - ) - -493 - m_SC_LEVEL4_CACHE_LINESIZE -, - -494  - #_SC_LEVEL4_CACHE_LINESIZE - -_SC_LEVEL4_CACHE_LINESIZE - - - ) - -497 - m_SC_IPV6 - = -_SC_LEVEL1_ICACHE_SIZE - + 50, - -498  - #_SC_IPV6 - -_SC_IPV6 - - - ) - -499 - m_SC_RAW_SOCKETS -, - -500  - #_SC_RAW_SOCKETS - -_SC_RAW_SOCKETS - - - ) - -502 - m_SC_V7_ILP32_OFF32 -, - -503  - #_SC_V7_ILP32_OFF32 - -_SC_V7_ILP32_OFF32 - - - ) - -504 - m_SC_V7_ILP32_OFFBIG -, - -505  - #_SC_V7_ILP32_OFFBIG - -_SC_V7_ILP32_OFFBIG - - - ) - -506 - m_SC_V7_LP64_OFF64 -, - -507  - #_SC_V7_LP64_OFF64 - -_SC_V7_LP64_OFF64 - - - ) - -508 - m_SC_V7_LPBIG_OFFBIG -, - -509  - #_SC_V7_LPBIG_OFFBIG - -_SC_V7_LPBIG_OFFBIG - - - ) - -511 - m_SC_SS_REPL_MAX -, - -512  - #_SC_SS_REPL_MAX - -_SC_SS_REPL_MAX - - - ) - -514 - m_SC_TRACE_EVENT_NAME_MAX -, - -515  - #_SC_TRACE_EVENT_NAME_MAX - -_SC_TRACE_EVENT_NAME_MAX - - - ) - -516 - m_SC_TRACE_NAME_MAX -, - -517  - #_SC_TRACE_NAME_MAX - -_SC_TRACE_NAME_MAX - - - ) - -518 - m_SC_TRACE_SYS_MAX -, - -519  - #_SC_TRACE_SYS_MAX - -_SC_TRACE_SYS_MAX - - - ) - -520 - m_SC_TRACE_USER_EVENT_MAX -, - -521  - #_SC_TRACE_USER_EVENT_MAX - -_SC_TRACE_USER_EVENT_MAX - - - ) - -523 - m_SC_XOPEN_STREAMS -, - -524  - #_SC_XOPEN_STREAMS - -_SC_XOPEN_STREAMS - - - ) - -526 - m_SC_THREAD_ROBUST_PRIO_INHERIT -, - -527  - #_SC_THREAD_ROBUST_PRIO_INHERIT - -_SC_THREAD_ROBUST_PRIO_INHERIT - - - ) - -528 - m_SC_THREAD_ROBUST_PRIO_PROTECT - - -529  - #_SC_THREAD_ROBUST_PRIO_PROTECT - -_SC_THREAD_ROBUST_PRIO_PROTECT - - - ) - -535 - m_CS_PATH -, - -536  - #_CS_PATH - -_CS_PATH - - - ) - -538 - m_CS_V6_WIDTH_RESTRICTED_ENVS -, - -539  - #_CS_V6_WIDTH_RESTRICTED_ENVS - -_CS_V6_WIDTH_RESTRICTED_ENVS - - - ) - -540  - #_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS - -_CS_V6_WIDTH_RESTRICTED_ENVS - - - ) - -542 - m_CS_GNU_LIBC_VERSION -, - -543  - #_CS_GNU_LIBC_VERSION - -_CS_GNU_LIBC_VERSION - - - ) - -544 - m_CS_GNU_LIBPTHREAD_VERSION -, - -545  - #_CS_GNU_LIBPTHREAD_VERSION - -_CS_GNU_LIBPTHREAD_VERSION - - - ) - -547 - m_CS_V5_WIDTH_RESTRICTED_ENVS -, - -548  - #_CS_V5_WIDTH_RESTRICTED_ENVS - -_CS_V5_WIDTH_RESTRICTED_ENVS - - - ) - -549  - #_CS_POSIX_V5_WIDTH_RESTRICTED_ENVS - -_CS_V5_WIDTH_RESTRICTED_ENVS - - - ) - -551 - m_CS_V7_WIDTH_RESTRICTED_ENVS -, - -552  - #_CS_V7_WIDTH_RESTRICTED_ENVS - -_CS_V7_WIDTH_RESTRICTED_ENVS - - - ) - -553  - #_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS - -_CS_V7_WIDTH_RESTRICTED_ENVS - - - ) - -555 - m_CS_LFS_CFLAGS - = 1000, - -556  - #_CS_LFS_CFLAGS - -_CS_LFS_CFLAGS - - - ) - -557 - m_CS_LFS_LDFLAGS -, - -558  - #_CS_LFS_LDFLAGS - -_CS_LFS_LDFLAGS - - - ) - -559 - m_CS_LFS_LIBS -, - -560  - #_CS_LFS_LIBS - -_CS_LFS_LIBS - - - ) - -561 - m_CS_LFS_LINTFLAGS -, - -562  - #_CS_LFS_LINTFLAGS - -_CS_LFS_LINTFLAGS - - - ) - -563 - m_CS_LFS64_CFLAGS -, - -564  - #_CS_LFS64_CFLAGS - -_CS_LFS64_CFLAGS - - - ) - -565 - m_CS_LFS64_LDFLAGS -, - -566  - #_CS_LFS64_LDFLAGS - -_CS_LFS64_LDFLAGS - - - ) - -567 - m_CS_LFS64_LIBS -, - -568  - #_CS_LFS64_LIBS - -_CS_LFS64_LIBS - - - ) - -569 - m_CS_LFS64_LINTFLAGS -, - -570  - #_CS_LFS64_LINTFLAGS - -_CS_LFS64_LINTFLAGS - - - ) - -572 - m_CS_XBS5_ILP32_OFF32_CFLAGS - = 1100, - -573  - #_CS_XBS5_ILP32_OFF32_CFLAGS - -_CS_XBS5_ILP32_OFF32_CFLAGS - - - ) - -574 - m_CS_XBS5_ILP32_OFF32_LDFLAGS -, - -575  - #_CS_XBS5_ILP32_OFF32_LDFLAGS - -_CS_XBS5_ILP32_OFF32_LDFLAGS - - - ) - -576 - m_CS_XBS5_ILP32_OFF32_LIBS -, - -577  - #_CS_XBS5_ILP32_OFF32_LIBS - -_CS_XBS5_ILP32_OFF32_LIBS - - - ) - -578 - m_CS_XBS5_ILP32_OFF32_LINTFLAGS -, - -579  - #_CS_XBS5_ILP32_OFF32_LINTFLAGS - -_CS_XBS5_ILP32_OFF32_LINTFLAGS - - - ) - -580 - m_CS_XBS5_ILP32_OFFBIG_CFLAGS -, - -581  - #_CS_XBS5_ILP32_OFFBIG_CFLAGS - -_CS_XBS5_ILP32_OFFBIG_CFLAGS - - - ) - -582 - m_CS_XBS5_ILP32_OFFBIG_LDFLAGS -, - -583  - #_CS_XBS5_ILP32_OFFBIG_LDFLAGS - -_CS_XBS5_ILP32_OFFBIG_LDFLAGS - - - ) - -584 - m_CS_XBS5_ILP32_OFFBIG_LIBS -, - -585  - #_CS_XBS5_ILP32_OFFBIG_LIBS - -_CS_XBS5_ILP32_OFFBIG_LIBS - - - ) - -586 - m_CS_XBS5_ILP32_OFFBIG_LINTFLAGS -, - -587  - #_CS_XBS5_ILP32_OFFBIG_LINTFLAGS - -_CS_XBS5_ILP32_OFFBIG_LINTFLAGS - - - ) - -588 - m_CS_XBS5_LP64_OFF64_CFLAGS -, - -589  - #_CS_XBS5_LP64_OFF64_CFLAGS - -_CS_XBS5_LP64_OFF64_CFLAGS - - - ) - -590 - m_CS_XBS5_LP64_OFF64_LDFLAGS -, - -591  - #_CS_XBS5_LP64_OFF64_LDFLAGS - -_CS_XBS5_LP64_OFF64_LDFLAGS - - - ) - -592 - m_CS_XBS5_LP64_OFF64_LIBS -, - -593  - #_CS_XBS5_LP64_OFF64_LIBS - -_CS_XBS5_LP64_OFF64_LIBS - - - ) - -594 - m_CS_XBS5_LP64_OFF64_LINTFLAGS -, - -595  - #_CS_XBS5_LP64_OFF64_LINTFLAGS - -_CS_XBS5_LP64_OFF64_LINTFLAGS - - - ) - -596 - m_CS_XBS5_LPBIG_OFFBIG_CFLAGS -, - -597  - #_CS_XBS5_LPBIG_OFFBIG_CFLAGS - -_CS_XBS5_LPBIG_OFFBIG_CFLAGS - - - ) - -598 - m_CS_XBS5_LPBIG_OFFBIG_LDFLAGS -, - -599  - #_CS_XBS5_LPBIG_OFFBIG_LDFLAGS - -_CS_XBS5_LPBIG_OFFBIG_LDFLAGS - - - ) - -600 - m_CS_XBS5_LPBIG_OFFBIG_LIBS -, - -601  - #_CS_XBS5_LPBIG_OFFBIG_LIBS - -_CS_XBS5_LPBIG_OFFBIG_LIBS - - - ) - -602 - m_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS -, - -603  - #_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS - -_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS - - - ) - -605 - m_CS_POSIX_V6_ILP32_OFF32_CFLAGS -, - -606  - #_CS_POSIX_V6_ILP32_OFF32_CFLAGS - -_CS_POSIX_V6_ILP32_OFF32_CFLAGS - - - ) - -607 - m_CS_POSIX_V6_ILP32_OFF32_LDFLAGS -, - -608  - #_CS_POSIX_V6_ILP32_OFF32_LDFLAGS - -_CS_POSIX_V6_ILP32_OFF32_LDFLAGS - - - ) - -609 - m_CS_POSIX_V6_ILP32_OFF32_LIBS -, - -610  - #_CS_POSIX_V6_ILP32_OFF32_LIBS - -_CS_POSIX_V6_ILP32_OFF32_LIBS - - - ) - -611 - m_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS -, - -612  - #_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS - -_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS - - - ) - -613 - m_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS -, - -614  - #_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS - -_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS - - - ) - -615 - m_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS -, - -616  - #_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS - -_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS - - - ) - -617 - m_CS_POSIX_V6_ILP32_OFFBIG_LIBS -, - -618  - #_CS_POSIX_V6_ILP32_OFFBIG_LIBS - -_CS_POSIX_V6_ILP32_OFFBIG_LIBS - - - ) - -619 - m_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS -, - -620  - #_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS - -_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS - - - ) - -621 - m_CS_POSIX_V6_LP64_OFF64_CFLAGS -, - -622  - #_CS_POSIX_V6_LP64_OFF64_CFLAGS - -_CS_POSIX_V6_LP64_OFF64_CFLAGS - - - ) - -623 - m_CS_POSIX_V6_LP64_OFF64_LDFLAGS -, - -624  - #_CS_POSIX_V6_LP64_OFF64_LDFLAGS - -_CS_POSIX_V6_LP64_OFF64_LDFLAGS - - - ) - -625 - m_CS_POSIX_V6_LP64_OFF64_LIBS -, - -626  - #_CS_POSIX_V6_LP64_OFF64_LIBS - -_CS_POSIX_V6_LP64_OFF64_LIBS - - - ) - -627 - m_CS_POSIX_V6_LP64_OFF64_LINTFLAGS -, - -628  - #_CS_POSIX_V6_LP64_OFF64_LINTFLAGS - -_CS_POSIX_V6_LP64_OFF64_LINTFLAGS - - - ) - -629 - m_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS -, - -630  - #_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS - -_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS - - - ) - -631 - m_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS -, - -632  - #_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS - -_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS - - - ) - -633 - m_CS_POSIX_V6_LPBIG_OFFBIG_LIBS -, - -634  - #_CS_POSIX_V6_LPBIG_OFFBIG_LIBS - -_CS_POSIX_V6_LPBIG_OFFBIG_LIBS - - - ) - -635 - m_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS -, - -636  - #_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS - -_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS - - - ) - -638 - m_CS_POSIX_V7_ILP32_OFF32_CFLAGS -, - -639  - #_CS_POSIX_V7_ILP32_OFF32_CFLAGS - -_CS_POSIX_V7_ILP32_OFF32_CFLAGS - - - ) - -640 - m_CS_POSIX_V7_ILP32_OFF32_LDFLAGS -, - -641  - #_CS_POSIX_V7_ILP32_OFF32_LDFLAGS - -_CS_POSIX_V7_ILP32_OFF32_LDFLAGS - - - ) - -642 - m_CS_POSIX_V7_ILP32_OFF32_LIBS -, - -643  - #_CS_POSIX_V7_ILP32_OFF32_LIBS - -_CS_POSIX_V7_ILP32_OFF32_LIBS - - - ) - -644 - m_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS -, - -645  - #_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS - -_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS - - - ) - -646 - m_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS -, - -647  - #_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS - -_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS - - - ) - -648 - m_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS -, - -649  - #_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS - -_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS - - - ) - -650 - m_CS_POSIX_V7_ILP32_OFFBIG_LIBS -, - -651  - #_CS_POSIX_V7_ILP32_OFFBIG_LIBS - -_CS_POSIX_V7_ILP32_OFFBIG_LIBS - - - ) - -652 - m_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS -, - -653  - #_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS - -_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS - - - ) - -654 - m_CS_POSIX_V7_LP64_OFF64_CFLAGS -, - -655  - #_CS_POSIX_V7_LP64_OFF64_CFLAGS - -_CS_POSIX_V7_LP64_OFF64_CFLAGS - - - ) - -656 - m_CS_POSIX_V7_LP64_OFF64_LDFLAGS -, - -657  - #_CS_POSIX_V7_LP64_OFF64_LDFLAGS - -_CS_POSIX_V7_LP64_OFF64_LDFLAGS - - - ) - -658 - m_CS_POSIX_V7_LP64_OFF64_LIBS -, - -659  - #_CS_POSIX_V7_LP64_OFF64_LIBS - -_CS_POSIX_V7_LP64_OFF64_LIBS - - - ) - -660 - m_CS_POSIX_V7_LP64_OFF64_LINTFLAGS -, - -661  - #_CS_POSIX_V7_LP64_OFF64_LINTFLAGS - -_CS_POSIX_V7_LP64_OFF64_LINTFLAGS - - - ) - -662 - m_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS -, - -663  - #_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS - -_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS - - - ) - -664 - m_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS -, - -665  - #_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS - -_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS - - - ) - -666 - m_CS_POSIX_V7_LPBIG_OFFBIG_LIBS -, - -667  - #_CS_POSIX_V7_LPBIG_OFFBIG_LIBS - -_CS_POSIX_V7_LPBIG_OFFBIG_LIBS - - - ) - -668 - m_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS -, - -669  - #_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS - -_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS - - - ) - -671 - m_CS_V6_ENV -, - -672  - #_CS_V6_ENV - -_CS_V6_ENV - - - ) - -673 - m_CS_V7_ENV - - -674  - #_CS_V7_ENV - -_CS_V7_ENV - - - ) - - @/usr/include/bits/environments.h - -18 #iâdeà -_UNISTD_H - - -22  - ~ - -42 #ià -__WORDSIZE - == 64 - -56  - #_POSIX_V7_LPBIG_OFFBIG - -1 - - ) - -57  - #_POSIX_V6_LPBIG_OFFBIG - -1 - - ) - -58  - #_XBS5_LPBIG_OFFBIG - -1 - - ) - -61  - #_POSIX_V7_LP64_OFF64 - 1 - - ) - -62  - #_POSIX_V6_LP64_OFF64 - 1 - - ) - -63  - #_XBS5_LP64_OFF64 - 1 - - ) - -69  - #_POSIX_V7_ILP32_OFFBIG - 1 - - ) - -70  - #_POSIX_V6_ILP32_OFFBIG - 1 - - ) - -71  - #_XBS5_ILP32_OFFBIG - 1 - - ) - -73 #iâdeà -__x86_64__ - - -75  - #_POSIX_V7_ILP32_OFF32 - 1 - - ) - -76  - #_POSIX_V6_ILP32_OFF32 - 1 - - ) - -77  - #_XBS5_ILP32_OFF32 - 1 - - ) - -95  - #__ILP32_OFF32_CFLAGS - "-m32" - - ) - -96  - #__ILP32_OFF32_LDFLAGS - "-m32" - - ) - -97 #ià -defšed - -__x86_64__ - && defšed -__ILP32__ - - -98  - #__ILP32_OFFBIG_CFLAGS - "-mx32" - - ) - -99  - #__ILP32_OFFBIG_LDFLAGS - "-mx32" - - ) - -101  - #__ILP32_OFFBIG_CFLAGS - "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - - ) - -102  - #__ILP32_OFFBIG_LDFLAGS - "-m32" - - ) - -104  - #__LP64_OFF64_CFLAGS - "-m64" - - ) - -105  - #__LP64_OFF64_LDFLAGS - "-m64" - - ) - - @/usr/include/bits/errno.h - -19 #ifdeà -_ERRNO_H - - -21 #undeà -EDOM - - -22 #undeà -EILSEQ - - -23 #undeà -ERANGE - - -24  - ~ - -27  - #ENOTSUP - -EOPNOTSUPP - - - ) - -30 #iâdeà -ECANCELED - - -31  - #ECANCELED - 125 - - ) - -35 #iâdeà -EOWNERDEAD - - -36  - #EOWNERDEAD - 130 - - ) - -37  - #ENOTRECOVERABLE - 131 - - ) - -40 #iâdeà -ERFKILL - - -41  - #ERFKILL - 132 - - ) - -44 #iâdeà -EHWPOISON - - -45  - #EHWPOISON - 133 - - ) - -48 #iâdeà -__ASSEMBLER__ - - -50 * - $__”ºo_loÿtiÚ - (è -__THROW - - `__©Œibu‹__ - (( -__cÚ¡__ -)); - -52 #ià! -defšed - -_LIBC - || defšed -_LIBC_REENTRANT - - -54  - #”ºo - (* - `__”ºo_loÿtiÚ - ()) - - ) - -59 #ià! -defšed - -_ERRNO_H - && defšed -__Ãed_Em©h - - -63  - #EDOM - 33 - - ) - -64  - #EILSEQ - 84 - - ) - -65  - #ERANGE - 34 - - ) - - @/usr/include/bits/fcntl.h - -19 #iâdeà -_FCNTL_H - - -23 #ifdeà -__x86_64__ - - -24  - #__O_LARGEFILE - 0 - - ) - -27 #ifdeà -__x86_64__ - - -29  - #F_GETLK64 - 5 - - ) - -30  - #F_SETLK64 - 6 - - ) - -31  - #F_SETLKW64 - 7 - - ) - -35  - sæock - - -37  - ml_ty³ -; - -38  - ml_wh’û -; - -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  - sæock64 - - -52  - ml_ty³ -; - -53  - ml_wh’û -; - -54 -__off64_t - - ml_¡¬t -; - -55 -__off64_t - - ml_Ën -; - -56 -__pid_t - - ml_pid -; - -61  - ~ - - @/usr/include/bits/fcntl2.h - -19 #iâdef -_FCNTL_H - - -25 #iâdeà -__USE_FILE_OFFSET64 - - -26  - $__ݒ_2 - (cÚ¡ * -__·th -,  -__oæag -è - `__nÚnuÎ - ((1)); - -27  - `__REDIRECT - ( -__ݒ_®Ÿs -, (cÚ¡ * -__·th -,  -__oæag -, ...), - -28 -ݒ -è - `__nÚnuÎ - ((1)); - -30  - `__REDIRECT - ( -__ݒ_2 -, (cÚ¡ * -__·th -,  -__oæag -), - -31 -__ݒ64_2 -è - `__nÚnuÎ - ((1)); - -32  - `__REDIRECT - ( -__ݒ_®Ÿs -, (cÚ¡ * -__·th -,  -__oæag -, ...), - -33 -ݒ64 -è - `__nÚnuÎ - ((1)); - -35 - `__”rÜdeþ - ( -__ݒ_too_mªy_¬gs -, - -37 - `__”rÜdeþ - ( -__ݒ_missšg_mode -, - -40 -__fÜtify_funùiÚ -  - -41 - $ݒ - (cÚ¡ * -__·th -,  -__oæag -, ...) - -43 ià( - `__va_¬g_·ck_Ën - () > 1) - -44 - `__ݒ_too_mªy_¬gs - (); - -46 ià( - `__bužtš_cÚ¡ªt_p - ( -__oæag -)) - -48 ià( - `__OPEN_NEEDS_MODE - ( -__oæag -è&& - `__va_¬g_·ck_Ën - () < 1) - -50 - `__ݒ_missšg_mode - (); - -51  - `__ݒ_2 - ( -__·th -, -__oæag -); - -53  - `__ݒ_®Ÿs - ( -__·th -, -__oæag -, - `__va_¬g_·ck - ()); - -56 ià( - `__va_¬g_·ck_Ën - () < 1) - -57  - `__ݒ_2 - ( -__·th -, -__oæag -); - -59  - `__ݒ_®Ÿs - ( -__·th -, -__oæag -, - `__va_¬g_·ck - ()); - -60 - } -} - -63 #ifdeà -__USE_LARGEFILE64 - - -64  - $__ݒ64_2 - (cÚ¡ * -__·th -,  -__oæag -è - `__nÚnuÎ - ((1)); - -65  - `__REDIRECT - ( -__ݒ64_®Ÿs -, (cÚ¡ * -__·th -,  -__oæag -, - -66 ...), -ݒ64 -è - `__nÚnuÎ - ((1)); - -67 - `__”rÜdeþ - ( -__ݒ64_too_mªy_¬gs -, - -69 - `__”rÜdeþ - ( -__ݒ64_missšg_mode -, - -72 -__fÜtify_funùiÚ -  - -73 - $ݒ64 - (cÚ¡ * -__·th -,  -__oæag -, ...) - -75 ià( - `__va_¬g_·ck_Ën - () > 1) - -76 - `__ݒ64_too_mªy_¬gs - (); - -78 ià( - `__bužtš_cÚ¡ªt_p - ( -__oæag -)) - -80 ià( - `__OPEN_NEEDS_MODE - ( -__oæag -è&& - `__va_¬g_·ck_Ën - () < 1) - -82 - `__ݒ64_missšg_mode - (); - -83  - `__ݒ64_2 - ( -__·th -, -__oæag -); - -85  - `__ݒ64_®Ÿs - ( -__·th -, -__oæag -, - `__va_¬g_·ck - ()); - -88 ià( - `__va_¬g_·ck_Ën - () < 1) - -89  - `__ݒ64_2 - ( -__·th -, -__oæag -); - -91  - `__ݒ64_®Ÿs - ( -__·th -, -__oæag -, - `__va_¬g_·ck - ()); - -92 - } -} - -96 #ifdeà -__USE_ATFILE - - -97 #iâdeà -__USE_FILE_OFFSET64 - - -98  - $__ݒ©_2 - ( -__fd -, cÚ¡ * -__·th -,  -__oæag -) - -99 - `__nÚnuÎ - ((2)); - -100  - `__REDIRECT - ( -__ݒ©_®Ÿs -, ( -__fd -, cÚ¡ * -__·th -, - -101  -__oæag -, ...), -ݒ© -) - -102 - `__nÚnuÎ - ((2)); - -104  - `__REDIRECT - ( -__ݒ©_2 -, ( -__fd -, cÚ¡ * -__·th -, - -105  -__oæag -), -__ݒ©64_2 -) - -106 - `__nÚnuÎ - ((2)); - -107  - `__REDIRECT - ( -__ݒ©_®Ÿs -, ( -__fd -, cÚ¡ * -__·th -, - -108  -__oæag -, ...), -ݒ©64 -) - -109 - `__nÚnuÎ - ((2)); - -111 - `__”rÜdeþ - ( -__ݒ©_too_mªy_¬gs -, - -113 - `__”rÜdeþ - ( -__ݒ©_missšg_mode -, - -116 -__fÜtify_funùiÚ -  - -117 - $ݒ© - ( -__fd -, cÚ¡ * -__·th -,  -__oæag -, ...) - -119 ià( - `__va_¬g_·ck_Ën - () > 1) - -120 - `__ݒ©_too_mªy_¬gs - (); - -122 ià( - `__bužtš_cÚ¡ªt_p - ( -__oæag -)) - -124 ià( - `__OPEN_NEEDS_MODE - ( -__oæag -è&& - `__va_¬g_·ck_Ën - () < 1) - -126 - `__ݒ©_missšg_mode - (); - -127  - `__ݒ©_2 - ( -__fd -, -__·th -, -__oæag -); - -129  - `__ݒ©_®Ÿs - ( -__fd -, -__·th -, -__oæag -, - `__va_¬g_·ck - ()); - -132 ià( - `__va_¬g_·ck_Ën - () < 1) - -133  - `__ݒ©_2 - ( -__fd -, -__·th -, -__oæag -); - -135  - `__ݒ©_®Ÿs - ( -__fd -, -__·th -, -__oæag -, - `__va_¬g_·ck - ()); - -136 - } -} - -139 #ifdeà -__USE_LARGEFILE64 - - -140  - $__ݒ©64_2 - ( -__fd -, cÚ¡ * -__·th -,  -__oæag -) - -141 - `__nÚnuÎ - ((2)); - -142  - `__REDIRECT - ( -__ݒ©64_®Ÿs -, ( -__fd -, cÚ¡ * -__·th -, - -143  -__oæag -, ...), -ݒ©64 -) - -144 - `__nÚnuÎ - ((2)); - -145 - `__”rÜdeþ - ( -__ݒ©64_too_mªy_¬gs -, - -147 - `__”rÜdeþ - ( -__ݒ©64_missšg_mode -, - -150 -__fÜtify_funùiÚ -  - -151 - $ݒ©64 - ( -__fd -, cÚ¡ * -__·th -,  -__oæag -, ...) - -153 ià( - `__va_¬g_·ck_Ën - () > 1) - -154 - `__ݒ©64_too_mªy_¬gs - (); - -156 ià( - `__bužtš_cÚ¡ªt_p - ( -__oæag -)) - -158 ià( - `__OPEN_NEEDS_MODE - ( -__oæag -è&& - `__va_¬g_·ck_Ën - () < 1) - -160 - `__ݒ©64_missšg_mode - (); - -161  - `__ݒ©64_2 - ( -__fd -, -__·th -, -__oæag -); - -163  - `__ݒ©64_®Ÿs - ( -__fd -, -__·th -, -__oæag -, - `__va_¬g_·ck - ()); - -166 ià( - `__va_¬g_·ck_Ën - () < 1) - -167  - `__ݒ©64_2 - ( -__fd -, -__·th -, -__oæag -); - -169  - `__ݒ©64_®Ÿs - ( -__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  - #HUGE_VAL - ( - `__bužtš_huge_v® -()) - - ) - -28 #–ià -__GNUC_PREREQ -(2,96) - -29  - #HUGE_VAL - ( -__ex‹nsiÚ__ - 0x1.0 -p2047 -) - - ) - -30 #–ià -defšed - -__GNUC__ - - -32  - #HUGE_VAL - \ - -33 ( -__ex‹nsiÚ__ - \ - -34 ((uniÚ {  -__l - - `__©Œibu‹__ -(( - `__mode__ -( -__DI__ -)));  -__d -; }) \ - -35 { -__l -: 0x7ff0000000000000ULL }). -__d -) - - ) - -39  - ~<’dŸn.h -> - -41 uniÚ {  - m__c -[8];  - m__d -; } - t__huge_v®_t -; - -43 #ià -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -44  - #__HUGE_VAL_by‹s - { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } - - ) - -46 #ià -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -47  - #__HUGE_VAL_by‹s - { 0, 0, 0, 0, 0, 0, 0xf0, 0x7à} - - ) - -50  -__huge_v®_t - - g__huge_v® - = { -__HUGE_VAL_by‹s - }; - -51  - #HUGE_VAL - ( -__huge_v® -. -__d -) - - ) - - @/usr/include/bits/huge_valf.h - -20 #iâdeà -_MATH_H - - -26 #ià -__GNUC_PREREQ -(3,3) - -27  - #HUGE_VALF - ( - `__bužtš_huge_v®f -()) - - ) - -28 #–ià -__GNUC_PREREQ -(2,96) - -29  - #HUGE_VALF - ( -__ex‹nsiÚ__ - 0x1.0 -p255f -) - - ) - -30 #–ià -defšed - -__GNUC__ - - -32  - #HUGE_VALF - \ - -33 ( -__ex‹nsiÚ__ - \ - -34 ((uniÚ {  -__l - - `__©Œibu‹__ -(( - `__mode__ -( -__SI__ -)));  -__d -; }) \ - -35 { -__l -: 0x7f800000UL }). -__d -) - - ) - -39 uniÚ {  - m__c -[4];  - m__f -; } - t__huge_v®f_t -; - -41 #ià -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -42  - #__HUGE_VALF_by‹s - { 0x7f, 0x80, 0, 0 } - - ) - -44 #ià -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -45  - #__HUGE_VALF_by‹s - { 0, 0, 0x80, 0x7à} - - ) - -48  -__huge_v®f_t - - g__huge_v®f - = { -__HUGE_VALF_by‹s - }; - -49  - #HUGE_VALF - ( -__huge_v®f -. -__f -) - - ) - - @/usr/include/bits/huge_vall.h - -20 #iâdeà -_MATH_H - - -24 #ià -__GNUC_PREREQ -(3,3) - -25  - #HUGE_VALL - ( - `__bužtš_huge_v®l -()) - - ) - -26 #–ià -__GNUC_PREREQ -(2,96) - -27  - #HUGE_VALL - ( -__ex‹nsiÚ__ - 0x1.0 -p32767L -) - - ) - -30  - #__HUGE_VALL_by‹s - { 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0x7f, 0, 0 } - - ) - -32  - #__huge_v®l_t - uniÚ {  -__c -[12];  -__ld -; } - - ) - -33 #ifdeà -__GNUC__ - - -34  - #HUGE_VALL - ( -__ex‹nsiÚ__ - \ - -35 (( -__huge_v®l_t -è{ -__c -: -__HUGE_VALL_by‹s - }). -__ld -) - - ) - -37  -__huge_v®l_t - - g__huge_v®l - = { -__HUGE_VALL_by‹s - }; - -38  - #HUGE_VALL - ( -__huge_v®l -. -__ld -) - - ) - - @/usr/include/bits/in.h - -20 #iâdeà -_NETINET_IN_H - - -29 #ià -defšed - -_UAPI_LINUX_IN6_H - || defšed -_UAPI_IPV6_H - - -33  - #__USE_KERNEL_IPV6_DEFS - - - ) - -39  - #IP_OPTIONS - 4 - - ) - -40  - #IP_HDRINCL - 3 - - ) - -41  - #IP_TOS - 1 - - ) - -42  - #IP_TTL - 2 - - ) - -43  - #IP_RECVOPTS - 6 - - ) - -45  - #IP_RECVRETOPTS - -IP_RETOPTS - - - ) - -46  - #IP_RETOPTS - 7 - - ) - -47  - #IP_MULTICAST_IF - 32 - - ) - -48  - #IP_MULTICAST_TTL - 33 - - ) - -49  - #IP_MULTICAST_LOOP - 34 - - ) - -50  - #IP_ADD_MEMBERSHIP - 35 - - ) - -51  - #IP_DROP_MEMBERSHIP - 36 - - ) - -52  - #IP_UNBLOCK_SOURCE - 37 - - ) - -53  - #IP_BLOCK_SOURCE - 38 - - ) - -54  - #IP_ADD_SOURCE_MEMBERSHIP - 39 - - ) - -55  - #IP_DROP_SOURCE_MEMBERSHIP - 40 - - ) - -56  - #IP_MSFILTER - 41 - - ) - -57 #ifdeà -__USE_MISC - - -58  - #MCAST_JOIN_GROUP - 42 - - ) - -59  - #MCAST_BLOCK_SOURCE - 43 - - ) - -60  - #MCAST_UNBLOCK_SOURCE - 44 - - ) - -61  - #MCAST_LEAVE_GROUP - 45 - - ) - -62  - #MCAST_JOIN_SOURCE_GROUP - 46 - - ) - -63  - #MCAST_LEAVE_SOURCE_GROUP - 47 - - ) - -64  - #MCAST_MSFILTER - 48 - - ) - -65  - #IP_MULTICAST_ALL - 49 - - ) - -66  - #IP_UNICAST_IF - 50 - - ) - -68  - #MCAST_EXCLUDE - 0 - - ) - -69  - #MCAST_INCLUDE - 1 - - ) - -72  - #IP_ROUTER_ALERT - 5 - - ) - -73  - #IP_PKTINFO - 8 - - ) - -74  - #IP_PKTOPTIONS - 9 - - ) - -75  - #IP_PMTUDISC - 10 - - ) - -76  - #IP_MTU_DISCOVER - 10 - - ) - -77  - #IP_RECVERR - 11 - - ) - -78  - #IP_RECVTTL - 12 - - ) - -79  - #IP_RECVTOS - 13 - - ) - -80  - #IP_MTU - 14 - - ) - -81  - #IP_FREEBIND - 15 - - ) - -82  - #IP_IPSEC_POLICY - 16 - - ) - -83  - #IP_XFRM_POLICY - 17 - - ) - -84  - #IP_PASSSEC - 18 - - ) - -85  - #IP_TRANSPARENT - 19 - - ) - -86  - #IP_MULTICAST_ALL - 49 - - ) - -89  - #IP_ORIGDSTADDR - 20 - - ) - -90  - #IP_RECVORIGDSTADDR - -IP_ORIGDSTADDR - - - ) - -92  - #IP_MINTTL - 21 - - ) - -93  - #IP_NODEFRAG - 22 - - ) - -94  - #IP_CHECKSUM - 23 - - ) - -95  - #IP_BIND_ADDRESS_NO_PORT - 24 - - ) - -98  - #IP_PMTUDISC_DONT - 0 - - ) - -99  - #IP_PMTUDISC_WANT - 1 - - ) - -100  - #IP_PMTUDISC_DO - 2 - - ) - -101  - #IP_PMTUDISC_PROBE - 3 - - ) - -105  - #IP_PMTUDISC_INTERFACE - 4 - - ) - -107  - #IP_PMTUDISC_OMIT - 5 - - ) - -109  - #IP_MULTICAST_IF - 32 - - ) - -110  - #IP_MULTICAST_TTL - 33 - - ) - -111  - #IP_MULTICAST_LOOP - 34 - - ) - -112  - #IP_ADD_MEMBERSHIP - 35 - - ) - -113  - #IP_DROP_MEMBERSHIP - 36 - - ) - -114  - #IP_UNBLOCK_SOURCE - 37 - - ) - -115  - #IP_BLOCK_SOURCE - 38 - - ) - -116  - #IP_ADD_SOURCE_MEMBERSHIP - 39 - - ) - -117  - #IP_DROP_SOURCE_MEMBERSHIP - 40 - - ) - -118  - #IP_MSFILTER - 41 - - ) - -119  - #IP_MULTICAST_ALL - 49 - - ) - -120  - #IP_UNICAST_IF - 50 - - ) - -123  - #SOL_IP - 0 - - ) - -125  - #IP_DEFAULT_MULTICAST_TTL - 1 - - ) - -126  - #IP_DEFAULT_MULTICAST_LOOP - 1 - - ) - -127  - #IP_MAX_MEMBERSHIPS - 20 - - ) - -129 #ifdeà -__USE_MISC - - -133  - s_Ýts - - -135  -š_addr - - m_d¡ -; - -136  - m_Ýts -[40]; - -140  - s_m»qn - - -142  -š_addr - - mimr_muɟddr -; - -143  -š_addr - - mimr_add»ss -; - -144  - mimr_ifšdex -; - -148  - sš_pktšfo - - -150  - mi_ifšdex -; - -151  -š_addr - - mi_¥ec_d¡ -; - -152  -š_addr - - mi_addr -; - -159  - #IPV6_ADDRFORM - 1 - - ) - -160  - #IPV6_2292PKTINFO - 2 - - ) - -161  - #IPV6_2292HOPOPTS - 3 - - ) - -162  - #IPV6_2292DSTOPTS - 4 - - ) - -163  - #IPV6_2292RTHDR - 5 - - ) - -164  - #IPV6_2292PKTOPTIONS - 6 - - ) - -165  - #IPV6_CHECKSUM - 7 - - ) - -166  - #IPV6_2292HOPLIMIT - 8 - - ) - -168  - #SCM_SRCRT - -IPV6_RXSRCRT - - - ) - -170  - #IPV6_NEXTHOP - 9 - - ) - -171  - #IPV6_AUTHHDR - 10 - - ) - -172  - #IPV6_UNICAST_HOPS - 16 - - ) - -173  - #IPV6_MULTICAST_IF - 17 - - ) - -174  - #IPV6_MULTICAST_HOPS - 18 - - ) - -175  - #IPV6_MULTICAST_LOOP - 19 - - ) - -176  - #IPV6_JOIN_GROUP - 20 - - ) - -177  - #IPV6_LEAVE_GROUP - 21 - - ) - -178  - #IPV6_ROUTER_ALERT - 22 - - ) - -179  - #IPV6_MTU_DISCOVER - 23 - - ) - -180  - #IPV6_MTU - 24 - - ) - -181  - #IPV6_RECVERR - 25 - - ) - -182  - #IPV6_V6ONLY - 26 - - ) - -183  - #IPV6_JOIN_ANYCAST - 27 - - ) - -184  - #IPV6_LEAVE_ANYCAST - 28 - - ) - -185  - #IPV6_IPSEC_POLICY - 34 - - ) - -186  - #IPV6_XFRM_POLICY - 35 - - ) - -189  - #IPV6_RECVPKTINFO - 49 - - ) - -190  - #IPV6_PKTINFO - 50 - - ) - -191  - #IPV6_RECVHOPLIMIT - 51 - - ) - -192  - #IPV6_HOPLIMIT - 52 - - ) - -193  - #IPV6_RECVHOPOPTS - 53 - - ) - -194  - #IPV6_HOPOPTS - 54 - - ) - -195  - #IPV6_RTHDRDSTOPTS - 55 - - ) - -196  - #IPV6_RECVRTHDR - 56 - - ) - -197  - #IPV6_RTHDR - 57 - - ) - -198  - #IPV6_RECVDSTOPTS - 58 - - ) - -199  - #IPV6_DSTOPTS - 59 - - ) - -200  - #IPV6_RECVPATHMTU - 60 - - ) - -201  - #IPV6_PATHMTU - 61 - - ) - -202  - #IPV6_DONTFRAG - 62 - - ) - -205  - #IPV6_RECVTCLASS - 66 - - ) - -206  - #IPV6_TCLASS - 67 - - ) - -209  - #IPV6_ADD_MEMBERSHIP - -IPV6_JOIN_GROUP - - - ) - -210  - #IPV6_DROP_MEMBERSHIP - -IPV6_LEAVE_GROUP - - - ) - -211  - #IPV6_RXHOPOPTS - -IPV6_HOPOPTS - - - ) - -212  - #IPV6_RXDSTOPTS - -IPV6_DSTOPTS - - - ) - -215  - #IPV6_PMTUDISC_DONT - 0 - - ) - -216  - #IPV6_PMTUDISC_WANT - 1 - - ) - -217  - #IPV6_PMTUDISC_DO - 2 - - ) - -218  - #IPV6_PMTUDISC_PROBE - 3 - - ) - -219  - #IPV6_PMTUDISC_INTERFACE - 4 - - ) - -220  - #IPV6_PMTUDISC_OMIT - 5 - - ) - -223  - #SOL_IPV6 - 41 - - ) - -224  - #SOL_ICMPV6 - 58 - - ) - -227  - #IPV6_RTHDR_LOOSE - 0 - - ) - -228  - #IPV6_RTHDR_STRICT - 1 - - ) - -230  - #IPV6_RTHDR_TYPE_0 - 0 - - ) - - @/usr/include/bits/inf.h - -19 #iâdeà -_MATH_H - - -25 #ià -__GNUC_PREREQ -(3,3) - -26  - #INFINITY - ( - `__bužtš_šff -()) - - ) - -28  - #INFINITY - -HUGE_VALF - - - ) - - @/usr/include/bits/math-finite.h - -19 #iâdeà -_MATH_H - - -24  -__REDIRECT_NTH - ( -acos -, (), -__acos_fš™e -); - -25 #ifdeà -__USE_ISOC99 - - -26  -__REDIRECT_NTH - ( -acosf -, (), -__acosf_fš™e -); - -27 #ifdeà -__MATH_DECLARE_LDOUBLE - - -28 #ifdeà -__NO_LONG_DOUBLE_MATH - - -29  -__REDIRECT_NTH - ( -aco¦ -, (), -__acos_fš™e -); - -31  -__REDIRECT_NTH - ( -aco¦ -, (), -__aco¦_fš™e -); - -36 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_ISOC99 - - -38  -__REDIRECT_NTH - ( -acosh -, (), -__acosh_fš™e -); - -40 #ifdeà -__USE_ISOC99 - - -41  -__REDIRECT_NTH - ( -acoshf -, (), -__acoshf_fš™e -); - -42 #ifdeà -__MATH_DECLARE_LDOUBLE - - -43 #ifdeà -__NO_LONG_DOUBLE_MATH - - -44  -__REDIRECT_NTH - ( -acoshl -, (), -__acosh_fš™e -); - -46  -__REDIRECT_NTH - ( -acoshl -, (), -__acoshl_fš™e -); - -52  -__REDIRECT_NTH - ( -asš -, (), -__asš_fš™e -); - -53 #ifdeà -__USE_ISOC99 - - -54  -__REDIRECT_NTH - ( -asšf -, (), -__asšf_fš™e -); - -55 #ifdeà -__MATH_DECLARE_LDOUBLE - - -56 #ifdeà -__NO_LONG_DOUBLE_MATH - - -57  -__REDIRECT_NTH - ( -asšl -, (), -__asš_fš™e -); - -59  -__REDIRECT_NTH - ( -asšl -, (), -__asšl_fš™e -); - -65  -__REDIRECT_NTH - ( -©ª2 -, (, ), -__©ª2_fš™e -); - -66 #ifdeà -__USE_ISOC99 - - -67  -__REDIRECT_NTH - ( -©ª2f -, (, ), -__©ª2f_fš™e -); - -68 #ifdeà -__MATH_DECLARE_LDOUBLE - - -69 #ifdeà -__NO_LONG_DOUBLE_MATH - - -70  -__REDIRECT_NTH - ( -©ª2l -, (, ), - -71 -__©ª2_fš™e -); - -73  -__REDIRECT_NTH - ( -©ª2l -, (, ), - -74 -__©ª2l_fš™e -); - -79 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_ISOC99 - - -81  -__REDIRECT_NTH - ( -©ªh -, (), -__©ªh_fš™e -); - -83 #ifdeà -__USE_ISOC99 - - -84  -__REDIRECT_NTH - ( -©ªhf -, (), -__©ªhf_fš™e -); - -85 #ifdeà -__MATH_DECLARE_LDOUBLE - - -86 #ifdeà -__NO_LONG_DOUBLE_MATH - - -87  -__REDIRECT_NTH - ( -©ªhl -, (), -__©ªh_fš™e -); - -89  -__REDIRECT_NTH - ( -©ªhl -, (), -__©ªhl_fš™e -); - -95  -__REDIRECT_NTH - ( -cosh -, (), -__cosh_fš™e -); - -96 #ifdeà -__USE_ISOC99 - - -97  -__REDIRECT_NTH - ( -coshf -, (), -__coshf_fš™e -); - -98 #ifdeà -__MATH_DECLARE_LDOUBLE - - -99 #ifdeà -__NO_LONG_DOUBLE_MATH - - -100  -__REDIRECT_NTH - ( -coshl -, (), -__cosh_fš™e -); - -102  -__REDIRECT_NTH - ( -coshl -, (), -__coshl_fš™e -); - -108  -__REDIRECT_NTH - ( -exp -, (), -__exp_fš™e -); - -109 #ifdeà -__USE_ISOC99 - - -110  -__REDIRECT_NTH - ( -expf -, (), -__expf_fš™e -); - -111 #ifdeà -__MATH_DECLARE_LDOUBLE - - -112 #ifdeà -__NO_LONG_DOUBLE_MATH - - -113  -__REDIRECT_NTH - ( -ex¶ -, (), -__exp_fš™e -); - -115  -__REDIRECT_NTH - ( -ex¶ -, (), -__ex¶_fš™e -); - -120 #ifdeà -__USE_GNU - - -122  -__REDIRECT_NTH - ( -exp10 -, (), -__exp10_fš™e -); - -123  -__REDIRECT_NTH - ( -exp10f -, (), -__exp10f_fš™e -); - -124 #ifdeà -__MATH_DECLARE_LDOUBLE - - -125 #ifdeà -__NO_LONG_DOUBLE_MATH - - -126  -__REDIRECT_NTH - ( -exp10l -, (), -__exp10_fš™e -); - -128  -__REDIRECT_NTH - ( -exp10l -, (), -__exp10l_fš™e -); - -133  -__REDIRECT_NTH - ( -pow10 -, (), -__exp10_fš™e -); - -134  -__REDIRECT_NTH - ( -pow10f -, (), -__exp10f_fš™e -); - -135 #ifdeà -__MATH_DECLARE_LDOUBLE - - -136 #ifdeà -__NO_LONG_DOUBLE_MATH - - -137  -__REDIRECT_NTH - ( -pow10l -, (), -__exp10_fš™e -); - -139  -__REDIRECT_NTH - ( -pow10l -, (), -__exp10l_fš™e -); - -144 #ifdeà -__USE_ISOC99 - - -146  -__REDIRECT_NTH - ( -exp2 -, (), -__exp2_fš™e -); - -147  -__REDIRECT_NTH - ( -exp2f -, (), -__exp2f_fš™e -); - -148 #ifdeà -__MATH_DECLARE_LDOUBLE - - -149 #ifdeà -__NO_LONG_DOUBLE_MATH - - -150  -__REDIRECT_NTH - ( -exp2l -, (), -__exp2_fš™e -); - -152  -__REDIRECT_NTH - ( -exp2l -, (), -__exp2l_fš™e -); - -158  -__REDIRECT_NTH - ( -fmod -, (, ), -__fmod_fš™e -); - -159 #ifdeà -__USE_ISOC99 - - -160  -__REDIRECT_NTH - ( -fmodf -, (, ), -__fmodf_fš™e -); - -161 #ifdeà -__MATH_DECLARE_LDOUBLE - - -162 #ifdeà -__NO_LONG_DOUBLE_MATH - - -163  -__REDIRECT_NTH - ( -fmodl -, (, ), - -164 -__fmod_fš™e -); - -166  -__REDIRECT_NTH - ( -fmodl -, (, ), - -167 -__fmodl_fš™e -); - -172 #ià -defšed - -__USE_XOPEN - || defšed -__USE_ISOC99 - - -174  -__REDIRECT_NTH - ( -hypÙ -, (, ), -__hypÙ_fš™e -); - -176 #ifdeà -__USE_ISOC99 - - -177  -__REDIRECT_NTH - ( -hypÙf -, (, ), -__hypÙf_fš™e -); - -178 #ifdeà -__MATH_DECLARE_LDOUBLE - - -179 #ifdeà -__NO_LONG_DOUBLE_MATH - - -180  -__REDIRECT_NTH - ( -hypÙl -, (, ), - -181 -__hypÙ_fš™e -); - -183  -__REDIRECT_NTH - ( -hypÙl -, (, ), - -184 -__hypÙl_fš™e -); - -189 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -191  -__REDIRECT_NTH - ( -j0 -, (), -__j0_fš™e -); - -193 #ià -defšed - -__USE_MISC - && defšed -__USE_ISOC99 - - -194  -__REDIRECT_NTH - ( -j0f -, (), -__j0f_fš™e -); - -195 #ifdeà -__MATH_DECLARE_LDOUBLE - - -196 #ifdeà -__NO_LONG_DOUBLE_MATH - - -197  -__REDIRECT_NTH - ( -j0l -, (), -__j0_fš™e -); - -199  -__REDIRECT_NTH - ( -j0l -, (), -__j0l_fš™e -); - -204 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -206  -__REDIRECT_NTH - ( -y0 -, (), -__y0_fš™e -); - -208 #ià -defšed - -__USE_MISC - && defšed -__USE_ISOC99 - - -209  -__REDIRECT_NTH - ( -y0f -, (), -__y0f_fš™e -); - -210 #ifdeà -__MATH_DECLARE_LDOUBLE - - -211 #ifdeà -__NO_LONG_DOUBLE_MATH - - -212  -__REDIRECT_NTH - ( -y0l -, (), -__y0_fš™e -); - -214  -__REDIRECT_NTH - ( -y0l -, (), -__y0l_fš™e -); - -219 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -221  -__REDIRECT_NTH - ( -j1 -, (), -__j1_fš™e -); - -223 #ià -defšed - -__USE_MISC - && defšed -__USE_ISOC99 - - -224  -__REDIRECT_NTH - ( -j1f -, (), -__j1f_fš™e -); - -225 #ifdeà -__MATH_DECLARE_LDOUBLE - - -226 #ifdeà -__NO_LONG_DOUBLE_MATH - - -227  -__REDIRECT_NTH - ( -j1l -, (), -__j1_fš™e -); - -229  -__REDIRECT_NTH - ( -j1l -, (), -__j1l_fš™e -); - -234 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -236  -__REDIRECT_NTH - ( -y1 -, (), -__y1_fš™e -); - -238 #ià -defšed - -__USE_MISC - && defšed -__USE_ISOC99 - - -239  -__REDIRECT_NTH - ( -y1f -, (), -__y1f_fš™e -); - -240 #ifdeà -__MATH_DECLARE_LDOUBLE - - -241 #ifdeà -__NO_LONG_DOUBLE_MATH - - -242  -__REDIRECT_NTH - ( -y1l -, (), -__y1_fš™e -); - -244  -__REDIRECT_NTH - ( -y1l -, (), -__y1l_fš™e -); - -249 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -251  -__REDIRECT_NTH - ( -jn -, (, ), -__jn_fš™e -); - -253 #ià -defšed - -__USE_MISC - && defšed -__USE_ISOC99 - - -254  -__REDIRECT_NTH - ( -jnf -, (, ), -__jnf_fš™e -); - -255 #ifdeà -__MATH_DECLARE_LDOUBLE - - -256 #ifdeà -__NO_LONG_DOUBLE_MATH - - -257  -__REDIRECT_NTH - ( -jÆ -, (, ), -__jn_fš™e -); - -259  -__REDIRECT_NTH - ( -jÆ -, (, ), -__jÆ_fš™e -); - -264 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -266  -__REDIRECT_NTH - ( -yn -, (, ), -__yn_fš™e -); - -268 #ià -defšed - -__USE_MISC - && defšed -__USE_ISOC99 - - -269  -__REDIRECT_NTH - ( -ynf -, (, ), -__ynf_fš™e -); - -270 #ifdeà -__MATH_DECLARE_LDOUBLE - - -271 #ifdeà -__NO_LONG_DOUBLE_MATH - - -272  -__REDIRECT_NTH - ( -yÆ -, (, ), -__yn_fš™e -); - -274  -__REDIRECT_NTH - ( -yÆ -, (, ), -__yÆ_fš™e -); - -279 #ifdeà -__USE_MISC - - -281  -__REDIRECT_NTH - ( -lgamma_r -, (, *), -__lgamma_r_fš™e -); - -282 #ifdeà -__USE_ISOC99 - - -283  -__REDIRECT_NTH - ( -lgammaf_r -, (, *), -__lgammaf_r_fš™e -); - -284 #ifdeà -__MATH_DECLARE_LDOUBLE - - -285 #ifdeà -__NO_LONG_DOUBLE_MATH - - -286  -__REDIRECT_NTH - ( -lgamm®_r -, (, *), - -287 -__lgamma_r_fš™e -); - -289  -__REDIRECT_NTH - ( -lgamm®_r -, (, *), - -290 -__lgamm®_r_fš™e -); - -296  -__lgamma_r_fš™e - (, *); - -297  -__lgammaf_r_fš™e - (, *); - -298 #ifdeà -__NO_LONG_DOUBLE_MATH - - -299  -__REDIRECT_NTH - ( -__lgamm®_r_fš™e -, (, *), - -300 -__lgamma_r_fš™e -); - -302  -__lgamm®_r_fš™e - (, *); - -305 #ià(( -defšed - -__USE_XOPEN - || defšed -__USE_ISOC99 -) \ - -306 && -defšed - - g__ex‹º_®ways_šlše -) - -308 -__ex‹º_®ways_šlše -  -__NTH - ( - $lgamma - ( -__d -)) - -310 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -311  - `__lgamma_r_fš™e - ( -__d -, & -signgam -); - -313  -__loÿl_signgam - = 0; - -314  - `__lgamma_r_fš™e - ( -__d -, & -__loÿl_signgam -); - -316 - } -} - -318 #ià -defšed - -__USE_ISOC99 - && defšed -__ex‹º_®ways_šlše - - -319 -__ex‹º_®ways_šlše -  -__NTH - ( - $lgammaf - ( -__d -)) - -321 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -322  - `__lgammaf_r_fš™e - ( -__d -, & -signgam -); - -324  -__loÿl_signgam - = 0; - -325  - `__lgammaf_r_fš™e - ( -__d -, & -__loÿl_signgam -); - -327 - } -} - -328 #ifdeà -__MATH_DECLARE_LDOUBLE - - -329 -__ex‹º_®ways_šlše -  -__NTH - ( - $lgamm® - ( -__d -)) - -331 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN - - -332  - `__lgamm®_r_fš™e - ( -__d -, & -signgam -); - -334  -__loÿl_signgam - = 0; - -335  - `__lgamm®_r_fš™e - ( -__d -, & -__loÿl_signgam -); - -337 - } -} - -341 #ià(( -defšed - -__USE_MISC - || (defšed -__USE_XOPEN - && !defšed -__USE_XOPEN2K -)) \ - -342 && -defšed - - g__ex‹º_®ways_šlše -) - -344 -__ex‹º_®ways_šlše -  -__NTH - ( - $gamma - ( -__d -)) - -346  - `__lgamma_r_fš™e - ( -__d -, & -signgam -); - -347 - } -} - -348 #ifdeà -__USE_ISOC99 - - -349 -__ex‹º_®ways_šlše -  -__NTH - ( - $gammaf - ( -__d -)) - -351  - `__lgammaf_r_fš™e - ( -__d -, & -signgam -); - -352 - } -} - -353 #ifdeà -__MATH_DECLARE_LDOUBLE - - -354 -__ex‹º_®ways_šlše -  -__NTH - ( - $gamm® - ( -__d -)) - -356  - `__lgamm®_r_fš™e - ( -__d -, & -signgam -); - -357 - } -} - -363  -__REDIRECT_NTH - ( -log -, (), -__log_fš™e -); - -364 #ifdeà -__USE_ISOC99 - - -365  -__REDIRECT_NTH - ( -logf -, (), -__logf_fš™e -); - -366 #ifdeà -__MATH_DECLARE_LDOUBLE - - -367 #ifdeà -__NO_LONG_DOUBLE_MATH - - -368  -__REDIRECT_NTH - ( -logl -, (), -__log_fš™e -); - -370  -__REDIRECT_NTH - ( -logl -, (), -__logl_fš™e -); - -376  -__REDIRECT_NTH - ( -log10 -, (), -__log10_fš™e -); - -377 #ifdeà -__USE_ISOC99 - - -378  -__REDIRECT_NTH - ( -log10f -, (), -__log10f_fš™e -); - -379 #ifdeà -__MATH_DECLARE_LDOUBLE - - -380 #ifdeà -__NO_LONG_DOUBLE_MATH - - -381  -__REDIRECT_NTH - ( -log10l -, (), -__log10_fš™e -); - -383  -__REDIRECT_NTH - ( -log10l -, (), -__log10l_fš™e -); - -388 #ifdeà -__USE_ISOC99 - - -390  -__REDIRECT_NTH - ( -log2 -, (), -__log2_fš™e -); - -391  -__REDIRECT_NTH - ( -log2f -, (), -__log2f_fš™e -); - -392 #ifdeà -__MATH_DECLARE_LDOUBLE - - -393 #ifdeà -__NO_LONG_DOUBLE_MATH - - -394  -__REDIRECT_NTH - ( -log2l -, (), -__log2_fš™e -); - -396  -__REDIRECT_NTH - ( -log2l -, (), -__log2l_fš™e -); - -402  -__REDIRECT_NTH - ( -pow -, (, ), -__pow_fš™e -); - -403 #ifdeà -__USE_ISOC99 - - -404  -__REDIRECT_NTH - ( -powf -, (, ), -__powf_fš™e -); - -405 #ifdeà -__MATH_DECLARE_LDOUBLE - - -406 #ifdeà -__NO_LONG_DOUBLE_MATH - - -407  -__REDIRECT_NTH - ( -powl -, (, ), - -408 -__pow_fš™e -); - -410  -__REDIRECT_NTH - ( -powl -, (, ), - -411 -__powl_fš™e -); - -416 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_ISOC99 - - -418  -__REDIRECT_NTH - ( -»mašd” -, (, ), -__»mašd”_fš™e -); - -420 #ifdeà -__USE_ISOC99 - - -421  -__REDIRECT_NTH - ( -»mašd”f -, (, ), -__»mašd”f_fš™e -); - -422 #ifdeà -__MATH_DECLARE_LDOUBLE - - -423 #ifdeà -__NO_LONG_DOUBLE_MATH - - -424  -__REDIRECT_NTH - ( -»mašd”l -, (, ), - -425 -__»mašd”_fš™e -); - -427  -__REDIRECT_NTH - ( -»mašd”l -, (, ), - -428 -__»mašd”l_fš™e -); - -433 #ià( -defšed - -__USE_MISC - \ - -434 || ( -defšed - - g__USE_XOPEN_EXTENDED - && !defšed - g__USE_XOPEN2K8 -)) - -436  -__REDIRECT_NTH - ( -sÿlb -, (, ), -__sÿlb_fš™e -); - -438 #ià -defšed - -__USE_MISC - && defšed -__USE_ISOC99 - - -439  -__REDIRECT_NTH - ( -sÿlbf -, (, ), -__sÿlbf_fš™e -); - -440 #ifdeà -__MATH_DECLARE_LDOUBLE - - -441 #ifdeà -__NO_LONG_DOUBLE_MATH - - -442  -__REDIRECT_NTH - ( -sÿlbl -, (, ), - -443 -__sÿlb_fš™e -); - -445  -__REDIRECT_NTH - ( -sÿlbl -, (, ), - -446 -__sÿlbl_fš™e -); - -452  -__REDIRECT_NTH - ( -sšh -, (), -__sšh_fš™e -); - -453 #ifdeà -__USE_ISOC99 - - -454  -__REDIRECT_NTH - ( -sšhf -, (), -__sšhf_fš™e -); - -455 #ifdeà -__MATH_DECLARE_LDOUBLE - - -456 #ifdeà -__NO_LONG_DOUBLE_MATH - - -457  -__REDIRECT_NTH - ( -sšhl -, (), -__sšh_fš™e -); - -459  -__REDIRECT_NTH - ( -sšhl -, (), -__sšhl_fš™e -); - -465  -__REDIRECT_NTH - ( -sq¹ -, (), -__sq¹_fš™e -); - -466 #ifdeà -__USE_ISOC99 - - -467  -__REDIRECT_NTH - ( -sq¹f -, (), -__sq¹f_fš™e -); - -468 #ifdeà -__MATH_DECLARE_LDOUBLE - - -469 #ifdeà -__NO_LONG_DOUBLE_MATH - - -470  -__REDIRECT_NTH - ( -sq¹l -, (), -__sq¹_fš™e -); - -472  -__REDIRECT_NTH - ( -sq¹l -, (), -__sq¹l_fš™e -); - -477 #ià -defšed - -__USE_ISOC99 - && defšed -__ex‹º_®ways_šlše - - -479  -__gamma_r_fš™e - (, *); - -480 -__ex‹º_®ways_šlše -  -__NTH - ( - $tgamma - ( -__d -)) - -482  -__loÿl_signgam - = 0; - -483  -__»s - = - `__gamma_r_fš™e - ( -__d -, & -__loÿl_signgam -); - -484  -__loÿl_signgam - < 0 ? - -__»s - : __res; - -485 - } -} - -486  -__gammaf_r_fš™e - (, *); - -487 -__ex‹º_®ways_šlše -  -__NTH - ( - $tgammaf - ( -__d -)) - -489  -__loÿl_signgam - = 0; - -490  -__»s - = - `__gammaf_r_fš™e - ( -__d -, & -__loÿl_signgam -); - -491  -__loÿl_signgam - < 0 ? - -__»s - : __res; - -492 - } -} - -493 #ifdeà -__MATH_DECLARE_LDOUBLE - - -494  -__gamm®_r_fš™e - (, *); - -495 -__ex‹º_®ways_šlše -  -__NTH - ( - $tgamm® - ( -__d -)) - -497  -__loÿl_signgam - = 0; - -498 #ifdeà -__NO_LONG_DOUBLE_MATH - - -499  -__»s - = - `__gamma_r_fš™e - ( -__d -, & -__loÿl_signgam -); - -501  -__»s - = - `__gamm®_r_fš™e - ( -__d -, & -__loÿl_signgam -); - -503  -__loÿl_signgam - < 0 ? - -__»s - : __res; - -504 - } -} - - @/usr/include/bits/math-vector.h - -19 #iâdeà -_MATH_H - - -25  - ~ - -27 #ià -defšed - -__x86_64__ - && defšed -__FAST_MATH__ - - -28 #ià -defšed - -_OPENMP - && _OPENMP >= 201307 - -30  - #__DECL_SIMD_x86_64 - - `_P¿gma - ("om°deþ¬simd‚Ùšb¿nch") - - ) - -31 #–ià -__GNUC_PREREQ - (6,0) - -33  - #__DECL_SIMD_x86_64 - - `__©Œibu‹__ - (( - `__simd__ - ("nٚb¿nch"))) - - ) - -36 #ifdeà -__DECL_SIMD_x86_64 - - -37 #undeà -__DECL_SIMD_cos - - -38  - #__DECL_SIMD_cos - -__DECL_SIMD_x86_64 - - - ) - -39 #undeà -__DECL_SIMD_cosf - - -40  - #__DECL_SIMD_cosf - -__DECL_SIMD_x86_64 - - - ) - -41 #undeà -__DECL_SIMD_sš - - -42  - #__DECL_SIMD_sš - -__DECL_SIMD_x86_64 - - - ) - -43 #undeà -__DECL_SIMD_sšf - - -44  - #__DECL_SIMD_sšf - -__DECL_SIMD_x86_64 - - - ) - -45 #undeà -__DECL_SIMD_sšcos - - -46  - #__DECL_SIMD_sšcos - -__DECL_SIMD_x86_64 - - - ) - -47 #undeà -__DECL_SIMD_sšcosf - - -48  - #__DECL_SIMD_sšcosf - -__DECL_SIMD_x86_64 - - - ) - -49 #undeà -__DECL_SIMD_log - - -50  - #__DECL_SIMD_log - -__DECL_SIMD_x86_64 - - - ) - -51 #undeà -__DECL_SIMD_logf - - -52  - #__DECL_SIMD_logf - -__DECL_SIMD_x86_64 - - - ) - -53 #undeà -__DECL_SIMD_exp - - -54  - #__DECL_SIMD_exp - -__DECL_SIMD_x86_64 - - - ) - -55 #undeà -__DECL_SIMD_expf - - -56  - #__DECL_SIMD_expf - -__DECL_SIMD_x86_64 - - - ) - -57 #undeà -__DECL_SIMD_pow - - -58  - #__DECL_SIMD_pow - -__DECL_SIMD_x86_64 - - - ) - -59 #undeà -__DECL_SIMD_powf - - -60  - #__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š -,, ( -_MdoubË_ - -__x -)); - -58 -__MATHCALL - ( -©ª -,, ( -_MdoubË_ - -__x -)); - -60 -__MATHCALL - ( -©ª2 -,, ( -_MdoubË_ - -__y -, _MdoubË_ -__x -)); - -63 -__MATHCALL_VEC - ( -cos -,, ( -_MdoubË_ - -__x -)); - -65 -__MATHCALL_VEC - ( -sš -,, ( -_MdoubË_ - -__x -)); - -67 -__MATHCALL - ( -n -,, ( -_MdoubË_ - -__x -)); - -72 -__MATHCALL - ( -cosh -,, ( -_MdoubË_ - -__x -)); - -74 -__MATHCALL - ( -sšh -,, ( -_MdoubË_ - -__x -)); - -76 -__MATHCALL - ( -nh -,, ( -_MdoubË_ - -__x -)); - -77 - g_MdoubË_END_NAMESPACE - - -79 #ifdeà -__USE_GNU - - -81 -__MATHDECL_VEC - (, -sšcos -,, - -82 ( -_MdoubË_ - -__x -, _MdoubË_ * -__sšx -, _MdoubË_ * -__cosx -)); - -85 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_ISOC99 - - -86 -__BEGIN_NAMESPACE_C99 - - -88 -__MATHCALL - ( -acosh -,, ( -_MdoubË_ - -__x -)); - -90 -__MATHCALL - ( -asšh -,, ( -_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 -, * -__expڒt -)); - -106 -__MATHCALL - ( -ldexp -,, ( -_MdoubË_ - -__x -,  -__expڒt -)); - -109 -__MATHCALL_VEC - ( -log -,, ( -_MdoubË_ - -__x -)); - -112 -__MATHCALL - ( -log10 -,, ( -_MdoubË_ - -__x -)); - -115 -__MATHCALL - ( -modf -,, ( -_MdoubË_ - -__x -, _MdoubË_ * -__Œ -)è -__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šed - -__USE_XOPEN_EXTENDED - || defšed -__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šed - -__USE_XOPEN - || defšed -__USE_ISOC99 - - -160 -__BEGIN_NAMESPACE_C99 - - -162 -__MATHCALL - ( -hypÙ -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__y -)); - -163 - g__END_NAMESPACE_C99 - - -166 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_ISOC99 - - -167 -__BEGIN_NAMESPACE_C99 - - -169 -__MATHCALL - ( -cb¹ -,, ( -_MdoubË_ - -__x -)); - -170 - g__END_NAMESPACE_C99 - - -176 -_MdoubË_BEGIN_NAMESPACE - - -178 -__MATHCALLX - ( -ûž -,, ( -_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 - (, -__isšf -,, ( -_MdoubË_ - -__v®ue -)è -__©Œibu‹__ - (( -__cÚ¡__ -)); - -195 -__MATHDECL_1 - (, -__fš™e -,, ( -_MdoubË_ - -__v®ue -)è -__©Œibu‹__ - (( -__cÚ¡__ -)); - -196 - g_MdoubË_END_NAMESPACE - - -198 #ifdeà -__USE_MISC - - -199 #ià(! -defšed - -__ýlu¥lus - \ - -200 || - g__ýlu¥lus - < 201103L \ - -201 || - g__MATH_DECLARING_DOUBLE - == 0) - -204 -__MATHDECL_1 - (, -isšf -,, ( -_MdoubË_ - -__v®ue -)è -__©Œibu‹__ - (( -__cÚ¡__ -)); - -208 -__MATHDECL_1 - (, -fš™e -,, ( -_MdoubË_ - -__v®ue -)è -__©Œibu‹__ - (( -__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Ú¡ * -__gb -), ( -__cÚ¡__ -)); - -229 - g__END_NAMESPACE_C99 - - -234 -__MATHDECL_1 - (, -__i¢ª -,, ( -_MdoubË_ - -__v®ue -)è -__©Œibu‹__ - (( -__cÚ¡__ -)); - -236 #ià -defšed - -__USE_MISC - || (defšed -__USE_XOPEN - && !defšed -__USE_XOPEN2K -) - -237 #ià(! -defšed - -__ýlu¥lus - \ - -238 || - g__ýlu¥lus - < 201103L \ - -239 || - g__MATH_DECLARING_DOUBLE - == 0) - -241 -__MATHDECL_1 - (, -i¢ª -,, ( -_MdoubË_ - -__v®ue -)è -__©Œibu‹__ - (( -__cÚ¡__ -)); - -245 #ià -defšed - -__USE_MISC - || (defšed -__USE_XOPEN - && -__MATH_DECLARING_DOUBLE -) - -247 -__MATHCALL - ( -j0 -,, ( -_MdoubË_ -)); - -248 -__MATHCALL - ( -j1 -,, ( -_MdoubË_ -)); - -249 -__MATHCALL - ( -jn -,, (, -_MdoubË_ -)); - -250 -__MATHCALL - ( -y0 -,, ( -_MdoubË_ -)); - -251 -__MATHCALL - ( -y1 -,, ( -_MdoubË_ -)); - -252 -__MATHCALL - ( -yn -,, (, -_MdoubË_ -)); - -256 #ià -defšed - -__USE_XOPEN - || defšed -__USE_ISOC99 - - -257 -__BEGIN_NAMESPACE_C99 - - -259 -__MATHCALL - ( -”f -,, ( -_MdoubË_ -)); - -260 -__MATHCALL - ( -”fc -,, ( -_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šed - -__USE_MISC - || (defšed -__USE_XOPEN - && !defšed -__USE_XOPEN2K -) - -274 -__MATHCALL - ( -gamma -,, ( -_MdoubË_ -)); - -277 #ifdeà -__USE_MISC - - -281 -__MATHCALL - ( -lgamma -, -_r -, ( -_MdoubË_ -, * -__signgamp -)); - -285 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_ISOC99 - - -286 -__BEGIN_NAMESPACE_C99 - - -289 -__MATHCALL - ( -ršt -,, ( -_MdoubË_ - -__x -)); - -292 -__MATHCALLX - ( -Ãxá” -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__y -), ( -__cÚ¡__ -)); - -293 #ià -defšed - -__USE_ISOC99 - && !defšed -__LDBL_COMPAT - - -294 -__MATHCALLX - ( -Ãx‰ow¬d -,, ( -_MdoubË_ - -__x -,  -__y -), ( -__cÚ¡__ -)); - -298 -__MATHCALL - ( -»mašd” -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__y -)); - -300 #ifdeà -__USE_ISOC99 - - -302 -__MATHCALL - ( -sÿlbn -,, ( -_MdoubË_ - -__x -,  -__n -)); - -306 -__MATHDECL - (, -žogb -,, ( -_MdoubË_ - -__x -)); - -309 #ifdeà -__USE_ISOC99 - - -311 -__MATHCALL - ( -sÿlbÊ -,, ( -_MdoubË_ - -__x -,  -__n -)); - -315 -__MATHCALL - ( -ìbyšt -,, ( -_MdoubË_ - -__x -)); - -319 -__MATHCALLX - ( -round -,, ( -_MdoubË_ - -__x -), ( -__cÚ¡__ -)); - -323 -__MATHCALLX - ( -Œunc -,, ( -_MdoubË_ - -__x -), ( -__cÚ¡__ -)); - -328 -__MATHCALL - ( -»mquo -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__y -, * -__quo -)); - -335 -__MATHDECL - (, -̚t -,, ( -_MdoubË_ - -__x -)); - -336 -__ex‹nsiÚ__ - - -337 -__MATHDECL - (, -Îršt -,, ( -_MdoubË_ - -__x -)); - -341 -__MATHDECL - (, -Ìound -,, ( -_MdoubË_ - -__x -)); - -342 -__ex‹nsiÚ__ - - -343 -__MATHDECL - (, -Îround -,, ( -_MdoubË_ - -__x -)); - -347 -__MATHCALL - ( -fdim -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__y -)); - -350 -__MATHCALLX - ( -fmax -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__y -), ( -__cÚ¡__ -)); - -353 -__MATHCALLX - ( -fmš -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__y -), ( -__cÚ¡__ -)); - -357 -__MATHDECL_1 - (, -__åþassify -,, ( -_MdoubË_ - -__v®ue -)) - -358 -__©Œibu‹__ - (( -__cÚ¡__ -)); - -361 -__MATHDECL_1 - (, -__signb™ -,, ( -_MdoubË_ - -__v®ue -)) - -362 -__©Œibu‹__ - (( -__cÚ¡__ -)); - -366 -__MATHCALL - ( -fma -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__y -, _MdoubË_ -__z -)); - -369 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_ISOC99 - - -370 - g__END_NAMESPACE_C99 - - -373 #ifdeà -__USE_GNU - - -375 -__MATHDECL_1 - (, -__issigÇlšg -,, ( -_MdoubË_ - -__v®ue -)) - -376 -__©Œibu‹__ - (( -__cÚ¡__ -)); - -379 #ià -defšed - -__USE_MISC - || (defšed -__USE_XOPEN_EXTENDED - \ - -380 && - g__MATH_DECLARING_DOUBLE - \ - -381 && ! -defšed - - g__USE_XOPEN2K8 -) - -383 -__MATHCALL - ( -sÿlb -,, ( -_MdoubË_ - -__x -, _MdoubË_ -__n -)); - - @/usr/include/bits/mathdef.h - -18 #ià! -defšed - -_MATH_H - && !defšed -_COMPLEX_H - - -22 #ià -defšed - -__USE_ISOC99 - && defšed -_MATH_H - && !defšed -_MATH_H_MATHDEF - - -23  - #_MATH_H_MATHDEF - 1 - - ) - -25 #ià -defšed - -__x86_64__ - || (defšed -__FLT_EVAL_METHOD__ - && __FLT_EVAL_METHOD__ == 0) - -28  - tæßt_t -; - -29  - tdoubË_t -; - -35  - tæßt_t -; - -37  - tdoubË_t -; - -42  - #FP_ILOGB0 - (-2147483647 - 1) - - ) - -43  - #FP_ILOGBNAN - (-2147483647 - 1) - - ) - -47 #ifdeà -__FP_FAST_FMA - - -48  - #FP_FAST_FMA - 1 - - ) - -51 #ifdeà -__FP_FAST_FMAF - - -52  - #FP_FAST_FMAF - 1 - - ) - -55 #ifdeà -__FP_FAST_FMAL - - -56  - #FP_FAST_FMAL - 1 - - ) - - @/usr/include/bits/mathinline.h - -19 #iâdeà -_MATH_H - - -23 #iâdeà -__ex‹º_®ways_šlše - - -24  - #__MATH_INLINE - -__šlše - - - ) - -26  - #__MATH_INLINE - -__ex‹º_®ways_šlše - - - ) - -30 #ià -defšed - -__USE_ISOC99 - && defšed -__GNUC__ - && __GNUC__ >= 2 - -32 #ià! -__GNUC_PREREQ - (2,97) - -37 #undeà -isg»©” - - -38 #undeà -isg»©”equ® - - -39 #undeà -i¦ess - - -40 #undeà -i¦es£qu® - - -41 #undeà -i¦essg»©” - - -42 #undeà -isunÜd”ed - - -43 #ifdeà -__i686__ - - -46  - #isg»©” -( -x -, -y -) \ - -47 ({  -__»suÉ -; \ - -48 - `__asm__ - ("fucomip %%st(1), %%st; seta %%al" \ - -49 : "÷" ( -__»suÉ -è: "u" ( -y -), "t" ( -x -) : "cc", "st"); \ - -50 -__»suÉ -; }) - - ) - -51  - #isg»©”equ® -( -x -, -y -) \ - -52 ({  -__»suÉ -; \ - -53 - `__asm__ - ("fucomip %%st(1), %%st; setae %%al" \ - -54 : "÷" ( -__»suÉ -è: "u" ( -y -), "t" ( -x -) : "cc", "st"); \ - -55 -__»suÉ -; }) - - ) - -57  - #i¦ess -( -x -, -y -) \ - -58 ({  -__»suÉ -; \ - -59 - `__asm__ - ("fucomip %%st(1), %%st; seta %%al" \ - -60 : "÷" ( -__»suÉ -è: "u" ( -x -), "t" ( -y -) : "cc", "st"); \ - -61 -__»suÉ -; }) - - ) - -63  - #i¦es£qu® -( -x -, -y -) \ - -64 ({  -__»suÉ -; \ - -65 - `__asm__ - ("fucomip %%st(1), %%st; setae %%al" \ - -66 : "÷" ( -__»suÉ -è: "u" ( -x -), "t" ( -y -) : "cc", "st"); \ - -67 -__»suÉ -; }) - - ) - -69  - #i¦essg»©” -( -x -, -y -) \ - -70 ({  -__»suÉ -; \ - -71 - `__asm__ - ("fucomip %%st(1), %%st; setne %%al" \ - -72 : "÷" ( -__»suÉ -è: "u" ( -y -), "t" ( -x -) : "cc", "st"); \ - -73 -__»suÉ -; }) - - ) - -75  - #isunÜd”ed -( -x -, -y -) \ - -76 ({  -__»suÉ -; \ - -77 - `__asm__ - ("fucomip %%st(1), %%st; setp %%al" \ - -78 : "÷" ( -__»suÉ -è: "u" ( -y -), "t" ( -x -) : "cc", "st"); \ - -79 -__»suÉ -; }) - - ) - -82  - #isg»©” -( -x -, -y -) \ - -83 ({  -__»suÉ -; \ - -84 - `__asm__ - ("fucompp; fnstsw;estb $0x45, %%ah; setz %%al" \ - -85 : "÷" ( -__»suÉ -è: "u" ( -y -), "t" ( -x -) : "cc", "st", "st(1)"); \ - -86 -__»suÉ -; }) - - ) - -88  - #isg»©”equ® -( -x -, -y -) \ - -89 ({  -__»suÉ -; \ - -90 - `__asm__ - ("fucompp; fnstsw;estb $0x05, %%ah; setz %%al" \ - -91 : "÷" ( -__»suÉ -è: "u" ( -y -), "t" ( -x -) : "cc", "st", "st(1)"); \ - -92 -__»suÉ -; }) - - ) - -94  - #i¦ess -( -x -, -y -) \ - -95 ({  -__»suÉ -; \ - -96 - `__asm__ - ("fucompp; fnstsw;estb $0x45, %%ah; setz %%al" \ - -97 : "÷" ( -__»suÉ -è: "u" ( -x -), "t" ( -y -) : "cc", "st", "st(1)"); \ - -98 -__»suÉ -; }) - - ) - -100  - #i¦es£qu® -( -x -, -y -) \ - -101 ({  -__»suÉ -; \ - -102 - `__asm__ - ("fucompp; fnstsw;estb $0x05, %%ah; setz %%al" \ - -103 : "÷" ( -__»suÉ -è: "u" ( -x -), "t" ( -y -) : "cc", "st", "st(1)"); \ - -104 -__»suÉ -; }) - - ) - -106  - #i¦essg»©” -( -x -, -y -) \ - -107 ({  -__»suÉ -; \ - -108 - `__asm__ - ("fucompp; fnstsw;estb $0x44, %%ah; setz %%al" \ - -109 : "÷" ( -__»suÉ -è: "u" ( -y -), "t" ( -x -) : "cc", "st", "st(1)"); \ - -110 -__»suÉ -; }) - - ) - -112  - #isunÜd”ed -( -x -, -y -) \ - -113 ({  -__»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 -  - -127 -__NTH - ( - $__signb™f - ( -__x -)) - -129 #ifdeà -__SSE2_MATH__ - - -130  -__m -; - -131 - `__asm - ("pmovmskb %1, %0" : "ô" ( -__m -è: "x" ( -__x -)); - -132  ( -__m - & 0x8) != 0; - -134 -__ex‹nsiÚ__ - uniÚ {  -__f -;  -__i -; } -__u - = { __f: -__x - }; - -135  -__u -. -__i - < 0; - -137 - } -} - -138 -__MATH_INLINE -  - -139 -__NTH - ( - $__signb™ - ( -__x -)) - -141 #ifdeà -__SSE2_MATH__ - - -142  -__m -; - -143 - `__asm - ("pmovmskb %1, %0" : "ô" ( -__m -è: "x" ( -__x -)); - -144  ( -__m - & 0x80) != 0; - -146 -__ex‹nsiÚ__ - uniÚ {  -__d -;  -__i -[2]; } -__u - = { __d: -__x - }; - -147  -__u -. -__i -[1] < 0; - -149 - } -} - -150 -__MATH_INLINE -  - -151 -__NTH - ( - $__signb™l - ( -__x -)) - -153 -__ex‹nsiÚ__ - uniÚ {  -__l -;  -__i -[3]; } -__u - = { __l: -__x - }; - -154  ( -__u -. -__i -[2] & 0x8000) != 0; - -155 - } -} - -157 - g__END_NAMESPACE_C99 - - -164 #ià -__GNUC_PREREQ - (2, 8) - -165 #ià! -__GNUC_PREREQ - (3, 4è&& ! -defšed - -__NO_MATH_INLINES - \ - -166 && -defšed - - g__OPTIMIZE__ - - -170 #ifdeà -__USE_ISOC99 - - -171 - g__BEGIN_NAMESPACE_C99 - - -174 #ifdeà -__SSE_MATH__ - - -175 -__MATH_INLINE -  - -176 -__NTH - ( - $̚tf - ( -__x -)) - -178  -__»s -; - -183 -__asm - - `__vÞ©že__ - ("cvtss2s˜%1, %0" : "ô" ( -__»s -è: "xm" ( -__x -)); - -184  -__»s -; - -185 - } -} - -187 #ifdeà -__SSE2_MATH__ - - -188 -__MATH_INLINE -  - -189 -__NTH - ( - $̚t - ( -__x -)) - -191  -__»s -; - -196 -__asm - - `__vÞ©že__ - ("cvtsd2s˜%1, %0" : "ô" ( -__»s -è: "xm" ( -__x -)); - -197  -__»s -; - -198 - } -} - -200 #ifdeà -__x86_64__ - - -201 -__ex‹nsiÚ__ - - -202 -__MATH_INLINE -  - -203 -__NTH - ( - $Îrštf - ( -__x -)) - -205  -__»s -; - -210 -__asm - - `__vÞ©že__ - ("cvtss2s˜%1, %0" : "ô" ( -__»s -è: "xm" ( -__x -)); - -211  -__»s -; - -212 - } -} - -213 -__ex‹nsiÚ__ - - -214 -__MATH_INLINE -  - -215 -__NTH - ( - $Îršt - ( -__x -)) - -217  -__»s -; - -222 -__asm - - `__vÞ©že__ - ("cvtsd2s˜%1, %0" : "ô" ( -__»s -è: "xm" ( -__x -)); - -223  -__»s -; - -224 - } -} - -227 #ià -defšed - -__FINITE_MATH_ONLY__ - && __FINITE_MATH_ONLY__ > 0 \ - -228 && -defšed - -__SSE2_MATH__ - - -230 -__MATH_INLINE -  - -231 -__NTH - ( - $fmaxf - ( -__x -,  -__y -)) - -233 #ifdeà -__AVX__ - - -234  -__»s -; - -235 - `__asm - ("vmaxs %2, %1, %0" : "=x" ( -__»s -è: "x" ( -x -), "xm" ( -__y -)); - -236  -__»s -; - -238 - `__asm - ("maxs %1, %0" : "+x" ( -__x -è: "xm" ( -__y -)); - -239  -__x -; - -241 - } -} - -242 -__MATH_INLINE -  - -243 -__NTH - ( - $fmax - ( -__x -,  -__y -)) - -245 #ifdeà -__AVX__ - - -246  -__»s -; - -247 - `__asm - ("vmaxsd %2, %1, %0" : "=x" ( -__»s -è: "x" ( -x -), "xm" ( -__y -)); - -248  -__»s -; - -250 - `__asm - ("maxsd %1, %0" : "+x" ( -__x -è: "xm" ( -__y -)); - -251  -__x -; - -253 - } -} - -256 -__MATH_INLINE -  - -257 -__NTH - ( - $fmšf - ( -__x -,  -__y -)) - -259 #ifdeà -__AVX__ - - -260  -__»s -; - -261 - `__asm - ("vmšs %2, %1, %0" : "=x" ( -__»s -è: "x" ( -x -), "xm" ( -__y -)); - -262  -__»s -; - -264 - `__asm - ("mšs %1, %0" : "+x" ( -__x -è: "xm" ( -__y -)); - -265  -__x -; - -267 - } -} - -268 -__MATH_INLINE -  - -269 -__NTH - ( - $fmš - ( -__x -,  -__y -)) - -271 #ifdeà -__AVX__ - - -272  -__»s -; - -273 - `__asm - ("vmšsd %2, %1, %0" : "=x" ( -__»s -è: "x" ( -x -), "xm" ( -__y -)); - -274  -__»s -; - -276 - `__asm - ("mšsd %1, %0" : "+x" ( -__x -è: "xm" ( -__y -)); - -277  -__x -; - -279 - } -} - -282 - g__END_NAMESPACE_C99 - - -285 #ià -defšed - -__SSE4_1__ - && defšed -__SSE2_MATH__ - - -286 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_ISOC99 - - -287 -__BEGIN_NAMESPACE_C99 - - -290 -__MATH_INLINE -  - -291 -__NTH - ( - $ršt - ( -__x -)) - -293  -__»s -; - -298 -__asm - - `__vÞ©že__ - ("roundsd $4, %1, %0" : "=x" ( -__»s -è: "xm" ( -__x -)); - -299  -__»s -; - -300 - } -} - -301 -__MATH_INLINE -  - -302 -__NTH - ( - $rštf - ( -__x -)) - -304  -__»s -; - -309 -__asm - - `__vÞ©že__ - ("rounds $4, %1, %0" : "=x" ( -__»s -è: "xm" ( -__x -)); - -310  -__»s -; - -311 - } -} - -313 #ifdeà -__USE_ISOC99 - - -315 -__MATH_INLINE -  - -316 -__NTH - ( - $ìbyšt - ( -__x -)) - -318  -__»s -; - -323 -__asm - - `__vÞ©že__ - ("roundsd $0xc, %1, %0" : "=x" ( -__»s -è: "xm" ( -__x -)); - -324  -__»s -; - -325 - } -} - -326 -__MATH_INLINE -  - -327 -__NTH - ( - $ìbyštf - ( -__x -)) - -329  -__»s -; - -334 -__asm - - `__vÞ©že__ - ("rounds $0xc, %1, %0" : "=x" ( -__»s -è: "xm" ( -__x -)); - -335  -__»s -; - -336 - } -} - -339 - g__END_NAMESPACE_C99 - - -342 -__BEGIN_NAMESPACE_STD - - -344 -__MATH_INLINE -  - -345 -__NTH - ( - $ûž - ( -__x -)) - -347  -__»s -; - -348 - `__asm - ("roundsd $2, %1, %0" : "=x" ( -__»s -è: "xm" ( -__x -)); - -349  -__»s -; - -350 - } -} - -351 -__END_NAMESPACE_STD - - -353 -__BEGIN_NAMESPACE_C99 - - -354 -__MATH_INLINE -  - -355 -__NTH - ( - $ûžf - ( -__x -)) - -357  -__»s -; - -358 - `__asm - ("rounds $2, %1, %0" : "=x" ( -__»s -è: "xm" ( -__x -)); - -359  -__»s -; - -360 - } -} - -361 -__END_NAMESPACE_C99 - - -363 -__BEGIN_NAMESPACE_STD - - -365 -__MATH_INLINE -  - -366 -__NTH - ( - $æoÜ - ( -__x -)) - -368  -__»s -; - -369 - `__asm - ("roundsd $1, %1, %0" : "=x" ( -__»s -è: "xm" ( -__x -)); - -370  -__»s -; - -371 - } -} - -372 -__END_NAMESPACE_STD - - -374 -__BEGIN_NAMESPACE_C99 - - -375 -__MATH_INLINE -  - -376 -__NTH - ( - $æoÜf - ( -__x -)) - -378  -__»s -; - -379 - `__asm - ("rounds $1, %1, %0" : "=x" ( -__»s -è: "xm" ( -__x -)); - -380  -__»s -; - -381 - } -} - -382 - g__END_NAMESPACE_C99 - - -390 #ià! -defšed - -__SSE2_MATH__ - && !defšed -__x86_64__ - - -391 #ià((! -defšed - -__NO_MATH_INLINES - || defšed -__LIBC_INTERNAL_MATH_INLINES -) \ - -392 && -defšed - - g__OPTIMIZE__ -) - -396 #undeà -m©h_”rhªdlšg - - -405 #ifdeà -__USE_ISOC99 - - -406  - #__šlše_m©hÝ -( -func -, -Ý -) \ - -407 - `__šlše_m©hÝ_ - (, -func -, -Ý -) \ - -408 - `__šlše_m©hÝ_ - (, - `__CONCAT -( -func -, -f -), -Ý -) \ - -409 - `__šlše_m©hÝ_ - (, - `__CONCAT -( -func -, -l -), -Ý -) - - ) - -410  - #__šlše_m©hÝNP -( -func -, -Ý -) \ - -411 - `__šlše_m©hÝNP_ - (, -func -, -Ý -) \ - -412 - `__šlše_m©hÝNP_ - (, - `__CONCAT -( -func -, -f -), -Ý -) \ - -413 - `__šlše_m©hÝNP_ - (, - `__CONCAT -( -func -, -l -), -Ý -) - - ) - -415  - #__šlše_m©hÝ -( -func -, -Ý -) \ - -416 - `__šlše_m©hÝ_ - (, -func -, -Ý -) - - ) - -417  - #__šlše_m©hÝNP -( -func -, -Ý -) \ - -418 - `__šlše_m©hÝNP_ - (, -func -, -Ý -) - - ) - -421  - #__šlše_m©hÝ_ -( -æßt_ty³ -, -func -, -Ý -) \ - -422 - `__šlše_m©hÝ_deþ_ - ( -æßt_ty³ -, -func -, -Ý -, "0" ( -__x -)) - - ) - -423  - #__šlše_m©hÝNP_ -( -æßt_ty³ -, -func -, -Ý -) \ - -424 - `__šlše_m©hÝ_deþNP_ - ( -æßt_ty³ -, -func -, -Ý -, "0" ( -__x -)) - - ) - -427 #ifdeà -__USE_ISOC99 - - -428  - #__šlše_m©hÝ_deþ -( -func -, -Ý -, -·¿ms -...) \ - -429 - `__šlše_m©hÝ_deþ_ - (, -func -, -Ý -, -·¿ms -) \ - -430 - `__šlše_m©hÝ_deþ_ - (, - `__CONCAT -( -func -, -f -), -Ý -, -·¿ms -) \ - -431 - `__šlše_m©hÝ_deþ_ - (, - `__CONCAT -( -func -, -l -), -Ý -, -·¿ms -) - - ) - -432  - #__šlše_m©hÝ_deþNP -( -func -, -Ý -, -·¿ms -...) \ - -433 - `__šlše_m©hÝ_deþNP_ - (, -func -, -Ý -, -·¿ms -) \ - -434 - `__šlše_m©hÝ_deþNP_ - (, - `__CONCAT -( -func -, -f -), -Ý -, -·¿ms -) \ - -435 - `__šlše_m©hÝ_deþNP_ - (, - `__CONCAT -( -func -, -l -), -Ý -, -·¿ms -) - - ) - -437  - #__šlše_m©hÝ_deþ -( -func -, -Ý -, -·¿ms -...) \ - -438 - `__šlše_m©hÝ_deþ_ - (, -func -, -Ý -, -·¿ms -) - - ) - -439  - #__šlše_m©hÝ_deþNP -( -func -, -Ý -, -·¿ms -...) \ - -440 - `__šlše_m©hÝ_deþNP_ - (, -func -, -Ý -, -·¿ms -) - - ) - -443  - #__šlše_m©hÝ_deþ_ -( -æßt_ty³ -, -func -, -Ý -, -·¿ms -...) \ - -444 -__MATH_INLINE - -æßt_ty³ - - `func - (æßt_ty³è -__THROW -; \ - -445 - `__šlše_m©hÝ_deþNP_ - ( -æßt_ty³ -, -func -, -Ý -, -·¿ms -) - - ) - -447  - #__šlše_m©hÝ_deþNP_ -( -æßt_ty³ -, -func -, -Ý -, -·¿ms -...) \ - -448 -__MATH_INLINE - -æßt_ty³ - - `__NTH - ( - `func - (æßt_ty³ -__x -)) \ - -450  -æßt_ty³ - -__»suÉ -; \ - -451 -__asm - - `__vÞ©že__ - ( -Ý - : "ñ" ( -__»suÉ -è: -·¿ms -); \ - -452  -__»suÉ -; \ - -453 } - - ) - -456 #ifdeà -__USE_ISOC99 - - -457  - #__šlše_m©hcode -( -func -, -¬g -, -code -) \ - -458 - `__šlše_m©hcode_ - (, -func -, -¬g -, -code -) \ - -459 - `__šlše_m©hcode_ - (, - `__CONCAT -( -func -, -f -), -¬g -, -code -) \ - -460 - `__šlše_m©hcode_ - (, - `__CONCAT -( -func -, -l -), -¬g -, -code -) - - ) - -461  - #__šlše_m©hcodeNP -( -func -, -¬g -, -code -) \ - -462 - `__šlše_m©hcodeNP_ - (, -func -, -¬g -, -code -) \ - -463 - `__šlše_m©hcodeNP_ - (, - `__CONCAT -( -func -, -f -), -¬g -, -code -) \ - -464 - `__šlše_m©hcodeNP_ - (, - `__CONCAT -( -func -, -l -), -¬g -, -code -) - - ) - -465  - #__šlše_m©hcode2 -( -func -, -¬g1 -, -¬g2 -, -code -) \ - -466 - `__šlše_m©hcode2_ - (, -func -, -¬g1 -, -¬g2 -, -code -) \ - -467 - `__šlše_m©hcode2_ - (, - `__CONCAT -( -func -, -f -), -¬g1 -, -¬g2 -, -code -) \ - -468 - `__šlše_m©hcode2_ - (, - `__CONCAT -( -func -, -l -), -¬g1 -, -¬g2 -, -code -) - - ) - -469  - #__šlše_m©hcodeNP2 -( -func -, -¬g1 -, -¬g2 -, -code -) \ - -470 - `__šlše_m©hcodeNP2_ - (, -func -, -¬g1 -, -¬g2 -, -code -) \ - -471 - `__šlše_m©hcodeNP2_ - (, - `__CONCAT -( -func -, -f -), -¬g1 -, -¬g2 -, -code -) \ - -472 - `__šlše_m©hcodeNP2_ - (, - `__CONCAT -( -func -, -l -), -¬g1 -, -¬g2 -, -code -) - - ) - -473  - #__šlše_m©hcode3 -( -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) \ - -474 - `__šlše_m©hcode3_ - (, -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) \ - -475 - `__šlše_m©hcode3_ - (, - `__CONCAT -( -func -, -f -), -¬g1 -, -¬g2 -, -¬g3 -, -code -) \ - -476 - `__šlše_m©hcode3_ - (, - `__CONCAT -( -func -, -l -), -¬g1 -, -¬g2 -, -¬g3 -, -code -) - - ) - -477  - #__šlše_m©hcodeNP3 -( -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) \ - -478 - `__šlše_m©hcodeNP3_ - (, -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) \ - -479 - `__šlše_m©hcodeNP3_ - (, - `__CONCAT -( -func -, -f -), -¬g1 -, -¬g2 -, -¬g3 -, -code -) \ - -480 - `__šlše_m©hcodeNP3_ - (, - `__CONCAT -( -func -, -l -), -¬g1 -, -¬g2 -, -¬g3 -, -code -) - - ) - -482  - #__šlše_m©hcode -( -func -, -¬g -, -code -) \ - -483 - `__šlše_m©hcode_ - (, -func -, ( -¬g -), -code -) - - ) - -484  - #__šlše_m©hcodeNP -( -func -, -¬g -, -code -) \ - -485 - `__šlše_m©hcodeNP_ - (, -func -, ( -¬g -), -code -) - - ) - -486  - #__šlše_m©hcode2 -( -func -, -¬g1 -, -¬g2 -, -code -) \ - -487 - `__šlše_m©hcode2_ - (, -func -, -¬g1 -, -¬g2 -, -code -) - - ) - -488  - #__šlše_m©hcodeNP2 -( -func -, -¬g1 -, -¬g2 -, -code -) \ - -489 - `__šlše_m©hcodeNP2_ - (, -func -, -¬g1 -, -¬g2 -, -code -) - - ) - -490  - #__šlše_m©hcode3 -( -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) \ - -491 - `__šlše_m©hcode3_ - (, -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) - - ) - -492  - #__šlše_m©hcodeNP3 -( -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) \ - -493 - `__šlše_m©hcodeNP3_ - (, -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) - - ) - -496  - #__šlše_m©hcode_ -( -æßt_ty³ -, -func -, -¬g -, -code -) \ - -497 -__MATH_INLINE - -æßt_ty³ - - `func - (æßt_ty³è -__THROW -; \ - -498 - `__šlše_m©hcodeNP_ -( -æßt_ty³ -, -func -, -¬g -, -code -) - - ) - -500  - #__šlše_m©hcodeNP_ -( -æßt_ty³ -, -func -, -¬g -, -code -) \ - -501 -__MATH_INLINE - -æßt_ty³ - - `__NTH - ( - `func - (æßt_ty³ -¬g -)) \ - -503 -code -; \ - -504 } - - ) - -507  - #__šlše_m©hcode2_ -( -æßt_ty³ -, -func -, -¬g1 -, -¬g2 -, -code -) \ - -508 -__MATH_INLINE - -æßt_ty³ - - `func - (æßt_ty³, flßt_ty³è -__THROW -; \ - -509 - `__šlše_m©hcodeNP2_ - ( -æßt_ty³ -, -func -, -¬g1 -, -¬g2 -, -code -) - - ) - -511  - #__šlše_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  - #__šlše_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 - `__šlše_m©hcodeNP3_ -( -æßt_ty³ -, -func -, -¬g1 -, -¬g2 -, -¬g3 -, -code -) - - ) - -521  - #__šlše_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šed - -__NO_MATH_INLINES - && defšed -__OPTIMIZE__ - - -534 #ifdeà -__FAST_MATH__ - - -535 #ifdeà -__USE_GNU - - -536  - #__sšcos_code - \ - -537  -__co¤ -; \ - -538  -__sšr -; \ - -539  -__swtmp -; \ - -540 -__asm - -__vÞ©že__ - \ - -555 : "ñ" ( -__co¤ -), "=u" ( -__sšr -), "÷" ( -__swtmp -è: "0" ( -__x -)); \ - -556 * -__sšx - = -__sšr -; \ - -557 * -__cosx - = -__co¤ - - - ) - -559 -__MATH_INLINE -  - -560 -__NTH - ( - $__sšcos - ( -__x -, * -__sšx -, * -__cosx -)) - -562 -__sšcos_code -; - -563 - } -} - -565 -__MATH_INLINE -  - -566 -__NTH - ( - $__sšcosf - ( -__x -, * -__sšx -, * -__cosx -)) - -568 -__sšcos_code -; - -569 - } -} - -571 -__MATH_INLINE -  - -572 -__NTH - ( - $__sšco¦ - ( -__x -, * -__sšx -, * -__cosx -)) - -574 -__sšcos_code -; - -575 - } -} - -582 #ià -__GNUC_PREREQ - (3, 5) - -583  - #__expm1_code - \ - -584  -__‹mp -; \ - -585 -__‹mp - = - `__bužtš_expm1l - ( -__x -); \ - -586  -__‹mp - ? __‹m°: -__x - - - ) - -588  - #__expm1_code - \ - -589  -__v®ue -; \ - -590  -__expڒt -; \ - -591  -__‹mp -; \ - -592 -__asm - -__vÞ©že__ - \ - -601 : "ñ" ( -__v®ue -), "=u" ( -__expڒt -è: "0" ( -__x -)); \ - -602 -__asm - -__vÞ©že__ - \ - -604 : "ñ" ( -__‹mp -è: "0" (1.0), "u" ( -__expڒt -)); \ - -605 -__‹mp - -= 1.0; \ - -606 -__‹mp - +ð -__v®ue -; \ - -607  -__‹mp - ? __‹m°: -__x - - - ) - -609 - $__šlše_m©hcodeNP_ - (, -__expm1l -, -__x -, -__expm1_code -) - -611 #ià - `__GNUC_PREREQ - (3, 4) - -612 - `__šlše_m©hcodeNP_ - (, -__ex¶ -, -__x -,  - $__bužtš_ex¶ - ( -__x -)) - -614  - #__exp_code - \ - -615  -__v®ue -; \ - -616  -__expڒt -; \ - -617 -__asm - -__vÞ©že__ - \ - -625 : "ñ" ( -__v®ue -), "=u" ( -__expڒt -è: "0" ( -__x -)); \ - -626 -__v®ue - += 1.0; \ - -627 -__asm - -__vÞ©že__ - \ - -629 : "ñ" ( -__v®ue -è: "0" (__v®ue), "u" ( -__expڒt -)); \ - -630  -__v®ue - - - ) - -631 - $__šlše_m©hcodeNP - ( -exp -, -__x -, -__exp_code -) - -632 - $__šlše_m©hcodeNP_ - (, -__ex¶ -, -__x -, -__exp_code -) - -636 #ià! - `__GNUC_PREREQ - (3, 5) - -637 - `__šlše_m©hcodeNP - ( -n -, -__x -, \ - -638  -__v®ue -; \ - -639  -__v®ue2 - - `__©Œibu‹__ - (( -__unu£d__ -)); \ - -640 -__asm - -__vÞ©že__ - \ - -642 : "ñ" ( -__v®ue2 -), "=u" ( -__v®ue -è: "0" ( -__x -)); \ - -643  -__v®ue -) - -648 #ià - `__GNUC_PREREQ - (3, 4) - -649 - `__šlše_m©hcodeNP2_ - (, -__©ª2l -, -__y -, -__x -, - -650  - $__bužtš_©ª2l - ( -__y -, -__x -)) - -652  - #__©ª2_code - \ - -653  -__v®ue -; \ - -654 -__asm - -__vÞ©že__ - \ - -656 : "ñ" ( -__v®ue -è: "0" ( -__x -), "u" ( -__y -) : "st(1)"); \ - -657  -__v®ue - - - ) - -658 #ifdeà -__FAST_MATH__ - - -659 - $__šlše_m©hcodeNP2 - ( -©ª2 -, -__y -, -__x -, -__©ª2_code -) - -661 - $__šlše_m©hcodeNP2_ - (, -__©ª2l -, -__y -, -__x -, -__©ª2_code -) - -665 #ià -defšed - -__FAST_MATH__ - && ! - `__GNUC_PREREQ - (3, 5) - -666 - `__šlše_m©hcodeNP2 - ( -fmod -, -__x -, -__y -, \ - -667  -__v®ue -; \ - -668 -__asm - -__vÞ©že__ - \ - -673 : "ñ" ( -__v®ue -è: "0" ( -__x -), "u" ( -__y -) : "ax", "cc"); \ - -674  -__v®ue -) - -678 #ifdeà -__FAST_MATH__ - - -679 #ià! - `__GNUC_PREREQ - (3,3) - -680 - `__šlše_m©hÝNP - ( -sq¹ -, "fsqrt") - -681 - `__šlše_m©hÝNP_ - (, -__sq¹l -, "fsqrt") - -682  - #__libc_sq¹l -( -n -è - `__sq¹l - (n) - - ) - -684  - #__libc_sq¹l -( -n -è - `__bužtš_sq¹l - (n) - - ) - -688 #ià - `__GNUC_PREREQ - (2, 8) - -689 - `__šlše_m©hcodeNP_ - (, -çbs -, -__x -,  - $__bužtš_çbs - ( -__x -)) - -690 #ifdeà -__USE_ISOC99 - - -691 - `__šlše_m©hcodeNP_ - (, -çbsf -, -__x -,  - $__bužtš_çbsf - ( -__x -)) - -692 - `__šlše_m©hcodeNP_ - (, -çb¦ -, -__x -,  - $__bužtš_çb¦ - ( -__x -)) - -694 - `__šlše_m©hcodeNP_ - (, -__çb¦ -, -__x -,  - $__bužtš_çb¦ - ( -__x -)) - -696 - `__šlše_m©hÝ - ( -çbs -, "fabs") - -697 - `__šlše_m©hÝ_ - (, -__çb¦ -, "fabs") - -700 #ifdeà -__FAST_MATH__ - - -701 #ià! - `__GNUC_PREREQ - (3, 4) - -703 - `__šlše_m©hÝNP - ( -sš -, "fsin") - -705 - `__šlše_m©hÝNP - ( -cos -, "fcos") - -707 - `__šlše_m©hÝ_deþNP - ( -log -, "ædÊ2; fxch; fyl2x", "0" ( -__x -) : "st(1)") - -710 #ià! - `__GNUC_PREREQ - (3, 5) - -711 - `__šlše_m©hÝ_deþNP - ( -log10 -, "ædlg2; fxch; fyl2x", "0" ( -__x -) : "st(1)") - -713 - `__šlše_m©hcodeNP - ( -asš -, -__x -,  - `__©ª2l - (__x, - `__libc_sq¹l - (1.0 - __x * __x))) - -714 - `__šlše_m©hcodeNP - ( -acos -, -__x -,  - `__©ª2l - ( - `__libc_sq¹l - (1.0 - __x * __x), __x)) - -717 #ià! - `__GNUC_PREREQ - (3, 4) - -718 - `__šlše_m©hÝ_deþNP - ( -©ª -, "æd1; f·n", "0" ( -__x -) : "st(1)") - -722 - `__šlše_m©hcode_ - (, -__sgn1l -, -__x -, \ - -723 -__ex‹nsiÚ__ - uniÚ {  -__xld -;  -__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  - g__n -. - g__xld -) - -731 #ifdeà -__FAST_MATH__ - - -733 -__šlše_m©hcodeNP - ( -sšh -, -__x -, \ - -734  -__exm1 - = -__expm1l - ( -__çb¦ - ( -__x -)); \ - -735  0.5 * ( -__exm1 - / (__exm1 + 1.0è+ __exm1è* - $__sgn1l - ( -__x -)) - -737 - `__šlše_m©hcodeNP - ( -cosh -, -__x -, \ - -738  -__ex - = - `__ex¶ - ( -__x -); \ - -739  0.5 * ( -__ex - + 1.0 / __ex)) - -741 - `__šlše_m©hcodeNP - ( -nh -, -__x -, \ - -742  -__exm1 - = - `__expm1l - (- - `__çb¦ - ( -__x - + __x)); \ - -743  -__exm1 - / (__exm1 + 2.0è* - `__sgn1l - (- -__x -)) - -746 - `__šlše_m©hcodeNP - ( -æoÜ -, -__x -, \ - -747  -__v®ue -; \ - -748  -__ignÜe -; \ - -749  -__cw -; \ - -750  -__cwtmp -; \ - -751 -__asm - - `__vÞ©že - ("fnstcw %3\n\t" \ - -759 : "ñ" ( -__v®ue -), "=&q" ( -__ignÜe -), "=m" ( -__cwtmp -), \ - -760 "=m" ( -__cw -) \ - -761 : "0" ( -__x -)); \ - -762  -__v®ue -) - -764 - `__šlše_m©hcodeNP - ( -ûž -, -__x -, \ - -765  -__v®ue -; \ - -766  -__ignÜe -; \ - -767  -__cw -; \ - -768  -__cwtmp -; \ - -769 -__asm - - `__vÞ©že - ("fnstcw %3\n\t" \ - -777 : "ñ" ( -__v®ue -), "=&q" ( -__ignÜe -), "=m" ( -__cwtmp -), \ - -778 "=m" ( -__cw -) \ - -779 : "0" ( -__x -)); \ - -780  -__v®ue -) - -782 #ifdeà -__FAST_MATH__ - - -783  - #__ldexp_code - \ - -784  -__v®ue -; \ - -785 -__asm - -__vÞ©že__ - \ - -787 : "ñ" ( -__v®ue -è: "0" ( -__x -), "u" ((è -__y -)); \ - -788  -__v®ue - - - ) - -790 -__MATH_INLINE -  - -791 - `__NTH - ( - $ldexp - ( -__x -,  -__y -)) - -793 -__ldexp_code -; - -794 - } -} - -799 #ifdeà -__USE_ISOC99 - - -801 #ifdeà -__FAST_MATH__ - - -802 - $__šlše_m©hcodeNP - ( -expm1 -, -__x -, -__expm1_code -) - -806  - #__M_SQRT2 - 1.41421356237309504880L - - ) - -808 #ià! - `__GNUC_PREREQ - (3, 5) - -809 - `__šlše_m©hcodeNP - ( -log1p -, -__x -, \ - -810  -__v®ue -; \ - -811 ià( - `__çb¦ - ( -__x -è>ð1.0 - 0.5 * -__M_SQRT2 -) \ - -812 -__v®ue - = - `logl - (1.0 + -__x -); \ - -814 -__asm - -__vÞ©že__ - \ - -818 : "ñ" ( -__v®ue -è: "0" ( -__x -) : "st(1)"); \ - -819  -__v®ue -) - -824 - `__šlše_m©hcodeNP - ( -asšh -, -__x -, \ - -825  -__y - = - `__çb¦ - ( -__x -); \ - -826  ( - `log1¶ - ( -__y - * __y / ( - `__libc_sq¹l - (__y * __y + 1.0) + 1.0) + __y) \ - -827 * - $__sgn1l - ( -__x -))) - -829 - `__šlše_m©hcodeNP - ( -acosh -, -__x -, \ - -830  - `logl - ( -__x - + - `__libc_sq¹l - (__x - 1.0) * __libc_sqrtl (__x + 1.0))) - -832 - `__šlše_m©hcodeNP - ( -©ªh -, -__x -, \ - -833  -__y - = - `__çb¦ - ( -__x -); \ - -834  -0.5 * - `log1¶ - (-( -__y - + __yè/ (1.0 + __y)è* - $__sgn1l - ( -__x -)) - -837 - `__šlše_m©hcodeNP2 - ( -hypÙ -, -__x -, -__y -, - -838  - `__libc_sq¹l - ( -__x - * __x + -__y - * __y)) - -840 #ià! - `__GNUC_PREREQ - (3, 5) - -841 - `__šlše_m©hcodeNP -( -logb -, -__x -, \ - -842  -__v®ue -; \ - -843  -__junk -; \ - -844 -__asm - -__vÞ©že__ - \ - -846 : "ñ" ( -__junk -), "=u" ( -__v®ue -è: "0" ( -__x -)); \ - -847  -__v®ue -) - -853 #ifdeà -__USE_ISOC99 - - -854 #ifdeà -__FAST_MATH__ - - -856 #ià! - `__GNUC_PREREQ - (3, 5) - -857 - `__šlše_m©hÝ_deþNP - ( -log2 -, "æd1; fxch; fyl2x", "0" ( -__x -) : "st(1)") - -860 -__MATH_INLINE -  - -861 - `__NTH - ( - $ldexpf - ( -__x -,  -__y -)) - -863 -__ldexp_code -; - -864 - } -} - -866 -__MATH_INLINE -  - -867 -__NTH - ( - $ldex¶ - ( -__x -,  -__y -)) - -869 -__ldexp_code -; - -870 - } -} - -872 -__šlše_m©hÝNP - ( -ršt -, "frndint") - -875  - #__̚t_code - \ - -876  -__̚Œes -; \ - -877 -__asm__ - -__vÞ©že__ - \ - -879 : "=m" ( -__̚Œes -è: "t" ( -__x -) : "st"); \ - -880  -__̚Œes - - - ) - -881 -__MATH_INLINE -  - -882 -__NTH - ( - $̚tf - ( -__x -)) - -884 -__̚t_code -; - -885 - } -} - -886 -__MATH_INLINE -  - -887 -__NTH - ( - $̚t - ( -__x -)) - -889 -__̚t_code -; - -890 - } -} - -891 -__MATH_INLINE -  - -892 -__NTH - ( - $̚Ž - ( -__x -)) - -894 -__̚t_code -; - -895 - } -} - -896 #undeà -__̚t_code - - -898  - #__Îršt_code - \ - -899  -__ÎršŒes -; \ - -900 -__asm__ - -__vÞ©že__ - \ - -902 : "=m" ( -__ÎršŒes -è: "t" ( -__x -) : "st"); \ - -903  -__ÎršŒes - - - ) - -904 -__ex‹nsiÚ__ - - -905 -__MATH_INLINE -  - -906 -__NTH - ( - $Îrštf - ( -__x -)) - -908 -__Îršt_code -; - -909 - } -} - -910 -__ex‹nsiÚ__ - - -911 -__MATH_INLINE -  - -912 -__NTH - ( - $Îršt - ( -__x -)) - -914 -__Îršt_code -; - -915 - } -} - -916 -__ex‹nsiÚ__ - - -917 -__MATH_INLINE -  - -918 -__NTH - ( - $ÎršŽ - ( -__x -)) - -920 -__Îršt_code -; - -921 - } -} - -922 #undeà -__Îršt_code - - -927 #ifdeà -__USE_MISC - - -929 #ià -defšed - -__FAST_MATH__ - && ! -__GNUC_PREREQ - (3, 5) - -930 -__šlše_m©hcodeNP2 - ( -d»m -, -__x -, -__y -, \ - -931  -__v®ue -; \ - -932  -__þobb”ed -; \ - -933 -__asm - -__vÞ©že__ - \ - -938 : "ñ" ( -__v®ue -), "=&a" ( -__þobb”ed -è: "0" ( -__x -), "u" ( -__y -) : "cc"); \ - -939  -__v®ue -) - -944 -__MATH_INLINE -  - -945 -__NTH - ( - $__fš™e - ( -__x -)) - -947  ( -__ex‹nsiÚ__ - - -948 (((((uniÚ {  -__d -;  -__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šcos_code - - -966 #ifdeà -__LIBC_INTERNAL_MATH_INLINES - - -967 -__šlše_m©hÝ - ( -__›“754_sq¹ -, "fsqrt") - -968 -__šlše_m©hcode2_ - (, -__›“754_©ª2l -, -__y -, -__x -, - -969  -__v®ue -; - -970 -__asm - -__vÞ©že__ - ("fpatan\n\t" - -971 : "ñ" ( -__v®ue -) - -972 : "0" ( -__x -), "u" ( -__y -) : "st(1)"); - -973  -__v®ue -;) - - @/usr/include/bits/nan.h - -19 #iâdeà -_MATH_H - - -26 #ià -__GNUC_PREREQ -(3,3) - -28  - #NAN - ( - `__bužtš_Çnf - ("")) - - ) - -30 #–ià -defšed - -__GNUC__ - - -32  - #NAN - \ - -33 ( -__ex‹nsiÚ__ - \ - -34 ((uniÚ {  -__l - - `__©Œibu‹__ - (( - `__mode__ - ( -__SI__ -)));  -__d -; }) \ - -35 { -__l -: 0x7fc00000UL }). -__d -) - - ) - -39  - ~<’dŸn.h -> - -41 #ià -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -42  - #__qÇn_by‹s - { 0x7f, 0xc0, 0, 0 } - - ) - -44 #ià -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -45  - #__qÇn_by‹s - { 0, 0, 0xc0, 0x7à} - - ) - -48 uniÚ {  - m__c -[4];  - m__d -; } -__qÇn_uniÚ - - -49 -__©Œibu‹__ - (( -__unu£d__ -)èð{ -__qÇn_by‹s - }; - -50  - #NAN - ( -__qÇn_uniÚ -. -__d -) - - ) - - @/usr/include/bits/param.h - -19 #iâdeà -_SYS_PARAM_H - - -23 #iâdeà -ARG_MAX - - -24  - #__undef_ARG_MAX - - - ) - -27  - ~ - -28  - ~ - -31 #ifdeà -__undef_ARG_MAX - - -32 #undeà -ARG_MAX - - -33 #undeà -__undef_ARG_MAX - - -36  - #MAXSYMLINKS - 20 - - ) - -41  - #NOFILE - 256 - - ) - -42  - #NCARGS - 131072 - - ) - - @/usr/include/bits/posix_opt.h - -19 #iâdef -_BITS_POSIX_OPT_H - - -20  - #_BITS_POSIX_OPT_H - 1 - - ) - -23  - #_POSIX_JOB_CONTROL - 1 - - ) - -26  - #_POSIX_SAVED_IDS - 1 - - ) - -29  - #_POSIX_PRIORITY_SCHEDULING - 200809L - - ) - -32  - #_POSIX_SYNCHRONIZED_IO - 200809L - - ) - -35  - #_POSIX_FSYNC - 200809L - - ) - -38  - #_POSIX_MAPPED_FILES - 200809L - - ) - -41  - #_POSIX_MEMLOCK - 200809L - - ) - -44  - #_POSIX_MEMLOCK_RANGE - 200809L - - ) - -47  - #_POSIX_MEMORY_PROTECTION - 200809L - - ) - -50  - #_POSIX_CHOWN_RESTRICTED - 0 - - ) - -54  - #_POSIX_VDISABLE - '\0' - - ) - -57  - #_POSIX_NO_TRUNC - 1 - - ) - -60  - #_XOPEN_REALTIME - 1 - - ) - -63  - #_XOPEN_REALTIME_THREADS - 1 - - ) - -66  - #_XOPEN_SHM - 1 - - ) - -69  - #_POSIX_THREADS - 200809L - - ) - -72  - #_POSIX_REENTRANT_FUNCTIONS - 1 - - ) - -73  - #_POSIX_THREAD_SAFE_FUNCTIONS - 200809L - - ) - -76  - #_POSIX_THREAD_PRIORITY_SCHEDULING - 200809L - - ) - -79  - #_POSIX_THREAD_ATTR_STACKSIZE - 200809L - - ) - -82  - #_POSIX_THREAD_ATTR_STACKADDR - 200809L - - ) - -85  - #_POSIX_THREAD_PRIO_INHERIT - 200809L - - ) - -89  - #_POSIX_THREAD_PRIO_PROTECT - 200809L - - ) - -91 #ifdeà -__USE_XOPEN2K8 - - -93  - #_POSIX_THREAD_ROBUST_PRIO_INHERIT - 200809L - - ) - -96  - #_POSIX_THREAD_ROBUST_PRIO_PROTECT - -1 - - ) - -100  - #_POSIX_SEMAPHORES - 200809L - - ) - -103  - #_POSIX_REALTIME_SIGNALS - 200809L - - ) - -106  - #_POSIX_ASYNCHRONOUS_IO - 200809L - - ) - -107  - #_POSIX_ASYNC_IO - 1 - - ) - -109  - #_LFS_ASYNCHRONOUS_IO - 1 - - ) - -111  - #_POSIX_PRIORITIZED_IO - 200809L - - ) - -114  - #_LFS64_ASYNCHRONOUS_IO - 1 - - ) - -117  - #_LFS_LARGEFILE - 1 - - ) - -118  - #_LFS64_LARGEFILE - 1 - - ) - -119  - #_LFS64_STDIO - 1 - - ) - -122  - #_POSIX_SHARED_MEMORY_OBJECTS - 200809L - - ) - -125  - #_POSIX_CPUTIME - 0 - - ) - -128  - #_POSIX_THREAD_CPUTIME - 0 - - ) - -131  - #_POSIX_REGEXP - 1 - - ) - -134  - #_POSIX_READER_WRITER_LOCKS - 200809L - - ) - -137  - #_POSIX_SHELL - 1 - - ) - -140  - #_POSIX_TIMEOUTS - 200809L - - ) - -143  - #_POSIX_SPIN_LOCKS - 200809L - - ) - -146  - #_POSIX_SPAWN - 200809L - - ) - -149  - #_POSIX_TIMERS - 200809L - - ) - -152  - #_POSIX_BARRIERS - 200809L - - ) - -155  - #_POSIX_MESSAGE_PASSING - 200809L - - ) - -158  - #_POSIX_THREAD_PROCESS_SHARED - 200809L - - ) - -161  - #_POSIX_MONOTONIC_CLOCK - 0 - - ) - -164  - #_POSIX_CLOCK_SELECTION - 200809L - - ) - -167  - #_POSIX_ADVISORY_INFO - 200809L - - ) - -170  - #_POSIX_IPV6 - 200809L - - ) - -173  - #_POSIX_RAW_SOCKETS - 200809L - - ) - -176  - #_POSIX2_CHAR_TERM - 200809L - - ) - -179  - #_POSIX_SPORADIC_SERVER - -1 - - ) - -180  - #_POSIX_THREAD_SPORADIC_SERVER - -1 - - ) - -183  - #_POSIX_TRACE - -1 - - ) - -184  - #_POSIX_TRACE_EVENT_FILTER - -1 - - ) - -185  - #_POSIX_TRACE_INHERIT - -1 - - ) - -186  - #_POSIX_TRACE_LOG - -1 - - ) - -189  - #_POSIX_TYPED_MEMORY_OBJECTS - -1 - - ) - - @/usr/include/bits/pthreadtypes.h - -18 #iâdeà -_BITS_PTHREADTYPES_H - - -19  - #_BITS_PTHREADTYPES_H - 1 - - ) - -21  - ~ - -23 #ifdeà -__x86_64__ - - -24 #ià -__WORDSIZE - == 64 - -25  - #__SIZEOF_PTHREAD_ATTR_T - 56 - - ) - -26  - #__SIZEOF_PTHREAD_MUTEX_T - 40 - - ) - -27  - #__SIZEOF_PTHREAD_MUTEXATTR_T - 4 - - ) - -28  - #__SIZEOF_PTHREAD_COND_T - 48 - - ) - -29  - #__SIZEOF_PTHREAD_CONDATTR_T - 4 - - ) - -30  - #__SIZEOF_PTHREAD_RWLOCK_T - 56 - - ) - -31  - #__SIZEOF_PTHREAD_RWLOCKATTR_T - 8 - - ) - -32  - #__SIZEOF_PTHREAD_BARRIER_T - 32 - - ) - -33  - #__SIZEOF_PTHREAD_BARRIERATTR_T - 4 - - ) - -35  - #__SIZEOF_PTHREAD_ATTR_T - 32 - - ) - -36  - #__SIZEOF_PTHREAD_MUTEX_T - 32 - - ) - -37  - #__SIZEOF_PTHREAD_MUTEXATTR_T - 4 - - ) - -38  - #__SIZEOF_PTHREAD_COND_T - 48 - - ) - -39  - #__SIZEOF_PTHREAD_CONDATTR_T - 4 - - ) - -40  - #__SIZEOF_PTHREAD_RWLOCK_T - 44 - - ) - -41  - #__SIZEOF_PTHREAD_RWLOCKATTR_T - 8 - - ) - -42  - #__SIZEOF_PTHREAD_BARRIER_T - 20 - - ) - -43  - #__SIZEOF_PTHREAD_BARRIERATTR_T - 4 - - ) - -46  - #__SIZEOF_PTHREAD_ATTR_T - 36 - - ) - -47  - #__SIZEOF_PTHREAD_MUTEX_T - 24 - - ) - -48  - #__SIZEOF_PTHREAD_MUTEXATTR_T - 4 - - ) - -49  - #__SIZEOF_PTHREAD_COND_T - 48 - - ) - -50  - #__SIZEOF_PTHREAD_CONDATTR_T - 4 - - ) - -51  - #__SIZEOF_PTHREAD_RWLOCK_T - 32 - - ) - -52  - #__SIZEOF_PTHREAD_RWLOCKATTR_T - 8 - - ) - -53  - #__SIZEOF_PTHREAD_BARRIER_T - 20 - - ) - -54  - #__SIZEOF_PTHREAD_BARRIERATTR_T - 4 - - ) - -60  - t±h»ad_t -; - -63  - u±h»ad_©Œ_t - - -65  - m__size -[ -__SIZEOF_PTHREAD_ATTR_T -]; - -66  - m__®ign -; - -68 #iâdeà -__have_±h»ad_©Œ_t - - -69  -±h»ad_©Œ_t - - t±h»ad_©Œ_t -; - -70  - #__have_±h»ad_©Œ_t - 1 - - ) - -74 #ifdeà -__x86_64__ - - -75  - s__±h»ad_š‹º®_li¡ - - -77  -__±h»ad_š‹º®_li¡ - * - m__´ev -; - -78  -__±h»ad_š‹º®_li¡ - * - m__Ãxt -; - -79 } - t__±h»ad_li¡_t -; - -81  - s__±h»ad_š‹º®_¦i¡ - - -83  -__±h»ad_š‹º®_¦i¡ - * - m__Ãxt -; - -84 } - t__±h»ad_¦i¡_t -; - -92  - s__±h»ad_mu‹x_s - - -94  - m__lock -; - -95  - m__couÁ -; - -96  - m__owÃr -; - -97 #ifdeà -__x86_64__ - - -98  - m__nu£rs -; - -102  - m__kšd -; - -103 #ifdeà -__x86_64__ - - -104  - m__¥šs -; - -105  - m__–isiÚ -; - -106 -__±h»ad_li¡_t - - m__li¡ -; - -107  - #__PTHREAD_MUTEX_HAVE_PREV - 1 - - ) - -109  - #__PTHREAD_SPINS - 0, 0 - - ) - -111  - m__nu£rs -; - -112 -__ex‹nsiÚ__ - union - -116  - m__e¥šs -; - -117  - m__–isiÚ -; - -118  - #__¥šs - -__–isiÚ_d©a -. -__e¥šs - - - ) - -119  - #__–isiÚ - -__–isiÚ_d©a -. -__–isiÚ - - - ) - -120  - #__PTHREAD_SPINS - { 0, 0 } - - ) - -121 } - m__–isiÚ_d©a -; - -122 -__±h»ad_¦i¡_t - - m__li¡ -; - -125 } - m__d©a -; - -126  - m__size -[ -__SIZEOF_PTHREAD_MUTEX_T -]; - -127  - m__®ign -; - -128 } - t±h»ad_mu‹x_t -; - -132  - m__size -[ -__SIZEOF_PTHREAD_MUTEXATTR_T -]; - -133  - m__®ign -; - -134 } - t±h»ad_mu‹x©Œ_t -; - -143  - m__lock -; - -144  - m__fu‹x -; - -145 -__ex‹nsiÚ__ -  - m__tÙ®_£q -; - -146 -__ex‹nsiÚ__ -  - m__wakeup_£q -; - -147 -__ex‹nsiÚ__ -  - m__wok’_£q -; - -148 * - m__mu‹x -; - -149  - m__nwa™”s -; - -150  - m__brßdÿ¡_£q -; - -151 } - m__d©a -; - -152  - m__size -[ -__SIZEOF_PTHREAD_COND_T -]; - -153 -__ex‹nsiÚ__ -  - m__®ign -; - -154 } - t±h»ad_cÚd_t -; - -158  - m__size -[ -__SIZEOF_PTHREAD_CONDATTR_T -]; - -159  - m__®ign -; - -160 } - t±h»ad_cÚd©Œ_t -; - -164  - t±h»ad_key_t -; - -168  - t±h»ad_Úû_t -; - -171 #ià -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K - - -176 #ifdeà -__x86_64__ - - -179  - m__lock -; - -180  - m__Ä_»ad”s -; - -181  - m__»ad”s_wakeup -; - -182  - m__wr™”_wakeup -; - -183  - m__Ä_»ad”s_queued -; - -184  - m__Ä_wr™”s_queued -; - -185  - m__wr™” -; - -186  - m__sh¬ed -; - -187 sigÃd  - m__rw–isiÚ -; - -188 #ifdeà -__ILP32__ - - -189  - m__·d1 -[3]; - -190  - #__PTHREAD_RWLOCK_ELISION_EXTRA - 0, { 0, 0, 0 } - - ) - -192  - m__·d1 -[7]; - -193  - #__PTHREAD_RWLOCK_ELISION_EXTRA - 0, { 0, 0, 0, 0, 0, 0, 0 } - - ) - -195  - m__·d2 -; - -198  - m__æags -; - -199  - #__PTHREAD_RWLOCK_INT_FLAGS_SHARED - 1 - - ) - -200 } - m__d©a -; - -204  - m__lock -; - -205  - m__Ä_»ad”s -; - -206  - m__»ad”s_wakeup -; - -207  - m__wr™”_wakeup -; - -208  - m__Ä_»ad”s_queued -; - -209  - m__Ä_wr™”s_queued -; - -212  - m__æags -; - -213  - m__sh¬ed -; - -214 sigÃd  - m__rw–isiÚ -; - -215  - #__PTHREAD_RWLOCK_ELISION_EXTRA - 0 - - ) - -216  - m__·d2 -; - -217  - m__wr™” -; - -218 } - m__d©a -; - -220  - m__size -[ -__SIZEOF_PTHREAD_RWLOCK_T -]; - -221  - m__®ign -; - -222 } - t±h»ad_rwlock_t -; - -226  - m__size -[ -__SIZEOF_PTHREAD_RWLOCKATTR_T -]; - -227  - m__®ign -; - -228 } - t±h»ad_rwlock©Œ_t -; - -232 #ifdeà -__USE_XOPEN2K - - -234 vÞ©ž - t±h»ad_¥šlock_t -; - -241  - m__size -[ -__SIZEOF_PTHREAD_BARRIER_T -]; - -242  - m__®ign -; - -243 } - t±h»ad_b¬r›r_t -; - -247  - m__size -[ -__SIZEOF_PTHREAD_BARRIERATTR_T -]; - -248  - m__®ign -; - -249 } - t±h»ad_b¬r›¿‰r_t -; - -253 #iâdeà -__x86_64__ - - -255  - #__þ—nup_fù_©Œibu‹ - - `__©Œibu‹__ - (( - `__»g·rm__ - (1))) - - ) - - @/usr/include/bits/setjmp.h - -19 #iâdeà -_BITS_SETJMP_H - - -20  - #_BITS_SETJMP_H - 1 - - ) - -22 #ià! -defšed - -_SETJMP_H - && !defšed -_PTHREAD_H - - -26  - ~ - -28 #iâdeà -_ASM - - -30 #ià -__WORDSIZE - == 64 - -31  - t__jmp_buf -[8]; - -32 #–ià -defšed - -__x86_64__ - - -33 -__ex‹nsiÚ__ -  - t__jmp_buf -[8]; - -35  - t__jmp_buf -[6]; - - @/usr/include/bits/setjmp2.h - -19 #iâdeà -_SETJMP_H - - -24 #ifdeà -__REDIRECT_NTH - - -25  -__REDIRECT_NTHNL - ( -lÚgjmp -, - -26 ( -__jmp_buf_g - -__’v -[1],  -__v® -), - -27 -__lÚgjmp_chk -è -__©Œibu‹__ - (( -__nܑuº__ -)); - -28  -__REDIRECT_NTHNL - ( -_lÚgjmp -, - -29 ( -__jmp_buf_g - -__’v -[1],  -__v® -), - -30 -__lÚgjmp_chk -è -__©Œibu‹__ - (( -__nܑuº__ -)); - -31  -__REDIRECT_NTHNL - ( -siglÚgjmp -, - -32 ( -__jmp_buf_g - -__’v -[1],  -__v® -), - -33 -__lÚgjmp_chk -è -__©Œibu‹__ - (( -__nܑuº__ -)); - -35  -__lÚgjmp_chk - ( -__jmp_buf_g - -__’v -[1],  -__v® -), - -36 -__THROWNL - -__©Œibu‹__ - (( -__nܑuº__ -)); - -37  - #lÚgjmp - -__lÚgjmp_chk - - - ) - -38  - #_lÚgjmp - -__lÚgjmp_chk - - - ) - -39  - #siglÚgjmp - -__lÚgjmp_chk - - - ) - - @/usr/include/bits/sigaction.h - -19 #iâdeà -_SIGNAL_H - - -24  - ssigaùiÚ - - -27 #ifdeà -__USE_POSIX199309 - - -31 -__sighªdËr_t - - m§_hªdËr -; - -33 (* - m§_sigaùiÚ -è(, - msigšfo_t - *, *); - -35 - m__sigaùiÚ_hªdËr -; - -36  - #§_hªdËr - -__sigaùiÚ_hªdËr -. -§_hªdËr - - - ) - -37  - #§_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  - m§_æags -; - -49 (* - m§_»¡Ü” -) (); - -53  - #SA_NOCLDSTOP - 1 - - ) - -54  - #SA_NOCLDWAIT - 2 - - ) - -55  - #SA_SIGINFO - 4 - - ) - -57 #ià -defšed - -__USE_UNIX98 - || defšed -__USE_MISC - - -58  - #SA_ONSTACK - 0x08000000 - - ) - -60 #ià -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K8 - - -61  - #SA_RESTART - 0x10000000 - - ) - -62  - #SA_NODEFER - 0x40000000 - - ) - -64  - #SA_RESETHAND - 0x80000000 - - ) - -66 #ifdeà -__USE_MISC - - -67  - #SA_INTERRUPT - 0x20000000 - - ) - -70  - #SA_NOMASK - -SA_NODEFER - - - ) - -71  - #SA_ONESHOT - -SA_RESETHAND - - - ) - -72  - #SA_STACK - -SA_ONSTACK - - - ) - -76  - #SIG_BLOCK - 0 - - ) - -77  - #SIG_UNBLOCK - 1 - - ) - -78  - #SIG_SETMASK - 2 - - ) - - @/usr/include/bits/sigcontext.h - -18 #iâdeà -_BITS_SIGCONTEXT_H - - -19  - #_BITS_SIGCONTEXT_H - 1 - - ) - -21 #ià! -defšed - -_SIGNAL_H - && !defšed -_SYS_UCONTEXT_H - - -25  - #FP_XSTATE_MAGIC1 - 0x46505853U - - ) - -26  - #FP_XSTATE_MAGIC2 - 0x46505845U - - ) - -27  - #FP_XSTATE_MAGIC2_SIZE - ( -FP_XSTATE_MAGIC2 -) - - ) - -29  - s_åx_sw_by‹s - - -31 -__ušt32_t - - mmagic1 -; - -32 -__ušt32_t - - mex‹nded_size -; - -33 -__ušt64_t - - mx¡©e_bv -; - -34 -__ušt32_t - - mx¡©e_size -; - -35 -__ušt32_t - - m·ddšg -[7]; - -38  - s_å»g - - -40  - msignifiÿnd -[4]; - -41  - mexpڒt -; - -44  - s_åx»g - - -46  - msignifiÿnd -[4]; - -47  - mexpڒt -; - -48  - m·ddšg -[3]; - -51  - s_xmm»g - - -53 -__ušt32_t - - m–em’t -[4]; - -58 #iâdeà -__x86_64__ - - -60  - s_å¡©e - - -63 -__ušt32_t - - mcw -; - -64 -__ušt32_t - - msw -; - -65 -__ušt32_t - - mg -; - -66 -__ušt32_t - - moff -; - -67 -__ušt32_t - - mcs£l -; - -68 -__ušt32_t - - md©aoff -; - -69 -__ušt32_t - - md©a£l -; - -70  -_å»g - - m_¡ -[8]; - -71  - m¡©us -; - -72  - mmagic -; - -75 -__ušt32_t - - m_fx¤_’v -[6]; - -76 -__ušt32_t - - mmxc¤ -; - -77 -__ušt32_t - - m»£rved -; - -78  -_åx»g - - m_fx¤_¡ -[8]; - -79  -_xmm»g - - m_xmm -[8]; - -80 -__ušt32_t - - m·ddšg -[56]; - -83 #iâdeà -sigcڋxt_¡ruù - - -88  - #sigcڋxt_¡ruù - -sigcڋxt - - - ) - -91  - #X86_FXSR_MAGIC - 0x0000 - - ) - -93  - ssigcڋxt - - -95  - mgs -, - m__gsh -; - -96  - mfs -, - m__fsh -; - -97  - mes -, - m__esh -; - -98  - mds -, - m__dsh -; - -99  - medi -; - -100  - mesi -; - -101  - mebp -; - -102  - me¥ -; - -103  - mebx -; - -104  - medx -; - -105  - mecx -; - -106  - m—x -; - -107  - mŒ­no -; - -108  - m”r -; - -109  - me -; - -110  - mcs -, - m__csh -; - -111  - meæags -; - -112  - me¥_©_sigÇl -; - -113  - mss -, - m__ssh -; - -114  -_å¡©e - * - må¡©e -; - -115  - mÞdmask -; - -116  - mü2 -; - -121  - s_å¡©e - - -124 -__ušt16_t - - mcwd -; - -125 -__ušt16_t - - mswd -; - -126 -__ušt16_t - - máw -; - -127 -__ušt16_t - - mfÝ -; - -128 -__ušt64_t - - mr -; - -129 -__ušt64_t - - mrdp -; - -130 -__ušt32_t - - mmxc¤ -; - -131 -__ušt32_t - - mmxü_mask -; - -132  -_åx»g - - m_¡ -[8]; - -133  -_xmm»g - - m_xmm -[16]; - -134 -__ušt32_t - - m·ddšg -[24]; - -137  - ssigcڋxt - - -139 -__ušt64_t - - mr8 -; - -140 -__ušt64_t - - mr9 -; - -141 -__ušt64_t - - mr10 -; - -142 -__ušt64_t - - mr11 -; - -143 -__ušt64_t - - mr12 -; - -144 -__ušt64_t - - mr13 -; - -145 -__ušt64_t - - mr14 -; - -146 -__ušt64_t - - mr15 -; - -147 -__ušt64_t - - mrdi -; - -148 -__ušt64_t - - mrsi -; - -149 -__ušt64_t - - mrbp -; - -150 -__ušt64_t - - mrbx -; - -151 -__ušt64_t - - mrdx -; - -152 -__ušt64_t - - m¿x -; - -153 -__ušt64_t - - mrcx -; - -154 -__ušt64_t - - mr¥ -; - -155 -__ušt64_t - - mr -; - -156 -__ušt64_t - - meæags -; - -157  - mcs -; - -158  - mgs -; - -159  - mfs -; - -160  - m__·d0 -; - -161 -__ušt64_t - - m”r -; - -162 -__ušt64_t - - mŒ­no -; - -163 -__ušt64_t - - mÞdmask -; - -164 -__ušt64_t - - mü2 -; - -165 -__ex‹nsiÚ__ - union - -167  -_å¡©e - * - må¡©e -; - -168 -__ušt64_t - - m__å¡©e_wÜd -; - -170 -__ušt64_t - - m__»£rved1 - [8]; - -175  - s_x§ve_hdr - - -177 -__ušt64_t - - mx¡©e_bv -; - -178 -__ušt64_t - - m»£rved1 -[2]; - -179 -__ušt64_t - - m»£rved2 -[5]; - -182  - s_ymmh_¡©e - - -184 -__ušt32_t - - mymmh_¥aû -[64]; - -187  - s_x¡©e - - -189  -_å¡©e - - må¡©e -; - -190  -_x§ve_hdr - - mx¡©e_hdr -; - -191  -_ymmh_¡©e - - mymmh -; - - @/usr/include/bits/siginfo.h - -19 #ià! -defšed - -_SIGNAL_H - && !defšed -__Ãed_sigšfo_t - \ - -20 && ! -defšed - - g__Ãed_sigev’t_t - - -24  - ~ - -26 #ià(! -defšed - -__have_sigv®_t - \ - -27 && ( -defšed - - g_SIGNAL_H - || defšed - g__Ãed_sigšfo_t - \ - -28 || -defšed - - g__Ãed_sigev’t_t -)) - -29  - #__have_sigv®_t - 1 - - ) - -32  - usigv® - - -34  - msiv®_št -; - -35 * - msiv®_±r -; - -36 } - tsigv®_t -; - -39 #ià(! -defšed - -__have_sigšfo_t - \ - -40 && ( -defšed - - g_SIGNAL_H - || defšed - g__Ãed_sigšfo_t -)) - -41  - #__have_sigšfo_t - 1 - - ) - -43  - #__SI_MAX_SIZE - 128 - - ) - -44 #ià -__WORDSIZE - == 64 - -45  - #__SI_PAD_SIZE - (( -__SI_MAX_SIZE - /  ()è- 4) - - ) - -47  - #__SI_PAD_SIZE - (( -__SI_MAX_SIZE - /  ()è- 3) - - ) - -50 #ià -defšed - -__x86_64__ - && -__WORDSIZE - == 32 - -55  -__þock_t - - t__©Œibu‹__ - (( - t__®igÃd__ - (4))è - t__sigchld_þock_t -; - -56  - #__SI_ALIGNMENT - - `__©Œibu‹__ - (( - `__®igÃd__ - (8))) - - ) - -58  -__þock_t - - t__sigchld_þock_t -; - -59  - #__SI_ALIGNMENT - - - ) - -64  -si_signo -; - -65  -si_”ºo -; - -67  -si_code -; - -71  -_·d -[ -__SI_PAD_SIZE -]; - -76 -__pid_t - -si_pid -; - -77 -__uid_t - -si_uid -; - -78 } -_kžl -; - -83  -si_tid -; - -84  -si_ov”run -; - -85 -sigv®_t - -si_sigv® -; - -86 } -_tim” -; - -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  -si_¡©us -; - -102 -__sigchld_þock_t - -si_utime -; - -103 -__sigchld_þock_t - -si_¡ime -; - -104 } -_sigchld -; - -109 * -si_addr -; - -110  -si_addr_lsb -; - -113 * -_low” -; - -114 * -_uµ” -; - -115 } -si_addr_bnd -; - -116 } -_sigçuÉ -; - -121  -si_bªd -; - -122  -si_fd -; - -123 } -_sigpÞl -; - -128 * -_ÿÎ_addr -; - -129  -_sysÿÎ -; - -130  -_¬ch -; - -131 } -_sigsys -; - -132 } -_sif›lds -; - -133 } - tsigšfo_t - - t__SI_ALIGNMENT -; - -137  - #si_pid - -_sif›lds -. -_kžl -. -si_pid - - - ) - -138  - #si_uid - -_sif›lds -. -_kžl -. -si_uid - - - ) - -139  - #si_tim”id - -_sif›lds -. -_tim” -. -si_tid - - - ) - -140  - #si_ov”run - -_sif›lds -. -_tim” -. -si_ov”run - - - ) - -141  - #si_¡©us - -_sif›lds -. -_sigchld -. -si_¡©us - - - ) - -142  - #si_utime - -_sif›lds -. -_sigchld -. -si_utime - - - ) - -143  - #si_¡ime - -_sif›lds -. -_sigchld -. -si_¡ime - - - ) - -144  - #si_v®ue - -_sif›lds -. -_¹ -. -si_sigv® - - - ) - -145  - #si_št - -_sif›lds -. -_¹ -. -si_sigv® -. -siv®_št - - - ) - -146  - #si_±r - -_sif›lds -. -_¹ -. -si_sigv® -. -siv®_±r - - - ) - -147  - #si_addr - -_sif›lds -. -_sigçuÉ -. -si_addr - - - ) - -148  - #si_addr_lsb - -_sif›lds -. -_sigçuÉ -. -si_addr_lsb - - - ) - -149  - #si_low” - -_sif›lds -. -_sigçuÉ -. -si_addr_bnd -. -_low” - - - ) - -150  - #si_uµ” - -_sif›lds -. -_sigçuÉ -. -si_addr_bnd -. -_uµ” - - - ) - -151  - #si_bªd - -_sif›lds -. -_sigpÞl -. -si_bªd - - - ) - -152  - #si_fd - -_sif›lds -. -_sigpÞl -. -si_fd - - - ) - -153  - #si_ÿÎ_addr - -_sif›lds -. -_sigsys -. -_ÿÎ_addr - - - ) - -154  - #si_sysÿÎ - -_sif›lds -. -_sigsys -. -_sysÿÎ - - - ) - -155  - #si_¬ch - -_sif›lds -. -_sigsys -. -_¬ch - - - ) - -162 -SI_ASYNCNL - = -60, - -163  - #SI_ASYNCNL - -SI_ASYNCNL - - - ) - -164 -SI_TKILL - = -6, - -165  - #SI_TKILL - -SI_TKILL - - - ) - -166 -SI_SIGIO -, - -167  - #SI_SIGIO - -SI_SIGIO - - - ) - -168 -SI_ASYNCIO -, - -169  - #SI_ASYNCIO - -SI_ASYNCIO - - - ) - -170 -SI_MESGQ -, - -171  - #SI_MESGQ - -SI_MESGQ - - - ) - -172 -SI_TIMER -, - -173  - #SI_TIMER - -SI_TIMER - - - ) - -174 -SI_QUEUE -, - -175  - #SI_QUEUE - -SI_QUEUE - - - ) - -176 -SI_USER -, - -177  - #SI_USER - -SI_USER - - - ) - -178 -SI_KERNEL - = 0x80 - -179  - #SI_KERNEL - -SI_KERNEL - - - ) - -183 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -187 -ILL_ILLOPC - = 1, - -188  - #ILL_ILLOPC - -ILL_ILLOPC - - - ) - -189 -ILL_ILLOPN -, - -190  - #ILL_ILLOPN - -ILL_ILLOPN - - - ) - -191 -ILL_ILLADR -, - -192  - #ILL_ILLADR - -ILL_ILLADR - - - ) - -193 -ILL_ILLTRP -, - -194  - #ILL_ILLTRP - -ILL_ILLTRP - - - ) - -195 -ILL_PRVOPC -, - -196  - #ILL_PRVOPC - -ILL_PRVOPC - - - ) - -197 -ILL_PRVREG -, - -198  - #ILL_PRVREG - -ILL_PRVREG - - - ) - -199 -ILL_COPROC -, - -200  - #ILL_COPROC - -ILL_COPROC - - - ) - -201 -ILL_BADSTK - - -202  - #ILL_BADSTK - -ILL_BADSTK - - - ) - -208 -FPE_INTDIV - = 1, - -209  - #FPE_INTDIV - -FPE_INTDIV - - - ) - -210 -FPE_INTOVF -, - -211  - #FPE_INTOVF - -FPE_INTOVF - - - ) - -212 -FPE_FLTDIV -, - -213  - #FPE_FLTDIV - -FPE_FLTDIV - - - ) - -214 -FPE_FLTOVF -, - -215  - #FPE_FLTOVF - -FPE_FLTOVF - - - ) - -216 -FPE_FLTUND -, - -217  - #FPE_FLTUND - -FPE_FLTUND - - - ) - -218 -FPE_FLTRES -, - -219  - #FPE_FLTRES - -FPE_FLTRES - - - ) - -220 -FPE_FLTINV -, - -221  - #FPE_FLTINV - -FPE_FLTINV - - - ) - -222 -FPE_FLTSUB - - -223  - #FPE_FLTSUB - -FPE_FLTSUB - - - ) - -229 -SEGV_MAPERR - = 1, - -230  - #SEGV_MAPERR - -SEGV_MAPERR - - - ) - -231 -SEGV_ACCERR - - -232  - #SEGV_ACCERR - -SEGV_ACCERR - - - ) - -238 -BUS_ADRALN - = 1, - -239  - #BUS_ADRALN - -BUS_ADRALN - - - ) - -240 -BUS_ADRERR -, - -241  - #BUS_ADRERR - -BUS_ADRERR - - - ) - -242 -BUS_OBJERR -, - -243  - #BUS_OBJERR - -BUS_OBJERR - - - ) - -244 -BUS_MCEERR_AR -, - -245  - #BUS_MCEERR_AR - -BUS_MCEERR_AR - - - ) - -246 -BUS_MCEERR_AO - - -247  - #BUS_MCEERR_AO - -BUS_MCEERR_AO - - - ) - -251 #ifdeà -__USE_XOPEN_EXTENDED - - -255 -TRAP_BRKPT - = 1, - -256  - #TRAP_BRKPT - -TRAP_BRKPT - - - ) - -257 -TRAP_TRACE - - -258  - #TRAP_TRACE - -TRAP_TRACE - - - ) - -262 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -266 -CLD_EXITED - = 1, - -267  - #CLD_EXITED - -CLD_EXITED - - - ) - -268 -CLD_KILLED -, - -269  - #CLD_KILLED - -CLD_KILLED - - - ) - -270 -CLD_DUMPED -, - -271  - #CLD_DUMPED - -CLD_DUMPED - - - ) - -272 -CLD_TRAPPED -, - -273  - #CLD_TRAPPED - -CLD_TRAPPED - - - ) - -274 -CLD_STOPPED -, - -275  - #CLD_STOPPED - -CLD_STOPPED - - - ) - -276 -CLD_CONTINUED - - -277  - #CLD_CONTINUED - -CLD_CONTINUED - - - ) - -283 -POLL_IN - = 1, - -284  - #POLL_IN - -POLL_IN - - - ) - -285 -POLL_OUT -, - -286  - #POLL_OUT - -POLL_OUT - - - ) - -287 -POLL_MSG -, - -288  - #POLL_MSG - -POLL_MSG - - - ) - -289 -POLL_ERR -, - -290  - #POLL_ERR - -POLL_ERR - - - ) - -291 -POLL_PRI -, - -292  - #POLL_PRI - -POLL_PRI - - - ) - -293 -POLL_HUP - - -294  - #POLL_HUP - -POLL_HUP - - - ) - -298 #undeà -__Ãed_sigšfo_t - - -302 #ià( -defšed - -_SIGNAL_H - || defšed -__Ãed_sigev’t_t -) \ - -303 && ! -defšed - -__have_sigev’t_t - - -304  - #__have_sigev’t_t - 1 - - ) - -307  - #__SIGEV_MAX_SIZE - 64 - - ) - -308 #ià -__WORDSIZE - == 64 - -309  - #__SIGEV_PAD_SIZE - (( -__SIGEV_MAX_SIZE - /  ()è- 4) - - ) - -311  - #__SIGEV_PAD_SIZE - (( -__SIGEV_MAX_SIZE - /  ()è- 3) - - ) - -315 #iâdeà -__have_±h»ad_©Œ_t - - -316  -±h»ad_©Œ_t - - t±h»ad_©Œ_t -; - -317  - #__have_±h»ad_©Œ_t - 1 - - ) - -320  - ssigev’t - - -322 -sigv®_t - -sigev_v®ue -; - -323  -sigev_signo -; - -324  -sigev_nÙify -; - -328  -_·d -[ -__SIGEV_PAD_SIZE -]; - -332 -__pid_t - -_tid -; - -336 (* -_funùiÚ -è( -sigv®_t -); - -337 -±h»ad_©Œ_t - * -_©Œibu‹ -; - -338 } -_sigev_th»ad -; - -339 } -_sigev_un -; - -340 } - tsigev’t_t -; - -343  - #sigev_nÙify_funùiÚ - -_sigev_un -. -_sigev_th»ad -. -_funùiÚ - - - ) - -344  - #sigev_nÙify_©Œibu‹s - -_sigev_un -. -_sigev_th»ad -. -_©Œibu‹ - - - ) - -349 -SIGEV_SIGNAL - = 0, - -350  - #SIGEV_SIGNAL - -SIGEV_SIGNAL - - - ) - -351 -SIGEV_NONE -, - -352  - #SIGEV_NONE - -SIGEV_NONE - - - ) - -353 -SIGEV_THREAD -, - -354  - #SIGEV_THREAD - -SIGEV_THREAD - - - ) - -356 -SIGEV_THREAD_ID - = 4 - -357  - #SIGEV_THREAD_ID - -SIGEV_THREAD_ID - - - ) - - @/usr/include/bits/signum.h - -19 #ifdef -_SIGNAL_H - - -22  - #SIG_ERR - (( -__sighªdËr_t -è-1è - - ) - -23  - #SIG_DFL - (( -__sighªdËr_t -è0è - - ) - -24  - #SIG_IGN - (( -__sighªdËr_t -è1è - - ) - -26 #ifdeà -__USE_UNIX98 - - -27  - #SIG_HOLD - (( -__sighªdËr_t -è2è - - ) - -32  - #SIGHUP - 1 - - ) - -33  - #SIGINT - 2 - - ) - -34  - #SIGQUIT - 3 - - ) - -35  - #SIGILL - 4 - - ) - -36  - #SIGTRAP - 5 - - ) - -37  - #SIGABRT - 6 - - ) - -38  - #SIGIOT - 6 - - ) - -39  - #SIGBUS - 7 - - ) - -40  - #SIGFPE - 8 - - ) - -41  - #SIGKILL - 9 - - ) - -42  - #SIGUSR1 - 10 - - ) - -43  - #SIGSEGV - 11 - - ) - -44  - #SIGUSR2 - 12 - - ) - -45  - #SIGPIPE - 13 - - ) - -46  - #SIGALRM - 14 - - ) - -47  - #SIGTERM - 15 - - ) - -48  - #SIGSTKFLT - 16 - - ) - -49  - #SIGCLD - -SIGCHLD - - - ) - -50  - #SIGCHLD - 17 - - ) - -51  - #SIGCONT - 18 - - ) - -52  - #SIGSTOP - 19 - - ) - -53  - #SIGTSTP - 20 - - ) - -54  - #SIGTTIN - 21 - - ) - -55  - #SIGTTOU - 22 - - ) - -56  - #SIGURG - 23 - - ) - -57  - #SIGXCPU - 24 - - ) - -58  - #SIGXFSZ - 25 - - ) - -59  - #SIGVTALRM - 26 - - ) - -60  - #SIGPROF - 27 - - ) - -61  - #SIGWINCH - 28 - - ) - -62  - #SIGPOLL - -SIGIO - - - ) - -63  - #SIGIO - 29 - - ) - -64  - #SIGPWR - 30 - - ) - -65  - #SIGSYS - 31 - - ) - -66  - #SIGUNUSED - 31 - - ) - -68  - #_NSIG - 65 - - ) - -71  - #SIGRTMIN - ( - `__libc_cu¼’t_sig¹mš - ()) - - ) - -72  - #SIGRTMAX - ( - `__libc_cu¼’t_sig¹max - ()) - - ) - -76  - #__SIGRTMIN - 32 - - ) - -77  - #__SIGRTMAX - ( -_NSIG - - 1) - - ) - - @/usr/include/bits/sigset.h - -19 #iâdef -_SIGSET_H_ty³s - - -20  - #_SIGSET_H_ty³s - 1 - - ) - -22  - t__sig_©omic_t -; - -26  - #_SIGSET_NWORDS - (1024 / (8 *  ())) - - ) - -29  - m__v® -[ -_SIGSET_NWORDS -]; - -30 } - t__sig£t_t -; - -41 #ià! -defšed - -_SIGSET_H_âs - && defšed -_SIGNAL_H - - -42  - #_SIGSET_H_âs - 1 - - ) - -44 #iâdeà -_EXTERN_INLINE - - -45  - #_EXTERN_INLINE - -__ex‹º_šlše - - - ) - -49  - #__sigmask -( -sig -) \ - -50 (((è1è<< ((( -sig -è- 1è% (8 *  ()))) - - ) - -53  - #__sigwÜd -( -sig -è(((sigè- 1è/ (8 *  ())) - - ) - -55 #ià -defšed - -__GNUC__ - && __GNUC__ >= 2 - -56  - #__sigem±y£t -( -£t -) \ - -57 ( - `__ex‹nsiÚ__ - ({  -__út - = -_SIGSET_NWORDS -; \ - -58 -sig£t_t - * -__£t - = ( -£t -); \ - -59 -- -__út - >ð0è -__£t --> -__v® -[__cnt] = 0; \ - -60 0; })) - - ) - -61  - #__sigfžl£t -( -£t -) \ - -62 ( - `__ex‹nsiÚ__ - ({  -__út - = -_SIGSET_NWORDS -; \ - -63 -sig£t_t - * -__£t - = ( -£t -); \ - -64 -- -__út - >ð0è -__£t --> -__v® -[__cnt] = ~0UL; \ - -65 0; })) - - ) - -67 #ifdeà -__USE_GNU - - -71  - #__sigi£m±y£t -( -£t -) \ - -72 ( - `__ex‹nsiÚ__ - ({  -__út - = -_SIGSET_NWORDS -; \ - -73 cÚ¡ -sig£t_t - * -__£t - = ( -£t -); \ - -74  -__»t - = -__£t --> -__v® -[-- -__út -]; \ - -75 ! -__»t - && -- -__út - >= 0) \ - -76 -__»t - = -__£t --> -__v® -[ -__út -]; \ - -77 -__»t - =ð0; })) - - ) - -78  - #__sigªd£t -( -de¡ -, -Ëá -, -right -) \ - -79 ( - `__ex‹nsiÚ__ - ({  -__út - = -_SIGSET_NWORDS -; \ - -80 -sig£t_t - * -__de¡ - = ( -de¡ -); \ - -81 cÚ¡ -sig£t_t - * -__Ëá - = ( -Ëá -); \ - -82 cÚ¡ -sig£t_t - * -__right - = ( -right -); \ - -83 -- -__út - >= 0) \ - -84 -__de¡ --> -__v® -[ -__út -] = ( -__Ëá -->__val[__cnt] \ - -85 & -__right --> -__v® -[ -__út -]); \ - -86 0; })) - - ) - -87  - #__sigÜ£t -( -de¡ -, -Ëá -, -right -) \ - -88 ( - `__ex‹nsiÚ__ - ({  -__út - = -_SIGSET_NWORDS -; \ - -89 -sig£t_t - * -__de¡ - = ( -de¡ -); \ - -90 cÚ¡ -sig£t_t - * -__Ëá - = ( -Ëá -); \ - -91 cÚ¡ -sig£t_t - * -__right - = ( -right -); \ - -92 -- -__út - >= 0) \ - -93 -__de¡ --> -__v® -[ -__út -] = ( -__Ëá -->__val[__cnt] \ - -94 | -__right --> -__v® -[ -__út -]); \ - -95 0; })) - - ) - -102  -__sigismemb” - (cÚ¡ -__sig£t_t - *, ); - -103  -__sigadd£t - ( -__sig£t_t - *, ); - -104  -__sigd–£t - ( -__sig£t_t - *, ); - -106 #ifdeà -__USE_EXTERN_INLINES - - -107  - #__SIGSETFN -( -NAME -, -BODY -, -CONST -) \ - -108 -_EXTERN_INLINE - \ - -109 - `NAME - ( -CONST - -__sig£t_t - * -__£t -,  -__sig -) \ - -111  -__mask - = - `__sigmask - ( -__sig -); \ - -112  -__wÜd - = - `__sigwÜd - ( -__sig -); \ - -113  -BODY -; \ - -114 } - - ) - -116 -__SIGSETFN - ( -__sigismemb” -, ( -__£t --> -__v® -[ -__wÜd -] & -__mask -) ? 1 : 0, const) - -117 -__SIGSETFN - ( -__sigadd£t -, (( -__£t --> -__v® -[ -__wÜd -] |ð -__mask -), 0), ) - -118 -__SIGSETFN - ( -__sigd–£t -, (( -__£t --> -__v® -[ -__wÜd -] &ð~ -__mask -), 0), ) - -120 #undeà -__SIGSETFN - - - @/usr/include/bits/sigstack.h - -19 #iâdeà -_SIGNAL_H - - -25  - ssig¡ack - - -27 * - mss_¥ -; - -28  - mss_Ú¡ack -; - -35 - mSS_ONSTACK - = 1, - -36  - #SS_ONSTACK - -SS_ONSTACK - - - ) - -37 - mSS_DISABLE - - -38  - #SS_DISABLE - -SS_DISABLE - - - ) - -42  - #MINSIGSTKSZ - 2048 - - ) - -45  - #SIGSTKSZ - 8192 - - ) - -49  - ssig®t¡ack - - -51 * - mss_¥ -; - -52  - mss_æags -; - -53 -size_t - - mss_size -; - -54 } - t¡ack_t -; - - @/usr/include/bits/sigthread.h - -19 #iâdeà -_BITS_SIGTHREAD_H - - -20  - #_BITS_SIGTHREAD_H - 1 - - ) - -22 #ià! -defšed - -_SIGNAL_H - && !defšed -_PTHREAD_H - - -30  - $±h»ad_sigmask - ( -__how -, - -31 cÚ¡ -__sig£t_t - * -__»¡riù - -__Ãwmask -, - -32 -__sig£t_t - * -__»¡riù - -__Þdmask -) -__THROW -; - -35  - $±h»ad_kžl - ( -±h»ad_t - -__th»adid -,  -__signo -è -__THROW -; - -37 #ifdeà -__USE_GNU - - -39  - $±h»ad_sigqueue - ( -±h»ad_t - -__th»adid -,  -__signo -, - -40 cÚ¡  -sigv® - -__v®ue -è -__THROW -; - - @/usr/include/bits/socket.h - -19 #iâdeà -__BITS_SOCKET_H - - -20  - #__BITS_SOCKET_H - - - ) - -22 #iâdeà -_SYS_SOCKET_H - - -26  - #__Ãed_size_t - - - ) - -27  - ~<¡ddef.h -> - -29  - ~ - -32 #iâdeà -__sockËn_t_defšed - - -33  -__sockËn_t - - tsockËn_t -; - -34  - #__sockËn_t_defšed - - - ) - -38  - ~ - -41  - #PF_UNSPEC - 0 - - ) - -42  - #PF_LOCAL - 1 - - ) - -43  - #PF_UNIX - -PF_LOCAL - - - ) - -44  - #PF_FILE - -PF_LOCAL - - - ) - -45  - #PF_INET - 2 - - ) - -46  - #PF_AX25 - 3 - - ) - -47  - #PF_IPX - 4 - - ) - -48  - #PF_APPLETALK - 5 - - ) - -49  - #PF_NETROM - 6 - - ) - -50  - #PF_BRIDGE - 7 - - ) - -51  - #PF_ATMPVC - 8 - - ) - -52  - #PF_X25 - 9 - - ) - -53  - #PF_INET6 - 10 - - ) - -54  - #PF_ROSE - 11 - - ) - -55  - #PF_DECÃt - 12 - - ) - -56  - #PF_NETBEUI - 13 - - ) - -57  - #PF_SECURITY - 14 - - ) - -58  - #PF_KEY - 15 - - ) - -59  - #PF_NETLINK - 16 - - ) - -60  - #PF_ROUTE - -PF_NETLINK - - - ) - -61  - #PF_PACKET - 17 - - ) - -62  - #PF_ASH - 18 - - ) - -63  - #PF_ECONET - 19 - - ) - -64  - #PF_ATMSVC - 20 - - ) - -65  - #PF_RDS - 21 - - ) - -66  - #PF_SNA - 22 - - ) - -67  - #PF_IRDA - 23 - - ) - -68  - #PF_PPPOX - 24 - - ) - -69  - #PF_WANPIPE - 25 - - ) - -70  - #PF_LLC - 26 - - ) - -71  - #PF_IB - 27 - - ) - -72  - #PF_MPLS - 28 - - ) - -73  - #PF_CAN - 29 - - ) - -74  - #PF_TIPC - 30 - - ) - -75  - #PF_BLUETOOTH - 31 - - ) - -76  - #PF_IUCV - 32 - - ) - -77  - #PF_RXRPC - 33 - - ) - -78  - #PF_ISDN - 34 - - ) - -79  - #PF_PHONET - 35 - - ) - -80  - #PF_IEEE802154 - 36 - - ) - -81  - #PF_CAIF - 37 - - ) - -82  - #PF_ALG - 38 - - ) - -83  - #PF_NFC - 39 - - ) - -84  - #PF_VSOCK - 40 - - ) - -85  - #PF_MAX - 41 - - ) - -88  - #AF_UNSPEC - -PF_UNSPEC - - - ) - -89  - #AF_LOCAL - -PF_LOCAL - - - ) - -90  - #AF_UNIX - -PF_UNIX - - - ) - -91  - #AF_FILE - -PF_FILE - - - ) - -92  - #AF_INET - -PF_INET - - - ) - -93  - #AF_AX25 - -PF_AX25 - - - ) - -94  - #AF_IPX - -PF_IPX - - - ) - -95  - #AF_APPLETALK - -PF_APPLETALK - - - ) - -96  - #AF_NETROM - -PF_NETROM - - - ) - -97  - #AF_BRIDGE - -PF_BRIDGE - - - ) - -98  - #AF_ATMPVC - -PF_ATMPVC - - - ) - -99  - #AF_X25 - -PF_X25 - - - ) - -100  - #AF_INET6 - -PF_INET6 - - - ) - -101  - #AF_ROSE - -PF_ROSE - - - ) - -102  - #AF_DECÃt - -PF_DECÃt - - - ) - -103  - #AF_NETBEUI - -PF_NETBEUI - - - ) - -104  - #AF_SECURITY - -PF_SECURITY - - - ) - -105  - #AF_KEY - -PF_KEY - - - ) - -106  - #AF_NETLINK - -PF_NETLINK - - - ) - -107  - #AF_ROUTE - -PF_ROUTE - - - ) - -108  - #AF_PACKET - -PF_PACKET - - - ) - -109  - #AF_ASH - -PF_ASH - - - ) - -110  - #AF_ECONET - -PF_ECONET - - - ) - -111  - #AF_ATMSVC - -PF_ATMSVC - - - ) - -112  - #AF_RDS - -PF_RDS - - - ) - -113  - #AF_SNA - -PF_SNA - - - ) - -114  - #AF_IRDA - -PF_IRDA - - - ) - -115  - #AF_PPPOX - -PF_PPPOX - - - ) - -116  - #AF_WANPIPE - -PF_WANPIPE - - - ) - -117  - #AF_LLC - -PF_LLC - - - ) - -118  - #AF_IB - -PF_IB - - - ) - -119  - #AF_MPLS - -PF_MPLS - - - ) - -120  - #AF_CAN - -PF_CAN - - - ) - -121  - #AF_TIPC - -PF_TIPC - - - ) - -122  - #AF_BLUETOOTH - -PF_BLUETOOTH - - - ) - -123  - #AF_IUCV - -PF_IUCV - - - ) - -124  - #AF_RXRPC - -PF_RXRPC - - - ) - -125  - #AF_ISDN - -PF_ISDN - - - ) - -126  - #AF_PHONET - -PF_PHONET - - - ) - -127  - #AF_IEEE802154 - -PF_IEEE802154 - - - ) - -128  - #AF_CAIF - -PF_CAIF - - - ) - -129  - #AF_ALG - -PF_ALG - - - ) - -130  - #AF_NFC - -PF_NFC - - - ) - -131  - #AF_VSOCK - -PF_VSOCK - - - ) - -132  - #AF_MAX - -PF_MAX - - - ) - -138  - #SOL_RAW - 255 - - ) - -139  - #SOL_DECNET - 261 - - ) - -140  - #SOL_X25 - 262 - - ) - -141  - #SOL_PACKET - 263 - - ) - -142  - #SOL_ATM - 264 - - ) - -143  - #SOL_AAL - 265 - - ) - -144  - #SOL_IRDA - 266 - - ) - -147  - #SOMAXCONN - 128 - - ) - -150  - ~ - -153  - ssockaddr - - -155 -__SOCKADDR_COMMON - ( -§_ -); - -156  - m§_d©a -[14]; - -162  - #__ss_®igÁy³ -  - - ) - -163  - #_SS_PADSIZE - \ - -164 ( -_SS_SIZE - - -__SOCKADDR_COMMON_SIZE - -  ( -__ss_®igÁy³ -)) - - ) - -166  - ssockaddr_¡Üage - - -168 -__SOCKADDR_COMMON - ( -ss_ -); - -169  - m__ss_·ddšg -[ -_SS_PADSIZE -]; - -170 -__ss_®igÁy³ - - m__ss_®ign -; - -177 - mMSG_OOB - = 0x01, - -178  - #MSG_OOB - -MSG_OOB - - - ) - -179 - mMSG_PEEK - = 0x02, - -180  - #MSG_PEEK - -MSG_PEEK - - - ) - -181 - mMSG_DONTROUTE - = 0x04, - -182  - #MSG_DONTROUTE - -MSG_DONTROUTE - - - ) - -183 #ifdeà -__USE_GNU - - -185 - mMSG_TRYHARD - = -MSG_DONTROUTE -, - -186  - #MSG_TRYHARD - -MSG_DONTROUTE - - - ) - -188 - mMSG_CTRUNC - = 0x08, - -189  - #MSG_CTRUNC - -MSG_CTRUNC - - - ) - -190 - mMSG_PROXY - = 0x10, - -191  - #MSG_PROXY - -MSG_PROXY - - - ) - -192 - mMSG_TRUNC - = 0x20, - -193  - #MSG_TRUNC - -MSG_TRUNC - - - ) - -194 - mMSG_DONTWAIT - = 0x40, - -195  - #MSG_DONTWAIT - -MSG_DONTWAIT - - - ) - -196 - mMSG_EOR - = 0x80, - -197  - #MSG_EOR - -MSG_EOR - - - ) - -198 - mMSG_WAITALL - = 0x100, - -199  - #MSG_WAITALL - -MSG_WAITALL - - - ) - -200 - mMSG_FIN - = 0x200, - -201  - #MSG_FIN - -MSG_FIN - - - ) - -202 - mMSG_SYN - = 0x400, - -203  - #MSG_SYN - -MSG_SYN - - - ) - -204 - mMSG_CONFIRM - = 0x800, - -205  - #MSG_CONFIRM - -MSG_CONFIRM - - - ) - -206 - mMSG_RST - = 0x1000, - -207  - #MSG_RST - -MSG_RST - - - ) - -208 - mMSG_ERRQUEUE - = 0x2000, - -209  - #MSG_ERRQUEUE - -MSG_ERRQUEUE - - - ) - -210 - mMSG_NOSIGNAL - = 0x4000, - -211  - #MSG_NOSIGNAL - -MSG_NOSIGNAL - - - ) - -212 - mMSG_MORE - = 0x8000, - -213  - #MSG_MORE - -MSG_MORE - - - ) - -214 - mMSG_WAITFORONE - = 0x10000, - -215  - #MSG_WAITFORONE - -MSG_WAITFORONE - - - ) - -216 - mMSG_FASTOPEN - = 0x20000000, - -217  - #MSG_FASTOPEN - -MSG_FASTOPEN - - - ) - -219 - mMSG_CMSG_CLOEXEC - = 0x40000000 - -222  - #MSG_CMSG_CLOEXEC - -MSG_CMSG_CLOEXEC - - - ) - -228  - smsghdr - - -230 * - mmsg_Çme -; - -231 -sockËn_t - - mmsg_Çm–’ -; - -233  -iovec - * - mmsg_iov -; - -234 -size_t - - mmsg_iovËn -; - -236 * - mmsg_cÚŒÞ -; - -237 -size_t - - mmsg_cڌÞËn -; - -242  - mmsg_æags -; - -246  - scmsghdr - - -248 -size_t - - mcmsg_Ën -; - -253  - mcmsg_Ëv– -; - -254  - mcmsg_ty³ -; - -255 #ià(! -defšed - -__STRICT_ANSI__ - && -__GNUC__ - >ð2è|| -__STDC_VERSION__ - >= 199901L - -256 -__ex‹nsiÚ__ -  -__cmsg_d©a - - m__æex¬r -; - -261 #ià(! -defšed - -__STRICT_ANSI__ - && -__GNUC__ - >ð2è|| -__STDC_VERSION__ - >= 199901L - -262  - #CMSG_DATA -( -cmsg -è((cmsg)-> -__cmsg_d©a -) - - ) - -264  - #CMSG_DATA -( -cmsg -è((*è(( -cmsghdr - *è(cmsgè+ 1)) - - ) - -266  - #CMSG_NXTHDR -( -mhdr -, -cmsg -è - `__cmsg_nxthdr - (mhdr, cmsg) - - ) - -267  - #CMSG_FIRSTHDR -( -mhdr -) \ - -268 (( -size_t -è( -mhdr -)-> -msg_cڌÞËn - >ð ( -cmsghdr -) \ - -269 ? ( -cmsghdr - *è( -mhdr -)-> -msg_cÚŒÞ - : (cmsghd¸*è0) - - ) - -270  - #CMSG_ALIGN -( -Ën -è((֒è+  ( -size_t -) - 1) \ - -271 & ( -size_t -è~( (size_tè- 1)) - - ) - -272  - #CMSG_SPACE -( -Ën -è( - `CMSG_ALIGN - (len) \ - -273 + - `CMSG_ALIGN - ( ( -cmsghdr -))) - - ) - -274  - #CMSG_LEN -( -Ën -è( - `CMSG_ALIGN - ( ( -cmsghdr -)è+ (Ën)) - - ) - -276  -cmsghdr - * - $__cmsg_nxthdr - ( -msghdr - * -__mhdr -, - -277  -cmsghdr - * -__cmsg -è -__THROW -; - -278 #ifdeà -__USE_EXTERN_INLINES - - -279 #iâdeà -_EXTERN_INLINE - - -280  - #_EXTERN_INLINE - -__ex‹º_šlše - - - ) - -282 -_EXTERN_INLINE -  -cmsghdr - * - -283 - `__NTH - ( - $__cmsg_nxthdr - ( -msghdr - * -__mhdr -,  -cmsghdr - * -__cmsg -)) - -285 ià(( -size_t -è -__cmsg --> -cmsg_Ën - <  ( -cmsghdr -)) - -287  ( -cmsghdr - *) 0; - -289 -__cmsg - = ( -cmsghdr - *) ((*) __cmsg - -290 + - `CMSG_ALIGN - ( -__cmsg --> -cmsg_Ën -)); - -291 ià((*è( -__cmsg - + 1è> ((*è -__mhdr --> -msg_cÚŒÞ - - -292 + -__mhdr --> -msg_cڌÞËn -) - -293 || ((*è -__cmsg - + - `CMSG_ALIGN - (__cmsg-> -cmsg_Ën -) - -294 > ((*è -__mhdr --> -msg_cÚŒÞ - + __mhdr-> -msg_cڌÞËn -))) - -296  ( -cmsghdr - *) 0; - -297  -__cmsg -; - -298 - } -} - -305 - mSCM_RIGHTS - = 0x01 - -306  - #SCM_RIGHTS - -SCM_RIGHTS - - - ) - -307 #ifdeà -__USE_GNU - - -308 , - mSCM_CREDENTIALS - = 0x02 - -309  - #SCM_CREDENTIALS - -SCM_CREDENTIALS - - - ) - -313 #ifdeà -__USE_GNU - - -315  - suüed - - -317 -pid_t - - mpid -; - -318 -uid_t - - muid -; - -319 -gid_t - - mgid -; - -324 #iâdeà -__USE_MISC - - -325 #iâdeà -FIOGETOWN - - -326  - #__SYS_SOCKET_H_undef_FIOGETOWN - - - ) - -328 #iâdeà -FIOSETOWN - - -329  - #__SYS_SOCKET_H_undef_FIOSETOWN - - - ) - -331 #iâdeà -SIOCATMARK - - -332  - #__SYS_SOCKET_H_undef_SIOCATMARK - - - ) - -334 #iâdeà -SIOCGPGRP - - -335  - #__SYS_SOCKET_H_undef_SIOCGPGRP - - - ) - -337 #iâdeà -SIOCGSTAMP - - -338  - #__SYS_SOCKET_H_undef_SIOCGSTAMP - - - ) - -340 #iâdeà -SIOCGSTAMPNS - - -341  - #__SYS_SOCKET_H_undef_SIOCGSTAMPNS - - - ) - -343 #iâdeà -SIOCSPGRP - - -344  - #__SYS_SOCKET_H_undef_SIOCSPGRP - - - ) - -349  - ~ - -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  - slšg” - - -385  - ml_Úoff -; - -386  - ml_lšg” -; - - @/usr/include/bits/socket2.h - -19 #iâdeà -_SYS_SOCKET_H - - -23 -ssize_t - -__»cv_chk - ( -__fd -, * -__buf -, -size_t - -__n -, size_ˆ -__buæ’ -, - -24  -__æags -); - -25 -ssize_t - -__REDIRECT - ( -__»cv_®Ÿs -, ( -__fd -, * -__buf -, -size_t - -__n -, - -26  -__æags -), -»cv -); - -27 -ssize_t - -__REDIRECT - ( -__»cv_chk_w¬n -, - -28 ( -__fd -, * -__buf -, -size_t - -__n -, size_ˆ -__buæ’ -, - -29  -__æags -), -__»cv_chk -) - -30 -__w¬Ç‰r - ("recv called with bigger†engthhan size of destination " - -33 -__fÜtify_funùiÚ - -ssize_t - - -34 - $»cv - ( -__fd -, * -__buf -, -size_t - -__n -,  -__æags -) - -36 ià( - `__bos0 - ( -__buf -è!ð( -size_t -) -1) - -38 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -)) - -39  - `__»cv_chk - ( -__fd -, -__buf -, -__n -, - `__bos0 - (__buf), -__æags -); - -41 ià( -__n - > - `__bos0 - ( -__buf -)) - -42  - `__»cv_chk_w¬n - ( -__fd -, -__buf -, -__n -, - `__bos0 - (__buf), -__æags -); - -44  - `__»cv_®Ÿs - ( -__fd -, -__buf -, -__n -, -__æags -); - -45 - } -} - -47 -ssize_t - -__»cväom_chk - ( -__fd -, * -__»¡riù - -__buf -, -size_t - -__n -, - -48 -size_t - -__buæ’ -,  -__æags -, - -49 -__SOCKADDR_ARG - -__addr -, - -50 -sockËn_t - * -__»¡riù - -__addr_Ën -); - -51 -ssize_t - -__REDIRECT - ( -__»cväom_®Ÿs -, - -52 ( -__fd -, * -__»¡riù - -__buf -, -size_t - -__n -, - -53  -__æags -, -__SOCKADDR_ARG - -__addr -, - -54 -sockËn_t - * -__»¡riù - -__addr_Ën -), -»cväom -); - -55 -ssize_t - -__REDIRECT - ( -__»cväom_chk_w¬n -, - -56 ( -__fd -, * -__»¡riù - -__buf -, -size_t - -__n -, - -57 -size_t - -__buæ’ -,  -__æags -, - -58 -__SOCKADDR_ARG - -__addr -, - -59 -sockËn_t - * -__»¡riù - -__addr_Ën -), -__»cväom_chk -) - -60 -__w¬Ç‰r - ("recvfrom called with bigger†engthhan size of " - -63 -__fÜtify_funùiÚ - -ssize_t - - -64 - $»cväom - ( -__fd -, * -__»¡riù - -__buf -, -size_t - -__n -,  -__æags -, - -65 -__SOCKADDR_ARG - -__addr -, -sockËn_t - * -__»¡riù - -__addr_Ën -) - -67 ià( - `__bos0 - ( -__buf -è!ð( -size_t -) -1) - -69 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -)) - -70  - `__»cväom_chk - ( -__fd -, -__buf -, -__n -, - `__bos0 - (__buf), -__æags -, - -71 -__addr -, -__addr_Ën -); - -72 ià( -__n - > - `__bos0 - ( -__buf -)) - -73  - `__»cväom_chk_w¬n - ( -__fd -, -__buf -, -__n -, - `__bos0 - (__buf), -__æags -, - -74 -__addr -, -__addr_Ën -); - -76  - `__»cväom_®Ÿs - ( -__fd -, -__buf -, -__n -, -__æags -, -__addr -, -__addr_Ën -); - -77 - } -} - - @/usr/include/bits/stat.h - -18 #ià! -defšed - -_SYS_STAT_H - && !defšed -_FCNTL_H - - -22 #iâdeà -_BITS_STAT_H - - -23  - #_BITS_STAT_H - 1 - - ) - -26 #iâdeà -__x86_64__ - - -27  - #_STAT_VER_LINUX_OLD - 1 - - ) - -28  - #_STAT_VER_KERNEL - 1 - - ) - -29  - #_STAT_VER_SVR4 - 2 - - ) - -30  - #_STAT_VER_LINUX - 3 - - ) - -33  - #_MKNOD_VER_LINUX - 1 - - ) - -34  - #_MKNOD_VER_SVR4 - 2 - - ) - -35  - #_MKNOD_VER - -_MKNOD_VER_LINUX - - - ) - -37  - #_STAT_VER_KERNEL - 0 - - ) - -38  - #_STAT_VER_LINUX - 1 - - ) - -41  - #_MKNOD_VER_LINUX - 0 - - ) - -44  - #_STAT_VER - -_STAT_VER_LINUX - - - ) - -46  - s¡© - - -48 -__dev_t - - m¡_dev -; - -49 #iâdeà -__x86_64__ - - -50  - m__·d1 -; - -52 #ià -defšed - -__x86_64__ - || !defšed -__USE_FILE_OFFSET64 - - -53 -__šo_t - - m¡_šo -; - -55 -__šo_t - - m__¡_šo -; - -57 #iâdeà -__x86_64__ - - -58 -__mode_t - - m¡_mode -; - -59 -__ƚk_t - - m¡_ƚk -; - -61 -__ƚk_t - - m¡_ƚk -; - -62 -__mode_t - - m¡_mode -; - -64 -__uid_t - - m¡_uid -; - -65 -__gid_t - - m¡_gid -; - -66 #ifdeà -__x86_64__ - - -67  - m__·d0 -; - -69 -__dev_t - - m¡_rdev -; - -70 #iâdeà -__x86_64__ - - -71  - m__·d2 -; - -73 #ià -defšed - -__x86_64__ - || !defšed -__USE_FILE_OFFSET64 - - -74 -__off_t - - m¡_size -; - -76 -__off64_t - - m¡_size -; - -78 -__blksize_t - - m¡_blksize -; - -79 #ià -defšed - -__x86_64__ - || !defšed -__USE_FILE_OFFSET64 - - -80 -__blkút_t - - m¡_blocks -; - -82 -__blkút64_t - - m¡_blocks -; - -84 #ifdeà -__USE_XOPEN2K8 - - -91  -time¥ec - - m¡_©im -; - -92  -time¥ec - - m¡_mtim -; - -93  -time¥ec - - m¡_ùim -; - -94  - #¡_©ime - -¡_©im -. -tv_£c - - - ) - -95  - #¡_mtime - -¡_mtim -. -tv_£c - - - ) - -96  - #¡_ùime - -¡_ùim -. -tv_£c - - - ) - -98 -__time_t - - m¡_©ime -; - -99 -__sysÿÎ_ulÚg_t - - m¡_©im’£c -; - -100 -__time_t - - m¡_mtime -; - -101 -__sysÿÎ_ulÚg_t - - m¡_mtim’£c -; - -102 -__time_t - - m¡_ùime -; - -103 -__sysÿÎ_ulÚg_t - - m¡_ùim’£c -; - -105 #ifdeà -__x86_64__ - - -106 -__sysÿÎ_¦Úg_t - - m__glibc_»£rved -[3]; - -108 #iâdeà -__USE_FILE_OFFSET64 - - -109  - m__glibc_»£rved4 -; - -110  - m__glibc_»£rved5 -; - -112 -__šo64_t - - m¡_šo -; - -117 #ifdeà -__USE_LARGEFILE64 - - -119  - s¡©64 - - -121 -__dev_t - - m¡_dev -; - -122 #ifdeà -__x86_64__ - - -123 -__šo64_t - - m¡_šo -; - -124 -__ƚk_t - - m¡_ƚk -; - -125 -__mode_t - - m¡_mode -; - -127  - m__·d1 -; - -128 -__šo_t - - m__¡_šo -; - -129 -__mode_t - - m¡_mode -; - -130 -__ƚk_t - - m¡_ƚk -; - -132 -__uid_t - - m¡_uid -; - -133 -__gid_t - - m¡_gid -; - -134 #ifdeà -__x86_64__ - - -135  - m__·d0 -; - -136 -__dev_t - - m¡_rdev -; - -137 -__off_t - - m¡_size -; - -139 -__dev_t - - m¡_rdev -; - -140  - m__·d2 -; - -141 -__off64_t - - m¡_size -; - -143 -__blksize_t - - m¡_blksize -; - -144 -__blkút64_t - - m¡_blocks -; - -145 #ifdeà -__USE_XOPEN2K8 - - -152  -time¥ec - - m¡_©im -; - -153  -time¥ec - - m¡_mtim -; - -154  -time¥ec - - m¡_ùim -; - -156 -__time_t - - m¡_©ime -; - -157 -__sysÿÎ_ulÚg_t - - m¡_©im’£c -; - -158 -__time_t - - m¡_mtime -; - -159 -__sysÿÎ_ulÚg_t - - m¡_mtim’£c -; - -160 -__time_t - - m¡_ùime -; - -161 -__sysÿÎ_ulÚg_t - - m¡_ùim’£c -; - -163 #ifdeà -__x86_64__ - - -164 -__sysÿÎ_¦Úg_t - - m__glibc_»£rved -[3]; - -166 -__šo64_t - - m¡_šo -; - -172  - #_STATBUF_ST_BLKSIZE - - - ) - -173  - #_STATBUF_ST_RDEV - - - ) - -175  - #_STATBUF_ST_NSEC - - - ) - -179  - #__S_IFMT - 0170000 - - ) - -182  - #__S_IFDIR - 0040000 - - ) - -183  - #__S_IFCHR - 0020000 - - ) - -184  - #__S_IFBLK - 0060000 - - ) - -185  - #__S_IFREG - 0100000 - - ) - -186  - #__S_IFIFO - 0010000 - - ) - -187  - #__S_IFLNK - 0120000 - - ) - -188  - #__S_IFSOCK - 0140000 - - ) - -192  - #__S_TYPEISMQ -( -buf -è((buf)-> -¡_mode - - (buf)->¡_mode) - - ) - -193  - #__S_TYPEISSEM -( -buf -è((buf)-> -¡_mode - - (buf)->¡_mode) - - ) - -194  - #__S_TYPEISSHM -( -buf -è((buf)-> -¡_mode - - (buf)->¡_mode) - - ) - -198  - #__S_ISUID - 04000 - - ) - -199  - #__S_ISGID - 02000 - - ) - -200  - #__S_ISVTX - 01000 - - ) - -201  - #__S_IREAD - 0400 - - ) - -202  - #__S_IWRITE - 0200 - - ) - -203  - #__S_IEXEC - 0100 - - ) - -205 #ifdeà -__USE_ATFILE - - -206  - #UTIME_NOW - ((1È<< 30è- 1l) - - ) - -207  - #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štf -) - -25 - $__LDBL_REDIR_DECL - ( -´štf -) - -26 - $__LDBL_REDIR_DECL - ( -¥rštf -) - -27 - $__LDBL_REDIR_DECL - ( -vårštf -) - -28 - $__LDBL_REDIR_DECL - ( -v´štf -) - -29 - $__LDBL_REDIR_DECL - ( -v¥rštf -) - -30 #ià -defšed - -__USE_ISOC99 - && !defšed -__USE_GNU - \ - -31 && ! -defšed - -__REDIRECT - \ - -32 && ( -defšed - -__STRICT_ANSI__ - || defšed -__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šed - -__USE_ISOC99 - || defšed -__USE_UNIX98 - - -44 -__BEGIN_NAMESPACE_C99 - - -45 - $__LDBL_REDIR_DECL - ( -¢´štf -) - -46 - $__LDBL_REDIR_DECL - ( -v¢´štf -) - -47 -__END_NAMESPACE_C99 - - -50 #ifdef -__USE_ISOC99 - - -51 -__BEGIN_NAMESPACE_C99 - - -52 #ià! -defšed - -__USE_GNU - && !defšed -__REDIRECT - \ - -53 && ( -defšed - -__STRICT_ANSI__ - || defšed -__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´štf -) - -67 - $__LDBL_REDIR_DECL - ( -d´štf -) - -70 #ifdeà -__USE_GNU - - -71 - $__LDBL_REDIR_DECL - ( -va¥rštf -) - -72 - $__LDBL_REDIR_DECL - ( -__a¥rštf -) - -73 - $__LDBL_REDIR_DECL - ( -a¥rštf -) - -74 - $__LDBL_REDIR_DECL - ( -ob¡ack_´štf -) - -75 - $__LDBL_REDIR_DECL - ( -ob¡ack_v´štf -) - -78 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ - - -79 - $__LDBL_REDIR_DECL - ( -__¥rštf_chk -) - -80 - $__LDBL_REDIR_DECL - ( -__v¥rštf_chk -) - -81 #ià -defšed - -__USE_ISOC99 - || defšed -__USE_UNIX98 - - -82 - $__LDBL_REDIR_DECL - ( -__¢´štf_chk -) - -83 - $__LDBL_REDIR_DECL - ( -__v¢´štf_chk -) - -85 #ià -__USE_FORTIFY_LEVEL - > 1 - -86 - $__LDBL_REDIR_DECL - ( -__årštf_chk -) - -87 - $__LDBL_REDIR_DECL - ( -__´štf_chk -) - -88 - $__LDBL_REDIR_DECL - ( -__vårštf_chk -) - -89 - $__LDBL_REDIR_DECL - ( -__v´štf_chk -) - -90 #ifdeà -__USE_XOPEN2K8 - - -91 - $__LDBL_REDIR_DECL - ( -__d´štf_chk -) - -92 - $__LDBL_REDIR_DECL - ( -__vd´štf_chk -) - -94 #ifdeà -__USE_GNU - - -95 - $__LDBL_REDIR_DECL - ( -__a¥rštf_chk -) - -96 - $__LDBL_REDIR_DECL - ( -__va¥rštf_chk -) - -97 - $__LDBL_REDIR_DECL - ( -__ob¡ack_´štf_chk -) - -98 - $__LDBL_REDIR_DECL - ( -__ob¡ack_v´štf_chk -) - - @/usr/include/bits/stdio.h - -19 #iâdeà -_STDIO_H - - -23 #iâdeà -__ex‹º_šlše - - -24  - #__STDIO_INLINE - -šlše - - - ) - -26  - #__STDIO_INLINE - -__ex‹º_šlše - - - ) - -30 #ifdeà -__USE_EXTERN_INLINES - - -33 #ià!( -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ -) - -35 -__STDIO_INLINE -  - -36 - $v´štf - (cÚ¡ * -__»¡riù - -__fmt -, -_G_va_li¡ - -__¬g -) - -38  - `vårštf - ( -¡dout -, -__fmt -, -__¬g -); - -39 - } -} - -43 -__STDIO_INLINE -  - -44 - $g‘ch¬ - () - -46  - `_IO_g‘c - ( -¡dš -); - -47 - } -} - -50 #ifdeà -__USE_MISC - - -52 -__STDIO_INLINE -  - -53 - $fg‘c_uÆocked - ( -FILE - * -__å -) - -55  - `_IO_g‘c_uÆocked - ( -__å -); - -56 - } -} - -60 #ifdeà -__USE_POSIX - - -62 -__STDIO_INLINE -  - -63 - $g‘c_uÆocked - ( -FILE - * -__å -) - -65  - `_IO_g‘c_uÆocked - ( -__å -); - -66 - } -} - -69 -__STDIO_INLINE -  - -70 - $g‘ch¬_uÆocked - () - -72  - `_IO_g‘c_uÆocked - ( -¡dš -); - -73 - } -} - -78 -__STDIO_INLINE -  - -79 - $putch¬ - ( -__c -) - -81  - `_IO_putc - ( -__c -, -¡dout -); - -82 - } -} - -85 #ifdeà -__USE_MISC - - -87 -__STDIO_INLINE -  - -88 - $åutc_uÆocked - ( -__c -, -FILE - * -__¡»am -) - -90  - `_IO_putc_uÆocked - ( -__c -, -__¡»am -); - -91 - } -} - -95 #ifdeà -__USE_POSIX - - -97 -__STDIO_INLINE -  - -98 - $putc_uÆocked - ( -__c -, -FILE - * -__¡»am -) - -100  - `_IO_putc_uÆocked - ( -__c -, -__¡»am -); - -101 - } -} - -104 -__STDIO_INLINE -  - -105 - $putch¬_uÆocked - ( -__c -) - -107  - `_IO_putc_uÆocked - ( -__c -, -¡dout -); - -108 - } -} - -112 #ifdef -__USE_GNU - - -114 -__STDIO_INLINE - -_IO_ssize_t - - -115 - $g‘lše - (** -__lš•Œ -, -size_t - * -__n -, -FILE - * -__¡»am -) - -117  - `__g‘d–im - ( -__lš•Œ -, -__n -, '\n', -__¡»am -); - -118 - } -} - -122 #ifdeà -__USE_MISC - - -124 -__STDIO_INLINE -  - -125 -__NTH - ( - $ãof_uÆocked - ( -FILE - * -__¡»am -)) - -127  - `_IO_ãof_uÆocked - ( -__¡»am -); - -128 - } -} - -131 -__STDIO_INLINE -  - -132 -__NTH - ( - $ã¼Ü_uÆocked - ( -FILE - * -__¡»am -)) - -134  - `_IO_ã¼Ü_uÆocked - ( -__¡»am -); - -135 - } -} - -141 #ià -defšed - -__USE_MISC - && defšed -__GNUC__ - && defšed -__OPTIMIZE__ - \ - -142 && ! -defšed - - g__ýlu¥lus - - -144  - #ä—d_uÆocked -( -±r -, -size -, -n -, -¡»am -) \ - -145 ( - `__ex‹nsiÚ__ - (( - `__bužtš_cÚ¡ªt_p - ( -size -è&& __bužtš_cÚ¡ªt_°( -n -) \ - -146 && ( -size_t -è( -size -è* (size_tè( -n -) <= 8 \ - -147 && ( -size_t -è( -size -) != 0) \ - -148 ? ({ * -__±r - = (*è( -±r -); \ - -149 -FILE - * -__¡»am - = ( -¡»am -); \ - -150 -size_t - -__út -; \ - -151  -__út - = ( -size_t -è( -size -è* (size_tè( -n -); \ - -152 -__út - > 0; --__cnt) \ - -154  -__c - = - `_IO_g‘c_uÆocked - ( -__¡»am -); \ - -155 ià( -__c - =ð -EOF -) \ - -157 * -__±r -++ = -__c -; \ - -159 (( -size_t -è( -size -è* (size_tè( -n -è- -__út -) \ - -160 / ( -size_t -è( -size -); }) \ - -161 : ((( - `__bužtš_cÚ¡ªt_p - ( -size -è&& ( -size_t -) (size) == 0) \ - -162 || ( - `__bužtš_cÚ¡ªt_p - ( -n -è&& ( -size_t -) (n) == 0)) \ - -164 ? ((è( -±r -), (è( -¡»am -), (è( -size -), \ - -165 (è( -n -), ( -size_t -) 0) \ - -166 : - `ä—d_uÆocked - ( -±r -, -size -, -n -, -¡»am -)))) - - ) - -168  - #fwr™e_uÆocked -( -±r -, -size -, -n -, -¡»am -) \ - -169 ( - `__ex‹nsiÚ__ - (( - `__bužtš_cÚ¡ªt_p - ( -size -è&& __bužtš_cÚ¡ªt_°( -n -) \ - -170 && ( -size_t -è( -size -è* (size_tè( -n -) <= 8 \ - -171 && ( -size_t -è( -size -) != 0) \ - -172 ? ({ cÚ¡ * -__±r - = (cÚ¡ *è( -±r -); \ - -173 -FILE - * -__¡»am - = ( -¡»am -); \ - -174 -size_t - -__út -; \ - -175  -__ú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žtš_cÚ¡ªt_p - ( -size -è&& ( -size_t -) (size) == 0) \ - -182 || ( - `__bužtš_cÚ¡ªt_p - ( -n -è&& ( -size_t -) (n) == 0)) \ - -184 ? ((è( -±r -), (è( -¡»am -), (è( -size -), \ - -185 (è( -n -), ( -size_t -) 0) \ - -186 : - `fwr™e_uÆocked - ( -±r -, -size -, -n -, -¡»am -)))) - - ) - -190 #undeà -__STDIO_INLINE - - - @/usr/include/bits/stdio2.h - -19 #iâdeà -_STDIO_H - - -23  - $__¥rštf_chk - (* -__»¡riù - -__s -,  -__æag -, -size_t - -__¦’ -, - -24 cÚ¡ * -__»¡riù - -__fÜm© -, ...è -__THROW -; - -25  - $__v¥rštf_chk - (* -__»¡riù - -__s -,  -__æag -, -size_t - -__¦’ -, - -26 cÚ¡ * -__»¡riù - -__fÜm© -, - -27 -_G_va_li¡ - -__­ -è -__THROW -; - -29 #ifdeà -__va_¬g_·ck - - -30 -__fÜtify_funùiÚ -  - -31 - `__NTH - ( - $¥rštf - (* -__»¡riù - -__s -, cÚ¡ *__»¡riù -__fmt -, ...)) - -33  - `__bužtš___¥rštf_chk - ( -__s -, -__USE_FORTIFY_LEVEL - - 1, - -34 - `__bos - ( -__s -), -__fmt -, - `__va_¬g_·ck - ()); - -35 - } -} - -36 #–ià! -defšed - -__ýlu¥lus - - -37  - #¥rštf -( -¡r -, ...) \ - -38 - `__bužtš___¥rštf_chk - ( -¡r -, -__USE_FORTIFY_LEVEL - - 1, - `__bos - (str), \ - -39 -__VA_ARGS__ -) - - ) - -42 -__fÜtify_funùiÚ -  - -43 -__NTH - ( - $v¥rštf - (* -__»¡riù - -__s -, cÚ¡ *__»¡riù -__fmt -, - -44 -_G_va_li¡ - -__­ -)) - -46  - `__bužtš___v¥rštf_chk - ( -__s -, -__USE_FORTIFY_LEVEL - - 1, - -47 - `__bos - ( -__s -), -__fmt -, -__­ -); - -48 - } -} - -50 #ià -defšed - -__USE_ISOC99 - || defšed -__USE_UNIX98 - - -52  - $__¢´štf_chk - (* -__»¡riù - -__s -, -size_t - -__n -,  -__æag -, - -53 -size_t - -__¦’ -, cÚ¡ * -__»¡riù - -__fÜm© -, - -54 ...è -__THROW -; - -55  - $__v¢´štf_chk - (* -__»¡riù - -__s -, -size_t - -__n -,  -__æag -, - -56 -size_t - -__¦’ -, cÚ¡ * -__»¡riù - -__fÜm© -, - -57 -_G_va_li¡ - -__­ -è -__THROW -; - -59 #ifdeà -__va_¬g_·ck - - -60 -__fÜtify_funùiÚ -  - -61 - `__NTH - ( - $¢´štf - (* -__»¡riù - -__s -, -size_t - -__n -, - -62 cÚ¡ * -__»¡riù - -__fmt -, ...)) - -64  - `__bužtš___¢´štf_chk - ( -__s -, -__n -, -__USE_FORTIFY_LEVEL - - 1, - -65 - `__bos - ( -__s -), -__fmt -, - `__va_¬g_·ck - ()); - -66 - } -} - -67 #–ià! -defšed - -__ýlu¥lus - - -68  - #¢´štf -( -¡r -, -Ën -, ...) \ - -69 - `__bužtš___¢´štf_chk - ( -¡r -, -Ën -, -__USE_FORTIFY_LEVEL - - 1, - `__bos - (str), \ - -70 -__VA_ARGS__ -) - - ) - -73 -__fÜtify_funùiÚ -  - -74 -__NTH - ( - $v¢´štf - (* -__»¡riù - -__s -, -size_t - -__n -, - -75 cÚ¡ * -__»¡riù - -__fmt -, -_G_va_li¡ - -__­ -)) - -77  - `__bužtš___v¢´štf_chk - ( -__s -, -__n -, -__USE_FORTIFY_LEVEL - - 1, - -78 - `__bos - ( -__s -), -__fmt -, -__­ -); - -79 - } -} - -83 #ià -__USE_FORTIFY_LEVEL - > 1 - -85  -__årštf_chk - ( -FILE - * -__»¡riù - -__¡»am -,  -__æag -, - -86 cÚ¡ * -__»¡riù - -__fÜm© -, ...); - -87  -__´štf_chk - ( -__æag -, cÚ¡ * -__»¡riù - -__fÜm© -, ...); - -88  -__vårštf_chk - ( -FILE - * -__»¡riù - -__¡»am -,  -__æag -, - -89 cÚ¡ * -__»¡riù - -__fÜm© -, -_G_va_li¡ - -__­ -); - -90  -__v´štf_chk - ( -__æag -, cÚ¡ * -__»¡riù - -__fÜm© -, - -91 -_G_va_li¡ - -__­ -); - -93 #ifdeà -__va_¬g_·ck - - -94 -__fÜtify_funùiÚ -  - -95 - $årštf - ( -FILE - * -__»¡riù - -__¡»am -, cÚ¡ *__»¡riù -__fmt -, ...) - -97  - `__årštf_chk - ( -__¡»am -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - -98 - `__va_¬g_·ck - ()); - -99 - } -} - -101 -__fÜtify_funùiÚ -  - -102 - $´štf - (cÚ¡ * -__»¡riù - -__fmt -, ...) - -104  - `__´štf_chk - ( -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - `__va_¬g_·ck - ()); - -105 - } -} - -106 #–ià! -defšed - -__ýlu¥lus - - -107  - #´štf -(...) \ - -108 - `__´štf_chk - ( -__USE_FORTIFY_LEVEL - - 1, -__VA_ARGS__ -) - - ) - -109  - #årštf -( -¡»am -, ...) \ - -110 - `__årštf_chk - ( -¡»am -, -__USE_FORTIFY_LEVEL - - 1, -__VA_ARGS__ -) - - ) - -113 -__fÜtify_funùiÚ -  - -114 - $v´štf - (cÚ¡ * -__»¡riù - -__fmt -, -_G_va_li¡ - -__­ -) - -116 #ifdeà -__USE_EXTERN_INLINES - - -117  - `__vårštf_chk - ( -¡dout -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, -__­ -); - -119  - `__v´štf_chk - ( -__USE_FORTIFY_LEVEL - - 1, -__fmt -, -__­ -); - -121 - } -} - -123 -__fÜtify_funùiÚ -  - -124 - $vårštf - ( -FILE - * -__»¡riù - -__¡»am -, - -125 cÚ¡ * -__»¡riù - -__fmt -, -_G_va_li¡ - -__­ -) - -127  - `__vårštf_chk - ( -__¡»am -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, -__­ -); - -128 - } -} - -130 #ifdeà -__USE_XOPEN2K8 - - -131  - $__d´štf_chk - ( -__fd -,  -__æag -, cÚ¡ * -__»¡riù - -__fmt -, - -132 ...è - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 3, 4))); - -133  - $__vd´štf_chk - ( -__fd -,  -__æag -, - -134 cÚ¡ * -__»¡riù - -__fmt -, -_G_va_li¡ - -__¬g -) - -135 - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 3, 0))); - -137 #ifdeà -__va_¬g_·ck - - -138 -__fÜtify_funùiÚ -  - -139 - $d´štf - ( -__fd -, cÚ¡ * -__»¡riù - -__fmt -, ...) - -141  - `__d´štf_chk - ( -__fd -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - -142 - `__va_¬g_·ck - ()); - -143 - } -} - -144 #–ià! -defšed - -__ýlu¥lus - - -145  - #d´štf -( -fd -, ...) \ - -146 - `__d´štf_chk - ( -fd -, -__USE_FORTIFY_LEVEL - - 1, -__VA_ARGS__ -) - - ) - -149 -__fÜtify_funùiÚ -  - -150 - $vd´štf - ( -__fd -, cÚ¡ * -__»¡riù - -__fmt -, -_G_va_li¡ - -__­ -) - -152  - `__vd´štf_chk - ( -__fd -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, -__­ -); - -153 - } -} - -156 #ifdeà -__USE_GNU - - -158  - $__a¥rštf_chk - (** -__»¡riù - -__±r -,  -__æag -, - -159 cÚ¡ * -__»¡riù - -__fmt -, ...) - -160 -__THROW - - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__´štf__ -, 3, 4))è -__wur -; - -161  - $__va¥rštf_chk - (** -__»¡riù - -__±r -,  -__æag -, - -162 cÚ¡ * -__»¡riù - -__fmt -, -_G_va_li¡ - -__¬g -) - -163 -__THROW - - `__©Œibu‹__ - (( - $__fÜm©__ - ( -__´štf__ -, 3, 0))è -__wur -; - -164  - $__ob¡ack_´štf_chk - ( -ob¡ack - * -__»¡riù - -__ob¡ack -, - -165  -__æag -, cÚ¡ * -__»¡riù - -__fÜm© -, - -167 -__THROW - - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 3, 4))); - -168  - $__ob¡ack_v´štf_chk - ( -ob¡ack - * -__»¡riù - -__ob¡ack -, - -169  -__æag -, - -170 cÚ¡ * -__»¡riù - -__fÜm© -, - -171 -_G_va_li¡ - -__¬gs -) - -172 -__THROW - - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__´štf__ -, 3, 0))); - -174 #ifdeà -__va_¬g_·ck - - -175 -__fÜtify_funùiÚ -  - -176 - `__NTH - ( - $a¥rštf - (** -__»¡riù - -__±r -, cÚ¡ *__»¡riù -__fmt -, ...)) - -178  - `__a¥rštf_chk - ( -__±r -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - -179 - `__va_¬g_·ck - ()); - -180 - } -} - -182 -__fÜtify_funùiÚ -  - -183 -__NTH - ( - $__a¥rštf - (** -__»¡riù - -__±r -, cÚ¡ *__»¡riù -__fmt -, - -186  - `__a¥rštf_chk - ( -__±r -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - -187 - `__va_¬g_·ck - ()); - -188 - } -} - -190 -__fÜtify_funùiÚ -  - -191 -__NTH - ( - $ob¡ack_´štf - ( -ob¡ack - * -__»¡riù - -__ob¡ack -, - -192 cÚ¡ * -__»¡riù - -__fmt -, ...)) - -194  - `__ob¡ack_´štf_chk - ( -__ob¡ack -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - -195 - `__va_¬g_·ck - ()); - -196 - } -} - -197 #–ià! -defšed - -__ýlu¥lus - - -198  - #a¥rštf -( -±r -, ...) \ - -199 - `__a¥rštf_chk - ( -±r -, -__USE_FORTIFY_LEVEL - - 1, -__VA_ARGS__ -) - - ) - -200  - #__a¥rštf -( -±r -, ...) \ - -201 - `__a¥rštf_chk - ( -±r -, -__USE_FORTIFY_LEVEL - - 1, -__VA_ARGS__ -) - - ) - -202  - #ob¡ack_´štf -( -ob¡ack -, ...) \ - -203 - `__ob¡ack_´štf_chk - ( -ob¡ack -, -__USE_FORTIFY_LEVEL - - 1, -__VA_ARGS__ -) - - ) - -206 -__fÜtify_funùiÚ -  - -207 -__NTH - ( - $va¥rštf - (** -__»¡riù - -__±r -, cÚ¡ *__»¡riù -__fmt -, - -208 -_G_va_li¡ - -__­ -)) - -210  - `__va¥rštf_chk - ( -__±r -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, -__­ -); - -211 - } -} - -213 -__fÜtify_funùiÚ -  - -214 -__NTH - ( - $ob¡ack_v´štf - ( -ob¡ack - * -__»¡riù - -__ob¡ack -, - -215 cÚ¡ * -__»¡riù - -__fmt -, -_G_va_li¡ - -__­ -)) - -217  - `__ob¡ack_v´štf_chk - ( -__ob¡ack -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - -218 -__­ -); - -219 - } -} - -225 #ià! -defšed - -__USE_ISOC11 - \ - -226 || ( -defšed - - g__ýlu¥lus - && __ýlu¥lu <ð201103L && !defšed -__USE_GNU -) - -227 * - $__g‘s_chk - (* -__¡r -, -size_t -è -__wur -; - -228 * - `__REDIRECT - ( -__g‘s_w¬n -, (* -__¡r -), -g‘s -) - -229 -__wur - - `__w¬Ç‰r - ("please use fgets or getline instead, gets can't " - -232 -__fÜtify_funùiÚ - -__wur - * - -233 - $g‘s - (* -__¡r -) - -235 ià( - `__bos - ( -__¡r -è!ð( -size_t -) -1) - -236  - `__g‘s_chk - ( -__¡r -, - `__bos - (__str)); - -237  - `__g‘s_w¬n - ( -__¡r -); - -238 - } -} - -241 * - $__fg‘s_chk - (* -__»¡riù - -__s -, -size_t - -__size -,  -__n -, - -242 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -243 * - `__REDIRECT - ( -__fg‘s_®Ÿs -, - -244 (* -__»¡riù - -__s -,  -__n -, - -245 -FILE - * -__»¡riù - -__¡»am -), -fg‘s -è -__wur -; - -246 * - `__REDIRECT - ( -__fg‘s_chk_w¬n -, - -247 (* -__»¡riù - -__s -, -size_t - -__size -,  -__n -, - -248 -FILE - * -__»¡riù - -__¡»am -), -__fg‘s_chk -) - -249 -__wur - - `__w¬Ç‰r - ("fgets called with bigger sizehan†ength " - -252 -__fÜtify_funùiÚ - -__wur - * - -253 - $fg‘s - (* -__»¡riù - -__s -,  -__n -, -FILE - *__»¡riù -__¡»am -) - -255 ià( - `__bos - ( -__s -è!ð( -size_t -) -1) - -257 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -) || __n <= 0) - -258  - `__fg‘s_chk - ( -__s -, - `__bos - (__s), -__n -, -__¡»am -); - -260 ià(( -size_t -è -__n - > - `__bos - ( -__s -)) - -261  - `__fg‘s_chk_w¬n - ( -__s -, - `__bos - (__s), -__n -, -__¡»am -); - -263  - `__fg‘s_®Ÿs - ( -__s -, -__n -, -__¡»am -); - -264 - } -} - -266 -size_t - - $__ä—d_chk - (* -__»¡riù - -__±r -, -size_t - -__±¾’ -, - -267 -size_t - -__size -, size_ˆ -__n -, - -268 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -269 -size_t - - `__REDIRECT - ( -__ä—d_®Ÿs -, - -270 (* -__»¡riù - -__±r -, -size_t - -__size -, - -271 -size_t - -__n -, -FILE - * -__»¡riù - -__¡»am -), - -272 -ä—d -è -__wur -; - -273 -size_t - - `__REDIRECT - ( -__ä—d_chk_w¬n -, - -274 (* -__»¡riù - -__±r -, -size_t - -__±¾’ -, - -275 -size_t - -__size -, size_ˆ -__n -, - -276 -FILE - * -__»¡riù - -__¡»am -), - -277 -__ä—d_chk -) - -278 -__wur - - `__w¬Ç‰r - ("fread called with bigger size *‚membhan†ength " - -281 -__fÜtify_funùiÚ - -__wur - -size_t - - -282 - $ä—d - (* -__»¡riù - -__±r -, -size_t - -__size -, size_ˆ -__n -, - -283 -FILE - * -__»¡riù - -__¡»am -) - -285 ià( - `__bos0 - ( -__±r -è!ð( -size_t -) -1) - -287 ià(! - `__bužtš_cÚ¡ªt_p - ( -__size -) - -288 || ! - `__bužtš_cÚ¡ªt_p - ( -__n -) - -289 || ( -__size - | -__n -è>ð((( -size_t -) 1) << (8 *  (size_t) / 2))) - -290  - `__ä—d_chk - ( -__±r -, - `__bos0 - (__±r), -__size -, -__n -, -__¡»am -); - -292 ià( -__size - * -__n - > - `__bos0 - ( -__±r -)) - -293  - `__ä—d_chk_w¬n - ( -__±r -, - `__bos0 - (__±r), -__size -, -__n -, -__¡»am -); - -295  - `__ä—d_®Ÿs - ( -__±r -, -__size -, -__n -, -__¡»am -); - -296 - } -} - -298 #ifdeà -__USE_GNU - - -299 * - $__fg‘s_uÆocked_chk - (* -__»¡riù - -__s -, -size_t - -__size -, - -300  -__n -, -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -301 * - `__REDIRECT - ( -__fg‘s_uÆocked_®Ÿs -, - -302 (* -__»¡riù - -__s -,  -__n -, - -303 -FILE - * -__»¡riù - -__¡»am -), -fg‘s_uÆocked -è -__wur -; - -304 * - `__REDIRECT - ( -__fg‘s_uÆocked_chk_w¬n -, - -305 (* -__»¡riù - -__s -, -size_t - -__size -,  -__n -, - -306 -FILE - * -__»¡riù - -__¡»am -), -__fg‘s_uÆocked_chk -) - -307 -__wur - - `__w¬Ç‰r - ("fgets_unlocked called with bigger sizehan†ength " - -310 -__fÜtify_funùiÚ - -__wur - * - -311 - $fg‘s_uÆocked - (* -__»¡riù - -__s -,  -__n -, -FILE - *__»¡riù -__¡»am -) - -313 ià( - `__bos - ( -__s -è!ð( -size_t -) -1) - -315 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -) || __n <= 0) - -316  - `__fg‘s_uÆocked_chk - ( -__s -, - `__bos - (__s), -__n -, -__¡»am -); - -318 ià(( -size_t -è -__n - > - `__bos - ( -__s -)) - -319  - `__fg‘s_uÆocked_chk_w¬n - ( -__s -, - `__bos - (__s), -__n -, -__¡»am -); - -321  - `__fg‘s_uÆocked_®Ÿs - ( -__s -, -__n -, -__¡»am -); - -322 - } -} - -325 #ifdeà -__USE_MISC - - -326 #undeà -ä—d_uÆocked - - -327 -size_t - - $__ä—d_uÆocked_chk - (* -__»¡riù - -__±r -, -size_t - -__±¾’ -, - -328 -size_t - -__size -, size_ˆ -__n -, - -329 -FILE - * -__»¡riù - -__¡»am -è -__wur -; - -330 -size_t - - `__REDIRECT - ( -__ä—d_uÆocked_®Ÿs -, - -331 (* -__»¡riù - -__±r -, -size_t - -__size -, - -332 -size_t - -__n -, -FILE - * -__»¡riù - -__¡»am -), - -333 -ä—d_uÆocked -è -__wur -; - -334 -size_t - - `__REDIRECT - ( -__ä—d_uÆocked_chk_w¬n -, - -335 (* -__»¡riù - -__±r -, -size_t - -__±¾’ -, - -336 -size_t - -__size -, size_ˆ -__n -, - -337 -FILE - * -__»¡riù - -__¡»am -), - -338 -__ä—d_uÆocked_chk -) - -339 -__wur - - `__w¬Ç‰r - ("fread_unlocked called with bigger size *‚membhan " - -342 -__fÜtify_funùiÚ - -__wur - -size_t - - -343 - $ä—d_uÆocked - (* -__»¡riù - -__±r -, -size_t - -__size -, size_ˆ -__n -, - -344 -FILE - * -__»¡riù - -__¡»am -) - -346 ià( - `__bos0 - ( -__±r -è!ð( -size_t -) -1) - -348 ià(! - `__bužtš_cÚ¡ªt_p - ( -__size -) - -349 || ! - `__bužtš_cÚ¡ªt_p - ( -__n -) - -350 || ( -__size - | -__n -è>ð((( -size_t -) 1) << (8 *  (size_t) / 2))) - -351  - `__ä—d_uÆocked_chk - ( -__±r -, - `__bos0 - (__±r), -__size -, -__n -, - -352 -__¡»am -); - -354 ià( -__size - * -__n - > - `__bos0 - ( -__±r -)) - -355  - `__ä—d_uÆocked_chk_w¬n - ( -__±r -, - `__bos0 - (__±r), -__size -, -__n -, - -356 -__¡»am -); - -359 #ifdeà -__USE_EXTERN_INLINES - - -360 ià( - `__bužtš_cÚ¡ªt_p - ( -__size -) - -361 && - `__bužtš_cÚ¡ªt_p - ( -__n -) - -362 && ( -__size - | -__n -è< ((( -size_t -) 1) << (8 *  (size_t) / 2)) - -363 && -__size - * -__n - <= 8) - -365 -size_t - -__út - = -__size - * -__n -; - -366 * -__ýŒ - = (*è -__±r -; - -367 ià( -__út - == 0) - -370 ; -__út - > 0; --__cnt) - -372  -__c - = - `_IO_g‘c_uÆocked - ( -__¡»am -); - -373 ià( -__c - =ð -EOF -) - -375 * -__ýŒ -++ = -__c -; - -377  ( -__ýŒ - - (*è -__±r -è/ -__size -; - -380  - `__ä—d_uÆocked_®Ÿs - ( -__±r -, -__size -, -__n -, -__¡»am -); - -381 - } -} - - @/usr/include/bits/stdio_lim.h - -18 #ià! -defšed - -_STDIO_H - && !defšed -__Ãed_FOPEN_MAX - && !defšed -__Ãed_IOV_MAX - - -22 #ifdeà -_STDIO_H - - -23  - #L_tm²am - 20 - - ) - -24  - #TMP_MAX - 238328 - - ) - -25  - #FILENAME_MAX - 4096 - - ) - -27 #ifdeà -__USE_POSIX - - -28  - #L_ù”mid - 9 - - ) - -29 #ià! -defšed - -__USE_XOPEN2K - || defšed -__USE_GNU - - -30  - #L_cu£rid - 9 - - ) - -35 #ià -defšed - -__Ãed_FOPEN_MAX - || defšed -_STDIO_H - - -36 #undeà -FOPEN_MAX - - -37  - #FOPEN_MAX - 16 - - ) - -40 #ià -defšed - -__Ãed_IOV_MAX - && !defšed -IOV_MAX - - -41  - #IOV_MAX - 1024 - - ) - - @/usr/include/bits/stdlib-bsearch.h - -19 -__ex‹º_šlše - * - -20 - $b£¬ch - (cÚ¡ * -__key -, cÚ¡ * -__ba£ -, -size_t - -__nmemb -, size_ˆ -__size -, - -21 -__com·r_â_t - -__com·r -) - -23 -size_t - -__l -, -__u -, -__idx -; - -24 cÚ¡ * -__p -; - -25  -__com·risÚ -; - -27 -__l - = 0; - -28 -__u - = -__nmemb -; - -29  -__l - < -__u -) - -31 -__idx - = ( -__l - + -__u -) / 2; - -32 -__p - = (*è(((cÚ¡ *è -__ba£ -è+ ( -__idx - * -__size -)); - -33 -__com·risÚ - = (* -__com·r -è( -__key -, -__p -); - -34 ià( -__com·risÚ - < 0) - -35 -__u - = -__idx -; - -36 ià( -__com·risÚ - > 0) - -37 -__l - = -__idx - + 1; - -39  (*è -__p -; - -42  -NULL -; - -43 - } -} - - @/usr/include/bits/stdlib-float.h - -19 #iâdeà -_STDLIB_H - - -23 #ifdeà -__USE_EXTERN_INLINES - - -24 -__BEGIN_NAMESPACE_STD - - -25 -__ex‹º_šlše -  - -26 -__NTH - ( - $©of - (cÚ¡ * -__Ō -)) - -28  - `¡¹od - ( -__Ō -, (**è -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 * - $__»®·th_chk - (cÚ¡ * -__»¡riù - -__Çme -, - -24 * -__»¡riù - -__»sÞved -, - -25 -size_t - -__»sÞvedËn -è -__THROW - -__wur -; - -26 * - `__REDIRECT_NTH - ( -__»®·th_®Ÿs -, - -27 (cÚ¡ * -__»¡riù - -__Çme -, - -28 * -__»¡riù - -__»sÞved -), -»®·th -è -__wur -; - -29 * - `__REDIRECT_NTH - ( -__»®·th_chk_w¬n -, - -30 (cÚ¡ * -__»¡riù - -__Çme -, - -31 * -__»¡riù - -__»sÞved -, - -32 -size_t - -__»sÞvedËn -), -__»®·th_chk -è -__wur - - -33 - `__w¬Ç‰r - ("second‡rgument of„ealpath must beƒither NULL or‡t " - -36 -__fÜtify_funùiÚ - -__wur - * - -37 - `__NTH - ( - $»®·th - (cÚ¡ * -__»¡riù - -__Çme -, *__»¡riù -__»sÞved -)) - -39 ià( - `__bos - ( -__»sÞved -è!ð( -size_t -) -1) - -41 #ià -defšed - -_LIBC_LIMITS_H_ - && defšed -PATH_MAX - - -42 ià( - `__bos - ( -__»sÞved -è< -PATH_MAX -) - -43  - `__»®·th_chk_w¬n - ( -__Çme -, -__»sÞved -, - `__bos - (__resolved)); - -45  - `__»®·th_chk - ( -__Çme -, -__»sÞved -, - `__bos - (__resolved)); - -48  - `__»®·th_®Ÿs - ( -__Çme -, -__»sÞved -); - -49 - } -} - -52  - $__±¢ame_r_chk - ( -__fd -, * -__buf -, -size_t - -__buæ’ -, - -53 -size_t - -__ėl -è -__THROW - - `__nÚnuÎ - ((2)); - -54  - `__REDIRECT_NTH - ( -__±¢ame_r_®Ÿs -, ( -__fd -, * -__buf -, - -55 -size_t - -__buæ’ -), -±¢ame_r -) - -56 - `__nÚnuÎ - ((2)); - -57  - `__REDIRECT_NTH - ( -__±¢ame_r_chk_w¬n -, - -58 ( -__fd -, * -__buf -, -size_t - -__buæ’ -, - -59 -size_t - -__ėl -), -__±¢ame_r_chk -) - -60 - `__nÚnuÎ - ((2)è - `__w¬Ç‰r - ("ptsname_r called with buflen biggerhan " - -63 -__fÜtify_funùiÚ -  - -64 - `__NTH - ( - $±¢ame_r - ( -__fd -, * -__buf -, -size_t - -__buæ’ -)) - -66 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -68 ià(! - `__bužtš_cÚ¡ªt_p - ( -__buæ’ -)) - -69  - `__±¢ame_r_chk - ( -__fd -, -__buf -, -__buæ’ -, - `__bos - (__buf)); - -70 ià( -__buæ’ - > - `__bos - ( -__buf -)) - -71  - `__±¢ame_r_chk_w¬n - ( -__fd -, -__buf -, -__buæ’ -, - `__bos - (__buf)); - -73  - `__±¢ame_r_®Ÿs - ( -__fd -, -__buf -, -__buæ’ -); - -74 - } -} - -77  - $__wùomb_chk - (* -__s -, -wch¬_t - -__wch¬ -, -size_t - -__buæ’ -) - -78 -__THROW - -__wur -; - -79  - `__REDIRECT_NTH - ( -__wùomb_®Ÿs -, (* -__s -, -wch¬_t - -__wch¬ -), - -80 -wùomb -è -__wur -; - -82 -__fÜtify_funùiÚ - -__wur -  - -83 - `__NTH - ( - $wùomb - (* -__s -, -wch¬_t - -__wch¬ -)) - -88  - #__STDLIB_MB_LEN_MAX - 16 - - ) - -89 #ià -defšed - -MB_LEN_MAX - && MB_LEN_MAX !ð -__STDLIB_MB_LEN_MAX - - -92 ià( - `__bos - ( -__s -è!ð( -size_t -è-1 && -__STDLIB_MB_LEN_MAX - > __bos (__s)) - -93  - `__wùomb_chk - ( -__s -, -__wch¬ -, - `__bos - (__s)); - -94  - `__wùomb_®Ÿs - ( -__s -, -__wch¬ -); - -95 - } -} - -98 -size_t - - $__mb¡owcs_chk - ( -wch¬_t - * -__»¡riù - -__d¡ -, - -99 cÚ¡ * -__»¡riù - -__¤c -, - -100 -size_t - -__Ën -, size_ˆ -__d¡Ën -è -__THROW -; - -101 -size_t - - `__REDIRECT_NTH - ( -__mb¡owcs_®Ÿs -, - -102 ( -wch¬_t - * -__»¡riù - -__d¡ -, - -103 cÚ¡ * -__»¡riù - -__¤c -, - -104 -size_t - -__Ën -), -mb¡owcs -); - -105 -size_t - - `__REDIRECT_NTH - ( -__mb¡owcs_chk_w¬n -, - -106 ( -wch¬_t - * -__»¡riù - -__d¡ -, - -107 cÚ¡ * -__»¡riù - -__¤c -, - -108 -size_t - -__Ën -, size_ˆ -__d¡Ën -), -__mb¡owcs_chk -) - -109 - `__w¬Ç‰r - ("mbstowcs called with dst buffer smallerhan†en " - -112 -__fÜtify_funùiÚ - -size_t - - -113 - `__NTH - ( - $mb¡owcs - ( -wch¬_t - * -__»¡riù - -__d¡ -, cÚ¡ *__»¡riù -__¤c -, - -114 -size_t - -__Ën -)) - -116 ià( - `__bos - ( -__d¡ -è!ð( -size_t -) -1) - -118 ià(! - `__bužtš_cÚ¡ªt_p - ( -__Ën -)) - -119  - `__mb¡owcs_chk - ( -__d¡ -, -__¤c -, -__Ën -, - -120 - `__bos - ( -__d¡ -è/  ( -wch¬_t -)); - -122 ià( -__Ën - > - `__bos - ( -__d¡ -è/  ( -wch¬_t -)) - -123  - `__mb¡owcs_chk_w¬n - ( -__d¡ -, -__¤c -, -__Ën -, - -124 - `__bos - ( -__d¡ -è/  ( -wch¬_t -)); - -126  - `__mb¡owcs_®Ÿs - ( -__d¡ -, -__¤c -, -__Ën -); - -127 - } -} - -130 -size_t - - $__wc¡ombs_chk - (* -__»¡riù - -__d¡ -, - -131 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -132 -size_t - -__Ën -, size_ˆ -__d¡Ën -è -__THROW -; - -133 -size_t - - `__REDIRECT_NTH - ( -__wc¡ombs_®Ÿs -, - -134 (* -__»¡riù - -__d¡ -, - -135 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -136 -size_t - -__Ën -), -wc¡ombs -); - -137 -size_t - - `__REDIRECT_NTH - ( -__wc¡ombs_chk_w¬n -, - -138 (* -__»¡riù - -__d¡ -, - -139 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -140 -size_t - -__Ën -, size_ˆ -__d¡Ën -), -__wc¡ombs_chk -) - -141 - `__w¬Ç‰r - ("wcstombs called with dst buffer smallerhan†en"); - -143 -__fÜtify_funùiÚ - -size_t - - -144 - `__NTH - ( - $wc¡ombs - (* -__»¡riù - -__d¡ -, cÚ¡ -wch¬_t - *__»¡riù -__¤c -, - -145 -size_t - -__Ën -)) - -147 ià( - `__bos - ( -__d¡ -è!ð( -size_t -) -1) - -149 ià(! - `__bužtš_cÚ¡ªt_p - ( -__Ën -)) - -150  - `__wc¡ombs_chk - ( -__d¡ -, -__¤c -, -__Ën -, - `__bos - (__dst)); - -151 ià( -__Ën - > - `__bos - ( -__d¡ -)) - -152  - `__wc¡ombs_chk_w¬n - ( -__d¡ -, -__¤c -, -__Ën -, - `__bos - (__dst)); - -154  - `__wc¡ombs_®Ÿs - ( -__d¡ -, -__¤c -, -__Ën -); - -155 - } -} - - @/usr/include/bits/string.h - -19 #iâdeà -_STRING_H - - -24  - #_STRING_INLINE_uÇligÃd - 1 - - ) - -27  - #_HAVE_STRING_ARCH_mempýy - 1 - - ) - -31 #ià! -defšed - -__x86_64__ - && (defšed -__i486__ - || defšed -__³Áium__ - \ - -32 || -defšed - - g__³Áium´o__ - || defšed - g__³Áium4__ - \ - -33 || -defšed - - g__nocÚa__ - || defšed - g__©om__ - \ - -34 || -defšed - - g__cÜe2__ - || defšed - g__cÜei7__ - \ - -35 || -defšed - - g__§ndybridge__ - || defšed - g__hasw–l__ - \ - -36 || -defšed - - g__bÚÃÎ__ - || defšed - g__sžv”mÚt__ - \ - -37 || -defšed - - g__k6__ - || defšed - g__geode__ - \ - -38 || -defšed - - g__k8__ - || defšed - g__©hlÚ__ - \ - -39 || -defšed - - g__amdçm10__ - || defšed - g__bdv”1__ - \ - -40 || -defšed - - g__bdv”2__ - || defšed - g__bdv”3__ - \ - -41 || -defšed - - g__bdv”4__ - || defšed - g__btv”1__ - \ - -42 || -defšed - - g__btv”2__ -) - -46 #ià! -defšed - -__NO_STRING_INLINES - && defšed -__USE_STRING_INLINES - \ - -47 && -defšed - - g__GNUC__ - && __GNUC__ >= 2 - -49 #iâdeà -__STRING_INLINE - - -50 #iâdeà -__ex‹º_šlše - - -51  - #__STRING_INLINE - -šlše - - - ) - -53  - #__STRING_INLINE - -__ex‹º_šlše - - - ) - -58  - #__STRING_SMALL_GET16 -( -¤c -, -idx -) \ - -59 ((((cÚ¡ *è( -¤c -))[ -idx - + 1] << 8) \ - -60 | ((cÚ¡ *è( -¤c -))[ -idx -]) - - ) - -61  - #__STRING_SMALL_GET32 -( -¤c -, -idx -) \ - -62 (((((cÚ¡ *è( -¤c -))[ -idx - + 3] << 8 \ - -63 | ((cÚ¡ *è( -¤c -))[ -idx - + 2]) << 8 \ - -64 | ((cÚ¡ *è( -¤c -))[ -idx - + 1]) << 8 \ - -65 | ((cÚ¡ *è( -¤c -))[ -idx -]) - - ) - -69  - #_HAVE_STRING_ARCH_memýy - 1 - - ) - -70  - #memýy -( -de¡ -, -¤c -, -n -) \ - -71 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -n -) \ - -72 ? - `__memýy_c - (( -de¡ -), ( -¤c -), ( -n -)) \ - -73 : - `__memýy_g - (( -de¡ -), ( -¤c -), ( -n -)))) - - ) - -74  - #__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 - * -__memýy_by4 - (* -__de¡ -, cÚ¡ * -__¤c -, - -84 -size_t - -__n -); - -86 -__STRING_INLINE - * - -87 - $__memýy_by4 - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -) - -89  -__d0 -, -__d1 -; - -90 * -__tmp - = -__de¡ -; - -91 -__asm__ - -__vÞ©že__ - - -99 : "=&r" ( -__d0 -), "=&r" ( -__tmp -), "=&r" ( -__¤c -), "=&r" ( -__d1 -) - -100 : "1" ( -__tmp -), "2" ( -__¤c -), "3" ( -__n - / 4) - -102  -__de¡ -; - -103 - } -} - -105 -__STRING_INLINE - * -__memýy_by2 - (* -__de¡ -, cÚ¡ * -__¤c -, - -106 -size_t - -__n -); - -108 -__STRING_INLINE - * - -109 - $__memýy_by2 - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -) - -111  -__d0 -, -__d1 -; - -112 * -__tmp - = -__de¡ -; - -113 -__asm__ - -__vÞ©že__ - - -126 : "=&q" ( -__d0 -), "=&r" ( -__tmp -), "=&r" ( -__¤c -), "=&r" ( -__d1 -) - -127 : "1" ( -__tmp -), "2" ( -__¤c -), "3" ( -__n - / 2) - -129  -__de¡ -; - -130 - } -} - -132 -__STRING_INLINE - * -__memýy_g - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -); - -134 -__STRING_INLINE - * - -135 - $__memýy_g - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -) - -137  -__d0 -, -__d1 -, -__d2 -; - -138 * -__tmp - = -__de¡ -; - -139 -__asm__ - -__vÞ©že__ - - -150 : "=&c" ( -__d0 -), "=&D" ( -__d1 -), "=&S" ( -__d2 -), - -151 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__de¡ -) - -152 : "0" ( -__n -), "1" ( -__tmp -), "2" ( -__¤c -), - -153 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__¤c -) - -155  -__de¡ -; - -156 - } -} - -158  - #_HAVE_STRING_ARCH_memmove - 1 - - ) - -159 #iâdeà -_FORCE_INLINES - - -162  - #memmove -( -de¡ -, -¤c -, -n -è - `__memmove_g - (de¡, src,‚) - - ) - -164 -__STRING_INLINE - * - $__memmove_g - (*, cÚ¡ *, -size_t -) - -165 - `__asm__ - ("memmove"); - -167 -__STRING_INLINE - * - -168 - $__memmove_g - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -) - -170  -__d0 -, -__d1 -, -__d2 -; - -171 * -__tmp - = -__de¡ -; - -172 ià( -__de¡ - < -__¤c -) - -173 -__asm__ - -__vÞ©že__ - - -176 : "=&c" ( -__d0 -), "=&S" ( -__d1 -), "=&D" ( -__d2 -), - -177 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__de¡ -) - -178 : "0" ( -__n -), "1" ( -__¤c -), "2" ( -__tmp -), - -179 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__¤c -)); - -181 -__asm__ - -__vÞ©že__ - - -187 : "=&c" ( -__d0 -), "=&S" ( -__d1 -), "=&D" ( -__d2 -), - -188 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__de¡ -) - -189 : "0" ( -__n -), "1" (__À+ (cÚ¡ *è -__¤c -), - -190 "2" ( -__n - + (*è -__tmp -), - -191 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__¤c -)); - -192  -__de¡ -; - -193 - } -} - -197  - #_HAVE_STRING_ARCH_memcmp - 1 - - ) - -198 #iâdeà -_FORCE_INLINES - - -199 #iâdeà -__PIC__ - - -201 -__STRING_INLINE -  - -202 - $memcmp - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, -size_t - -__n -) - -204  -__d0 -, -__d1 -, -__d2 -; - -205  -__»s -; - -206 -__asm__ - -__vÞ©že__ - - -214 : "=&a" ( -__»s -), "=&S" ( -__d0 -), "=&D" ( -__d1 -), "=&c" ( -__d2 -) - -215 : "0" (0), "1" ( -__s1 -), "2" ( -__s2 -), "3" ( -__n -), - -216 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s1 -), - -217 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s2 -) - -219  -__»s -; - -220 - } -} - -225  - #_HAVE_STRING_ARCH_mem£t - 1 - - ) - -226  - #_USE_STRING_ARCH_mem£t - 1 - - ) - -227  - #mem£t -( -s -, -c -, -n -) \ - -228 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -n -) && (n) <= 16 \ - -229 ? (( -n -) == 1 \ - -230 ? - `__mem£t_c1 - (( -s -), ( -c -)) \ - -231 : - `__mem£t_gc - (( -s -), ( -c -), ( -n -))) \ - -232 : ( - `__bužtš_cÚ¡ªt_p - ( -c -) \ - -233 ? ( - `__bužtš_cÚ¡ªt_p - ( -n -) \ - -234 ? - `__mem£t_cú - (( -s -), ( -c -), ( -n -)) \ - -235 : - `mem£t - (( -s -), ( -c -), ( -n -))) \ - -236 : ( - `__bužtš_cÚ¡ªt_p - ( -n -) \ - -237 ? - `__mem£t_gú - (( -s -), ( -c -), ( -n -)) \ - -238 : - `mem£t - (( -s -), ( -c -), ( -n -)))))) - - ) - -240  - #__mem£t_c1 -( -s -, -c -è({ * -__s - = (s); \ - -241 *((*è -__s -èð(è( -c -); \ - -242 -__s -; }) - - ) - -244  - #__mem£t_gc -( -s -, -c -, -n -) \ - -245 ({ * -__s - = ( -s -); \ - -247  -__ui -; \ - -248  -__usi -; \ - -249  -__uc -; \ - -250 } * -__u - = -__s -; \ - -251  -__c - = ((è((è( -c -))) * 0x01010101; \ - -257 ià(( -n -) == 3 || (n) >= 5) \ - -258 -__asm__ - - `__vÞ©že__ - ("" : "ô" ( -__c -) : "0" (__c)); \ - -261  -n -) \ - -264 -__u --> -__ui - = -__c -; \ - -265 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -267 -__u --> -__ui - = -__c -; \ - -268 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -270 -__u --> -__ui - = -__c -; \ - -271 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -273 -__u --> -__usi - = (è -__c -; \ - -274 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); \ - -275 -__u --> -__uc - = (è -__c -; \ - -279 -__u --> -__ui - = -__c -; \ - -280 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -282 -__u --> -__ui - = -__c -; \ - -283 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -285 -__u --> -__ui - = -__c -; \ - -286 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -288 -__u --> -__usi - = (è -__c -; \ - -292 -__u --> -__ui - = -__c -; \ - -293 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -295 -__u --> -__ui - = -__c -; \ - -296 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -298 -__u --> -__ui - = -__c -; \ - -299 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -301 -__u --> -__uc - = (è -__c -; \ - -305 -__u --> -__ui - = -__c -; \ - -306 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -308 -__u --> -__ui - = -__c -; \ - -309 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -311 -__u --> -__ui - = -__c -; \ - -312 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -314 -__u --> -__ui - = -__c -; \ - -319 -__s -; }) - - ) - -321  - #__mem£t_cú -( -s -, -c -, -n -) \ - -322 ((( -n -) % 4 == 0) \ - -323 ? - `__mem£t_cú_by4 - ( -s -, ((è((è( -c -))) * 0x01010101,\ - -324 -n -) \ - -325 : ((( -n -) % 2 == 0) \ - -326 ? - `__mem£t_cú_by2 - ( -s -, \ - -327 ((è((è( -c -))) * 0x01010101,\ - -328 -n -) \ - -329 : - `mem£t - ( -s -, -c -, -n -))) - - ) - -331 -__STRING_INLINE - * -__mem£t_cú_by4 - (* -__s -,  -__c -, - -332 -size_t - -__n -); - -334 -__STRING_INLINE - * - -335 - $__mem£t_cú_by4 - (* -__s -,  -__c -, -size_t - -__n -) - -337 * -__tmp - = -__s -; - -338  -__d0 -; - -339 #ifdeà -__i686__ - - -340 -__asm__ - -__vÞ©že__ - - -343 : "=&a" ( -__c -), "=&D" ( -__tmp -), "=&c" ( -__d0 -), - -344 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -345 : "0" ((è -__c -), "1" ( -__tmp -), "2" ( -__n - / 4) - -348 -__asm__ - -__vÞ©že__ - - -354 : "=&r" ( -__c -), "=&r" ( -__tmp -), "=&r" ( -__d0 -), - -355 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -356 : "0" ((è -__c -), "1" ( -__tmp -), "2" ( -__n - / 4) - -359  -__s -; - -360 - } -} - -362 -__STRING_INLINE - * -__mem£t_cú_by2 - (* -__s -,  -__c -, - -363 -size_t - -__n -); - -365 -__STRING_INLINE - * - -366 - $__mem£t_cú_by2 - (* -__s -,  -__c -, -size_t - -__n -) - -368  -__d0 -, -__d1 -; - -369 * -__tmp - = -__s -; - -370 #ifdeà -__i686__ - - -371 -__asm__ - -__vÞ©že__ - - -375 : "=&a" ( -__d0 -), "=&D" ( -__tmp -), "=&c" ( -__d1 -), - -376 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -377 : "0" ((è -__c -), "1" ( -__tmp -), "2" ( -__n - / 4) - -380 -__asm__ - -__vÞ©že__ - - -386 : "=&q" ( -__d0 -), "=&r" ( -__tmp -), "=&r" ( -__d1 -), - -387 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -388 : "0" ((è -__c -), "1" ( -__tmp -), "2" ( -__n - / 4) - -391  -__s -; - -392 - } -} - -394  - #__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 - * -__mem£t_gú_by4 - (* -__s -,  -__c -, -size_t - -__n -); - -403 -__STRING_INLINE - * - -404 - $__mem£t_gú_by4 - (* -__s -,  -__c -, -size_t - -__n -) - -406 * -__tmp - = -__s -; - -407  -__d0 -; - -408 -__asm__ - -__vÞ©že__ - - -418 : "=&q" ( -__c -), "=&r" ( -__tmp -), "=&r" ( -__d0 -), - -419 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -420 : "0" ((è -__c -), "1" ( -__tmp -), "2" ( -__n - / 4) - -422  -__s -; - -423 - } -} - -425 -__STRING_INLINE - * -__mem£t_gú_by2 - (* -__s -,  -__c -, -size_t - -__n -); - -427 -__STRING_INLINE - * - -428 - $__mem£t_gú_by2 - (* -__s -,  -__c -, -size_t - -__n -) - -430  -__d0 -, -__d1 -; - -431 * -__tmp - = -__s -; - -432 -__asm__ - -__vÞ©že__ - - -443 : "=&q" ( -__d0 -), "=&r" ( -__tmp -), "=&r" ( -__d1 -), - -444 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -445 : "0" ((è -__c -), "1" ( -__tmp -), "2" ( -__n - / 4) - -447  -__s -; - -448 - } -} - -452  - #_HAVE_STRING_ARCH_memchr - 1 - - ) - -453 #iâdeà -_FORCE_INLINES - - -454 -__STRING_INLINE - * - -455 - $memchr - (cÚ¡ * -__s -,  -__c -, -size_t - -__n -) - -457  -__d0 -; - -458 #ifdeà -__i686__ - - -459  -__d1 -; - -461 * -__»s -; - -462 ià( -__n - == 0) - -463  -NULL -; - -464 #ifdeà -__i686__ - - -465 -__asm__ - -__vÞ©že__ - - -469 : "=D" ( -__»s -), "=&c" ( -__d0 -), "=&r" ( -__d1 -) - -470 : "a" ( -__c -), "0" ( -__s -), "1" ( -__n -), "2" (1), - -471 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -474 -__asm__ - -__vÞ©že__ - - -480 : "=D" ( -__»s -), "=&c" ( -__d0 -) - -481 : "a" ( -__c -), "0" ( -__s -), "1" ( -__n -), - -482 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -485  -__»s - - 1; - -486 - } -} - -489  - #_HAVE_STRING_ARCH_memrchr - 1 - - ) - -490 #iâdeà -_FORCE_INLINES - - -491 -__STRING_INLINE - * -__memrchr - (cÚ¡ * -__s -,  -__c -, -size_t - -__n -); - -493 -__STRING_INLINE - * - -494 - $__memrchr - (cÚ¡ * -__s -,  -__c -, -size_t - -__n -) - -496  -__d0 -; - -497 #ifdeà -__i686__ - - -498  -__d1 -; - -500 * -__»s -; - -501 ià( -__n - == 0) - -502  -NULL -; - -503 #ifdeà -__i686__ - - -504 -__asm__ - -__vÞ©že__ - - -510 : "=D" ( -__»s -), "=&c" ( -__d0 -), "=&r" ( -__d1 -) - -511 : "a" ( -__c -), "0" ( -__s - + -__n - - 1), "1" (__n), "2" (-1), - -512 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -515 -__asm__ - -__vÞ©že__ - - -522 : "=D" ( -__»s -), "=&c" ( -__d0 -) - -523 : "a" ( -__c -), "0" ( -__s - + -__n - - 1), "1" (__n), - -524 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s -) - -527  -__»s -; - -528 - } -} - -529 #ifdeà -__USE_GNU - - -530  - #memrchr -( -s -, -c -, -n -è - `__memrchr - ((s), (c), (n)) - - ) - -535  - #_HAVE_STRING_ARCH_¿wmemchr - 1 - - ) - -536 -__STRING_INLINE - * -__¿wmemchr - (cÚ¡ * -__s -,  -__c -); - -538 #iâdeà -_FORCE_INLINES - - -539 -__STRING_INLINE - * - -540 - $__¿wmemchr - (cÚ¡ * -__s -,  -__c -) - -542  -__d0 -; - -543 * -__»s -; - -544 -__asm__ - -__vÞ©že__ - - -547 : "=D" ( -__»s -), "=&c" ( -__d0 -) - -548 : "a" ( -__c -), "0" ( -__s -), "1" (0xffffffff), - -549 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -551  -__»s - - 1; - -552 - } -} - -553 #ifdeà -__USE_GNU - - -554 -__STRING_INLINE - * - -555 - $¿wmemchr - (cÚ¡ * -__s -,  -__c -) - -557  - `__¿wmemchr - ( -__s -, -__c -); - -558 - } -} - -564  - #_HAVE_STRING_ARCH_¡¾’ - 1 - - ) - -565  - #¡¾’ -( -¡r -) \ - -566 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¡r -) \ - -567 ? - `__bužtš_¡¾’ - ( -¡r -) \ - -568 : - `__¡¾’_g - ( -¡r -))) - - ) - -569 -__STRING_INLINE - -size_t - -__¡¾’_g - (cÚ¡ * -__¡r -); - -571 -__STRING_INLINE - -size_t - - -572 - $__¡¾’_g - (cÚ¡ * -__¡r -) - -574  -__dummy -; - -575 cÚ¡ * -__tmp - = -__¡r -; - -576 -__asm__ - -__vÞ©že__ - - -582 : "ô" ( -__tmp -), "=&q" ( -__dummy -) - -583 : "0" ( -__¡r -), - -584 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__¡r -) - -586  -__tmp - - -__¡r - - 1; - -587 - } -} - -591  - #_HAVE_STRING_ARCH_¡rýy - 1 - - ) - -592  - #¡rýy -( -de¡ -, -¤c -) \ - -593 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -) \ - -594 ? ( (( -¤c -)[0]è=ð1 && - `¡¾’ - (src) + 1 <= 8 \ - -595 ? - `__¡rýy_a_sm®l - (( -de¡ -), ( -¤c -), - `¡¾’ - (src) + 1) \ - -596 : (*è - `memýy - ((*è( -de¡ -), \ - -597 (cÚ¡ *è( -¤c -), \ - -598 - `¡¾’ - ( -¤c -) + 1)) \ - -599 : - `__¡rýy_g - (( -de¡ -), ( -¤c -)))) - - ) - -601  - #__¡rýy_a_sm®l -( -de¡ -, -¤c -, -¤þ’ -) \ - -602 ( - `__ex‹nsiÚ__ - ({ * -__de¡ - = ( -de¡ -); \ - -604  -__ui -; \ - -605  -__usi -; \ - -606  -__uc -; \ - -607  -__c -; \ - -608 } * -__u - = (*è -__de¡ -; \ - -609  -¤þ’ -) \ - -612 -__u --> -__uc - = '\0'; \ - -615 -__u --> -__usi - = - `__STRING_SMALL_GET16 - ( -¤c -, 0); \ - -618 -__u --> -__usi - = - `__STRING_SMALL_GET16 - ( -¤c -, 0); \ - -619 -__u - = - `__ex‹nsiÚ__ - ((*) __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‹nsiÚ__ - ((*) __u + 4); \ - -628 -__u --> -__uc - = '\0'; \ - -631 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 0); \ - -632 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -633 -__u --> -__usi - = - `__STRING_SMALL_GET16 - ( -¤c -, 4); \ - -636 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 0); \ - -637 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -638 -__u --> -__usi - = - `__STRING_SMALL_GET16 - ( -¤c -, 4); \ - -639 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); \ - -640 -__u --> -__uc - = '\0'; \ - -643 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 0); \ - -644 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -645 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 4); \ - -648 (*è -__de¡ -; })) - - ) - -650 -__STRING_INLINE - * -__¡rýy_g - (* -__de¡ -, cÚ¡ * -__¤c -); - -652 -__STRING_INLINE - * - -653 - $__¡rýy_g - (* -__de¡ -, cÚ¡ * -__¤c -) - -655 * -__tmp - = -__de¡ -; - -656  -__dummy -; - -657 -__asm__ - -__vÞ©že__ - - -666 : "=&r" ( -__¤c -), "=&r" ( -__tmp -), "=&q" ( -__dummy -), - -667 "=m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__de¡ -) - -668 : "0" ( -__¤c -), "1" ( -__tmp -), - -669 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__¤c -) - -671  -__de¡ -; - -672 - } -} - -675 #ifdeà -__USE_GNU - - -676  - #_HAVE_STRING_ARCH_¡pýy - 1 - - ) - -678  - #__¡pýy -( -de¡ -, -¤c -) \ - -679 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -) \ - -680 ? ( - `¡¾’ - ( -¤c -) + 1 <= 8 \ - -681 ? - `__¡pýy_a_sm®l - (( -de¡ -), ( -¤c -), - `¡¾’ - (src) + 1) \ - -682 : - `__¡pýy_c - (( -de¡ -), ( -¤c -), - `¡¾’ - (src) + 1)) \ - -683 : - `__¡pýy_g - (( -de¡ -), ( -¤c -)))) - - ) - -684  - #__¡pýy_c -( -de¡ -, -¤c -, -¤þ’ -) \ - -685 (( -¤þ’ -) % 4 == 0 \ - -686 ? - `__mempýy_by4 - ( -de¡ -, -¤c -, -¤þ’ -) - 1 \ - -687 : (( -¤þ’ -) % 2 == 0 \ - -688 ? - `__mempýy_by2 - ( -de¡ -, -¤c -, -¤þ’ -) - 1 \ - -689 : - `__mempýy_byn - ( -de¡ -, -¤c -, -¤þ’ -è- 1)) - - ) - -692  - #¡pýy -( -de¡ -, -¤c -è - `__¡pýy - ((de¡), (¤c)) - - ) - -694  - #__¡pýy_a_sm®l -( -de¡ -, -¤c -, -¤þ’ -) \ - -695 ( - `__ex‹nsiÚ__ - ({ union { \ - -696  -__ui -; \ - -697  -__usi -; \ - -698  -__uc -; \ - -699  -__c -; \ - -700 } * -__u - = (*è( -de¡ -); \ - -701  -¤þ’ -) \ - -704 -__u --> -__uc - = '\0'; \ - -707 -__u --> -__usi - = - `__STRING_SMALL_GET16 - ( -¤c -, 0); \ - -708 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 1); \ - -711 -__u --> -__usi - = - `__STRING_SMALL_GET16 - ( -¤c -, 0); \ - -712 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); \ - -713 -__u --> -__uc - = '\0'; \ - -716 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 0); \ - -717 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 3); \ - -720 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 0); \ - -721 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -722 -__u --> -__uc - = '\0'; \ - -725 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 0); \ - -726 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -727 -__u --> -__usi - = - `__STRING_SMALL_GET16 - ( -¤c -, 4); \ - -728 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 1); \ - -731 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 0); \ - -732 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -733 -__u --> -__usi - = - `__STRING_SMALL_GET16 - ( -¤c -, 4); \ - -734 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); \ - -735 -__u --> -__uc - = '\0'; \ - -738 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 0); \ - -739 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -740 -__u --> -__ui - = - `__STRING_SMALL_GET32 - ( -¤c -, 4); \ - -741 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 3); \ - -744 (*è -__u -; })) - - ) - -746 -__STRING_INLINE - * -__mempýy_by4 - (* -__de¡ -, cÚ¡ * -__¤c -, - -747 -size_t - -__¤þ’ -); - -749 -__STRING_INLINE - * - -750 - $__mempýy_by4 - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__¤þ’ -) - -752 * -__tmp - = -__de¡ -; - -753  -__d0 -, -__d1 -; - -754 -__asm__ - -__vÞ©že__ - - -762 : "=&r" ( -__d0 -), "ô" ( -__tmp -), "=&r" ( -__¤c -), "=&r" ( -__d1 -) - -763 : "1" ( -__tmp -), "2" ( -__¤c -), "3" ( -__¤þ’ - / 4) - -765  -__tmp -; - -766 - } -} - -768 -__STRING_INLINE - * -__mempýy_by2 - (* -__de¡ -, cÚ¡ * -__¤c -, - -769 -size_t - -__¤þ’ -); - -771 -__STRING_INLINE - * - -772 - $__mempýy_by2 - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__¤þ’ -) - -774 * -__tmp - = -__de¡ -; - -775  -__d0 -, -__d1 -; - -776 -__asm__ - -__vÞ©že__ - - -789 : "=&q" ( -__d0 -), "ô" ( -__tmp -), "=&r" ( -__¤c -), "=&r" ( -__d1 -), - -790 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__de¡ -) - -791 : "1" ( -__tmp -), "2" ( -__¤c -), "3" ( -__¤þ’ - / 2), - -792 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__¤c -) - -794  -__tmp - + 2; - -795 - } -} - -797 -__STRING_INLINE - * -__mempýy_byn - (* -__de¡ -, cÚ¡ * -__¤c -, - -798 -size_t - -__¤þ’ -); - -800 -__STRING_INLINE - * - -801 - $__mempýy_byn - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__¤þ’ -) - -803  -__d0 -, -__d1 -; - -804 * -__tmp - = -__de¡ -; - -805 -__asm__ - -__vÞ©že__ - - -816 : "=D" ( -__tmp -), "=&c" ( -__d0 -), "=&S" ( -__d1 -), - -817 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__de¡ -) - -818 : "0" ( -__tmp -), "1" ( -__¤þ’ -), "2" ( -__¤c -), - -819 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__¤c -) - -821  -__tmp -; - -822 - } -} - -824 -__STRING_INLINE - * -__¡pýy_g - (* -__de¡ -, cÚ¡ * -__¤c -); - -826 -__STRING_INLINE - * - -827 - $__¡pýy_g - (* -__de¡ -, cÚ¡ * -__¤c -) - -829 * -__tmp - = -__de¡ -; - -830  -__dummy -; - -831 -__asm__ - -__vÞ©že__ - - -840 : "=&r" ( -__¤c -), "ô" ( -__tmp -), "=&q" ( -__dummy -), - -841 "=m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__de¡ -) - -842 : "0" ( -__¤c -), "1" ( -__tmp -), - -843 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__¤c -) - -845  -__tmp - - 1; - -846 - } -} - -851  - #_HAVE_STRING_ARCH_¡ºýy - 1 - - ) - -852  - #¡ºýy -( -de¡ -, -¤c -, -n -) \ - -853 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -) \ - -854 ? (( - `¡¾’ - ( -¤c -è+ 1 >ð(( -size_t -è( -n -)) \ - -855 ? (*è - `memýy - ((*è( -de¡ -), \ - -856 (cÚ¡ *è( -¤c -), -n -) \ - -857 : - `__¡ºýy_cg - (( -de¡ -), ( -¤c -), - `¡¾’ - (¤cè+ 1, -n -))) \ - -858 : - `__¡ºýy_gg - (( -de¡ -), ( -¤c -), -n -))) - - ) - -859  - #__¡ºýy_cg -( -de¡ -, -¤c -, -¤þ’ -, -n -) \ - -860 ((( -¤þ’ -) % 4 == 0) \ - -861 ? - `__¡ºýy_by4 - ( -de¡ -, -¤c -, -¤þ’ -, -n -) \ - -862 : ((( -¤þ’ -) % 2 == 0) \ - -863 ? - `__¡ºýy_by2 - ( -de¡ -, -¤c -, -¤þ’ -, -n -) \ - -864 : - `__¡ºýy_byn - ( -de¡ -, -¤c -, -¤þ’ -, -n -))) - - ) - -866 -__STRING_INLINE - * -__¡ºýy_by4 - (* -__de¡ -, cÚ¡  -__¤c -[], - -867 -size_t - -__¤þ’ -, size_ˆ -__n -); - -869 -__STRING_INLINE - * - -870 - $__¡ºýy_by4 - (* -__de¡ -, cÚ¡  -__¤c -[], -size_t - -__¤þ’ -, size_ˆ -__n -) - -872 * -__tmp - = -__de¡ -; - -873  -__dummy1 -, -__dummy2 -; - -874 -__asm__ - -__vÞ©že__ - - -882 : "=&r" ( -__dummy1 -), "ô" ( -__tmp -), "=&r" ( -__¤c -), "=&r" ( -__dummy2 -), - -883 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__de¡ -) - -884 : "1" ( -__tmp -), "2" ( -__¤c -), "3" ( -__¤þ’ - / 4), - -885 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__¤c -) - -887 (è - `mem£t - ( -__tmp -, '\0', -__n - - -__¤þ’ -); - -888  -__de¡ -; - -889 - } -} - -891 -__STRING_INLINE - * -__¡ºýy_by2 - (* -__de¡ -, cÚ¡  -__¤c -[], - -892 -size_t - -__¤þ’ -, size_ˆ -__n -); - -894 -__STRING_INLINE - * - -895 - $__¡ºýy_by2 - (* -__de¡ -, cÚ¡  -__¤c -[], -size_t - -__¤þ’ -, size_ˆ -__n -) - -897 * -__tmp - = -__de¡ -; - -898  -__dummy1 -, -__dummy2 -; - -899 -__asm__ - -__vÞ©že__ - - -912 : "=&q" ( -__dummy1 -), "ô" ( -__tmp -), "=&r" ( -__¤c -), "=&r" ( -__dummy2 -), - -913 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__de¡ -) - -914 : "1" ( -__tmp -), "2" ( -__¤c -), "3" ( -__¤þ’ - / 2), - -915 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__¤c -) - -917 (è - `mem£t - ( -__tmp - + 2, '\0', -__n - - -__¤þ’ -); - -918  -__de¡ -; - -919 - } -} - -921 -__STRING_INLINE - * -__¡ºýy_byn - (* -__de¡ -, cÚ¡  -__¤c -[], - -922 -size_t - -__¤þ’ -, size_ˆ -__n -); - -924 -__STRING_INLINE - * - -925 - $__¡ºýy_byn - (* -__de¡ -, cÚ¡  -__¤c -[], -size_t - -__¤þ’ -, size_ˆ -__n -) - -927  -__d0 -, -__d1 -; - -928 * -__tmp - = -__de¡ -; - -929 -__asm__ - -__vÞ©že__ - - -940 : "=D" ( -__tmp -), "=&c" ( -__d0 -), "=&S" ( -__d1 -), - -941 "=m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__de¡ -) - -942 : "1" ( -__¤þ’ -), "0" ( -__tmp -),"2" ( -__¤c -), - -943 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__¤c -) - -945 (è - `mem£t - ( -__tmp -, '\0', -__n - - -__¤þ’ -); - -946  -__de¡ -; - -947 - } -} - -949 -__STRING_INLINE - * -__¡ºýy_gg - (* -__de¡ -, cÚ¡ * -__¤c -, - -950 -size_t - -__n -); - -952 -__STRING_INLINE - * - -953 - $__¡ºýy_gg - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -) - -955 * -__tmp - = -__de¡ -; - -956  -__dummy -; - -957 ià( -__n - > 0) - -958 -__asm__ - -__vÞ©že__ - - -974 : "=&r" ( -__¤c -), "=&r" ( -__tmp -), "=&q" ( -__dummy -), "=&r" ( -__n -) - -975 : "0" ( -__¤c -), "1" ( -__tmp -), "3" ( -__n -) - -978  -__de¡ -; - -979 - } -} - -983  - #_HAVE_STRING_ARCH_¡rÿt - 1 - - ) - -984  - #¡rÿt -( -de¡ -, -¤c -) \ - -985 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -) \ - -986 ? - `__¡rÿt_c - (( -de¡ -), ( -¤c -), - `¡¾’ - (src) + 1) \ - -987 : - `__¡rÿt_g - (( -de¡ -), ( -¤c -)))) - - ) - -989 -__STRING_INLINE - * -__¡rÿt_c - (* -__de¡ -, cÚ¡  -__¤c -[], - -990 -size_t - -__¤þ’ -); - -992 -__STRING_INLINE - * - -993 - $__¡rÿt_c - (* -__de¡ -, cÚ¡  -__¤c -[], -size_t - -__¤þ’ -) - -995 #ifdeà -__i686__ - - -996  -__d0 -; - -997 * -__tmp -; - -998 -__asm__ - -__vÞ©že__ - - -1000 : "=D" ( -__tmp -), "=&c" ( -__d0 -), - -1001 "=m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__de¡ -) - -1002 : "0" ( -__de¡ -), "1" (0xffffffff), "a" (0), - -1003 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__¤c -) - -1005 -- -__tmp -; - -1007 * -__tmp - = -__de¡ -; - -1008 -__asm__ - -__vÞ©že__ - - -1014 : "ô" ( -__tmp -), - -1015 "=m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__de¡ -) - -1016 : "0" ( -__tmp -), - -1017 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__¤þ’ -]; } *) -__¤c -) - -1020 (è - `memýy - ( -__tmp -, -__¤c -, -__¤þ’ -); - -1021  -__de¡ -; - -1022 - } -} - -1024 -__STRING_INLINE - * -__¡rÿt_g - (* -__de¡ -, cÚ¡ * -__¤c -); - -1026 -__STRING_INLINE - * - -1027 - $__¡rÿt_g - (* -__de¡ -, cÚ¡ * -__¤c -) - -1029 * -__tmp - = -__de¡ -; - -1030  -__dummy -; - -1031 -__asm__ - -__vÞ©že__ - - -1044 : "=&q" ( -__dummy -), "=&r" ( -__tmp -), "=&r" ( -__¤c -), - -1045 "=m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__de¡ -) - -1046 : "1" ( -__tmp -), "2" ( -__¤c -), - -1047 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__¤c -) - -1049  -__de¡ -; - -1050 - } -} - -1054  - #_HAVE_STRING_ARCH_¡ºÿt - 1 - - ) - -1055  - #¡ºÿt -( -de¡ -, -¤c -, -n -) \ - -1056 ( - `__ex‹nsiÚ__ - ({ * -__de¡ - = ( -de¡ -); \ - -1057 - `__bužtš_cÚ¡ªt_p - ( -¤c -è&& __bužtš_cÚ¡ªt_°( -n -) \ - -1058 ? ( - `¡¾’ - ( -¤c -è< (( -size_t -è( -n -)) \ - -1059 ? - `¡rÿt - ( -__de¡ -, ( -¤c -)) \ - -1060 : (*(*) - `__mempýy - ( - `¡rchr - ( -__de¡ -, '\0'), \ - -1061 (cÚ¡ *è( -¤c -), \ - -1062 ( -n -)èð0, -__de¡ -)) \ - -1063 : - `__¡ºÿt_g - ( -__de¡ -, ( -¤c -), ( -n -)); })) - - ) - -1065 -__STRING_INLINE - * -__¡ºÿt_g - (* -__de¡ -, cÚ¡  -__¤c -[], - -1066 -size_t - -__n -); - -1068 -__STRING_INLINE - * - -1069 - $__¡ºÿt_g - (* -__de¡ -, cÚ¡  -__¤c -[], -size_t - -__n -) - -1071 * -__tmp - = -__de¡ -; - -1072  -__dummy -; - -1073 #ifdeà -__i686__ - - -1074 -__asm__ - -__vÞ©že__ - - -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Þ©že__ - - -1110 : "=&q" ( -__dummy -), "=&r" ( -__tmp -), "=&r" ( -__¤c -), "=&r" ( -__n -) - -1111 : "1" ( -__tmp -), "2" ( -__¤c -), "3" ( -__n -) - -1114  -__de¡ -; - -1115 - } -} - -1119  - #_HAVE_STRING_ARCH_¡rcmp - 1 - - ) - -1120  - #¡rcmp -( -s1 -, -s2 -) \ - -1121 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -s1 -è&& __bužtš_cÚ¡ªt_°( -s2 -) \ - -1122 && ( (( -s1 -)[0]è!ð1 || - `¡¾’ - (s1) >= 4) \ - -1123 && ( (( -s2 -)[0]è!ð1 || - `¡¾’ - (s2) >= 4) \ - -1124 ? - `memcmp - ((cÚ¡ *è( -s1 -), (cÚ¡ *è( -s2 -), \ - -1125 ( - `¡¾’ - ( -s1 -è< sŒËÀ( -s2 -) \ - -1126 ? - `¡¾’ - ( -s1 -è: sŒËÀ( -s2 -)) + 1) \ - -1127 : ( - `__bužtš_cÚ¡ªt_p - ( -s1 -) &&  ((s1)[0]) == 1 \ - -1128 &&  (( -s2 -)[0]è=ð1 && - `¡¾’ - ( -s1 -) < 4 \ - -1129 ? ( - `__bužtš_cÚ¡ªt_p - ( -s2 -) &&  ((s2)[0]) == 1 \ - -1130 ? - `__¡rcmp_cc - ((cÚ¡ *è( -s1 -), \ - -1131 (cÚ¡ *è( -s2 -), \ - -1132 - `¡¾’ - ( -s1 -)) \ - -1133 : - `__¡rcmp_cg - ((cÚ¡ *è( -s1 -), \ - -1134 (cÚ¡ *è( -s2 -), \ - -1135 - `¡¾’ - ( -s1 -))) \ - -1136 : ( - `__bužtš_cÚ¡ªt_p - ( -s2 -è&&  (( -s1 -)[0]) == 1 \ - -1137 &&  (( -s2 -)[0]è=ð1 && - `¡¾’ - (s2) < 4 \ - -1138 ? ( - `__bužtš_cÚ¡ªt_p - ( -s1 -) \ - -1139 ? - `__¡rcmp_cc - ((cÚ¡ *è( -s1 -), \ - -1140 (cÚ¡ *è( -s2 -), \ - -1141 - `¡¾’ - ( -s2 -)) \ - -1142 : - `__¡rcmp_gc - ((cÚ¡ *è( -s1 -), \ - -1143 (cÚ¡ *è( -s2 -), \ - -1144 - `¡¾’ - ( -s2 -))) \ - -1145 : - `__¡rcmp_gg - (( -s1 -), ( -s2 -)))))) - - ) - -1147  - #__¡rcmp_cc -( -s1 -, -s2 -, -l -) \ - -1148 ( - `__ex‹nsiÚ__ - ({  -__»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  - #__¡rcmp_cg -( -s1 -, -s2 -, -l1 -) \ - -1162 ( - `__ex‹nsiÚ__ - ({ cÚ¡ * -__s2 - = ( -s2 -); \ - -1163  -__»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  - #__¡rcmp_gc -( -s1 -, -s2 -, -l2 -) \ - -1177 ( - `__ex‹nsiÚ__ - ({ cÚ¡ * -__s1 - = ( -s1 -); \ - -1178  -__»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 -  -__¡rcmp_gg - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -); - -1193 -__STRING_INLINE -  - -1194 - $__¡rcmp_gg - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -) - -1196  -__»s -; - -1197 -__asm__ - -__vÞ©že__ - - -1213 : "=q" ( -__»s -), "=&r" ( -__s1 -), "=&r" ( -__s2 -) - -1214 : "1" ( -__s1 -), "2" ( -__s2 -), - -1215 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s1 -), - -1216 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s2 -) - -1218  -__»s -; - -1219 - } -} - -1223  - #_HAVE_STRING_ARCH_¡ºcmp - 1 - - ) - -1224  - #¡ºcmp -( -s1 -, -s2 -, -n -) \ - -1225 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -s1 -è&& - `¡¾’ - (s1è< (( -size_t -è( -n -)) \ - -1226 ? - `¡rcmp - (( -s1 -), ( -s2 -)) \ - -1227 : ( - `__bužtš_cÚ¡ªt_p - ( -s2 -è&& - `¡¾’ - (s2è< (( -size_t -è( -n -))\ - -1228 ? - `¡rcmp - (( -s1 -), ( -s2 -)) \ - -1229 : - `__¡ºcmp_g - (( -s1 -), ( -s2 -), ( -n -))))) - - ) - -1231 -__STRING_INLINE -  -__¡ºcmp_g - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, - -1232 -size_t - -__n -); - -1234 -__STRING_INLINE -  - -1235 - $__¡ºcmp_g - (cÚ¡ * -__s1 -, cÚ¡ * -__s2 -, -size_t - -__n -) - -1237  -__»s -; - -1238 -__asm__ - -__vÞ©že__ - - -1257 : "=q" ( -__»s -), "=&r" ( -__s1 -), "=&r" ( -__s2 -), "=&r" ( -__n -) - -1258 : "1" ( -__s1 -), "2" ( -__s2 -), "3" ( -__n -), - -1259 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s1 -), - -1260 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__n -]; } *) -__s2 -) - -1262  -__»s -; - -1263 - } -} - -1267  - #_HAVE_STRING_ARCH_¡rchr - 1 - - ) - -1268  - #_USE_STRING_ARCH_¡rchr - 1 - - ) - -1269  - #¡rchr -( -s -, -c -) \ - -1270 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -c -) \ - -1271 ? (( -c -) == '\0' \ - -1272 ? (*è - `__¿wmemchr - (( -s -), ( -c -)) \ - -1273 : - `__¡rchr_c - (( -s -), (( -c -) & 0xff) << 8)) \ - -1274 : - `__¡rchr_g - (( -s -), ( -c -)))) - - ) - -1276 -__STRING_INLINE - * -__¡rchr_c - (cÚ¡ * -__s -,  -__c -); - -1278 -__STRING_INLINE - * - -1279 - $__¡rchr_c - (cÚ¡ * -__s -,  -__c -) - -1281  -__d0 -; - -1282 * -__»s -; - -1283 -__asm__ - -__vÞ©že__ - - -1293 : "ô" ( -__»s -), "=&a" ( -__d0 -) - -1294 : "0" ( -__s -), "1" ( -__c -), - -1295 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1297  -__»s -; - -1298 - } -} - -1300 -__STRING_INLINE - * -__¡rchr_g - (cÚ¡ * -__s -,  -__c -); - -1302 -__STRING_INLINE - * - -1303 - $__¡rchr_g - (cÚ¡ * -__s -,  -__c -) - -1305  -__d0 -; - -1306 * -__»s -; - -1307 -__asm__ - -__vÞ©že__ - - -1318 : "ô" ( -__»s -), "=&a" ( -__d0 -) - -1319 : "0" ( -__s -), "1" ( -__c -), - -1320 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1322  -__»s -; - -1323 - } -} - -1327  - #_HAVE_STRING_ARCH_¡rchºul - 1 - - ) - -1328  - #__¡rchºul -( -s -, -c -) \ - -1329 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -c -) \ - -1330 ? (( -c -) == '\0' \ - -1331 ? (*è - `__¿wmemchr - (( -s -), -c -) \ - -1332 : - `__¡rchºul_c - (( -s -), (( -c -) & 0xff) << 8)) \ - -1333 : - `__¡rchºul_g - (( -s -), -c -))) - - ) - -1335 -__STRING_INLINE - * -__¡rchºul_c - (cÚ¡ * -__s -,  -__c -); - -1337 -__STRING_INLINE - * - -1338 - $__¡rchºul_c - (cÚ¡ * -__s -,  -__c -) - -1340  -__d0 -; - -1341 * -__»s -; - -1342 -__asm__ - -__vÞ©že__ - - -1352 : "ô" ( -__»s -), "=&a" ( -__d0 -) - -1353 : "0" ( -__s -), "1" ( -__c -), - -1354 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1356  -__»s -; - -1357 - } -} - -1359 -__STRING_INLINE - * -__¡rchºul_g - (cÚ¡ * -__s -,  -__c -); - -1361 -__STRING_INLINE - * - -1362 - $__¡rchºul_g - (cÚ¡ * -__s -,  -__c -) - -1364  -__d0 -; - -1365 * -__»s -; - -1366 -__asm__ - -__vÞ©že__ - - -1377 : "ô" ( -__»s -), "=&a" ( -__d0 -) - -1378 : "0" ( -__s -), "1" ( -__c -), - -1379 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1381  -__»s -; - -1382 - } -} - -1383 #ifdeà -__USE_GNU - - -1384  - #¡rchºul -( -s -, -c -è - `__¡rchºul - ((s), (c)) - - ) - -1388 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -1390  - #_HAVE_STRING_ARCH_šdex - 1 - - ) - -1391  - #šdex -( -s -, -c -) \ - -1392 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -c -) \ - -1393 ? - `__¡rchr_c - (( -s -), (( -c -) & 0xff) << 8) \ - -1394 : - `__¡rchr_g - (( -s -), ( -c -)))) - - ) - -1399  - #_HAVE_STRING_ARCH_¡¼chr - 1 - - ) - -1400  - #¡¼chr -( -s -, -c -) \ - -1401 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -c -) \ - -1402 ? - `__¡¼chr_c - (( -s -), (( -c -) & 0xff) << 8) \ - -1403 : - `__¡¼chr_g - (( -s -), ( -c -)))) - - ) - -1405 #ifdeà -__i686__ - - -1406 -__STRING_INLINE - * -__¡¼chr_c - (cÚ¡ * -__s -,  -__c -); - -1408 -__STRING_INLINE - * - -1409 - $__¡¼chr_c - (cÚ¡ * -__s -,  -__c -) - -1411  -__d0 -, -__d1 -; - -1412 * -__»s -; - -1413 -__asm__ - -__vÞ©že__ - - -1421 : "=d" ( -__»s -), "=&S" ( -__d0 -), "=&a" ( -__d1 -) - -1422 : "0" (1), "1" ( -__s -), "2" ( -__c -), - -1423 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1425  -__»s - - 1; - -1426 - } -} - -1428 -__STRING_INLINE - * -__¡¼chr_g - (cÚ¡ * -__s -,  -__c -); - -1430 -__STRING_INLINE - * - -1431 - $__¡¼chr_g - (cÚ¡ * -__s -,  -__c -) - -1433  -__d0 -, -__d1 -; - -1434 * -__»s -; - -1435 -__asm__ - -__vÞ©že__ - - -1444 : "=d" ( -__»s -), "=&S" ( -__d0 -), "=&a" ( -__d1 -) - -1445 : "0" (1), "1" ( -__s -), "2" ( -__c -), - -1446 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1448  -__»s - - 1; - -1449 - } -} - -1451 -__STRING_INLINE - * -__¡¼chr_c - (cÚ¡ * -__s -,  -__c -); - -1453 -__STRING_INLINE - * - -1454 - $__¡¼chr_c - (cÚ¡ * -__s -,  -__c -) - -1456  -__d0 -, -__d1 -; - -1457 * -__»s -; - -1458 -__asm__ - -__vÞ©že__ - - -1468 : "=d" ( -__»s -), "=&S" ( -__d0 -), "=&a" ( -__d1 -) - -1469 : "0" (0), "1" ( -__s -), "2" ( -__c -), - -1470 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1472  -__»s -; - -1473 - } -} - -1475 -__STRING_INLINE - * -__¡¼chr_g - (cÚ¡ * -__s -,  -__c -); - -1477 -__STRING_INLINE - * - -1478 - $__¡¼chr_g - (cÚ¡ * -__s -,  -__c -) - -1480  -__d0 -, -__d1 -; - -1481 * -__»s -; - -1482 -__asm__ - -__vÞ©že__ - - -1493 : "ô" ( -__»s -), "=&S" ( -__d0 -), "=&a" ( -__d1 -) - -1494 : "0" (0), "1" ( -__s -), "2" ( -__c -), - -1495 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1497  -__»s -; - -1498 - } -} - -1502 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -1504  - #_HAVE_STRING_ARCH_ršdex - 1 - - ) - -1505  - #ršdex -( -s -, -c -) \ - -1506 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -c -) \ - -1507 ? - `__¡¼chr_c - (( -s -), (( -c -) & 0xff) << 8) \ - -1508 : - `__¡¼chr_g - (( -s -), ( -c -)))) - - ) - -1514  - #_HAVE_STRING_ARCH_¡rc¥n - 1 - - ) - -1515  - #¡rc¥n -( -s -, -»jeù -) \ - -1516 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -»jeù -) &&  ((reject)[0]) == 1 \ - -1517 ? (( -»jeù -)[0] == '\0' \ - -1518 ? - `¡¾’ - ( -s -) \ - -1519 : (( -»jeù -)[1] == '\0' \ - -1520 ? - `__¡rc¥n_c1 - (( -s -), ((( -»jeù -)[0] << 8) & 0xff00)) \ - -1521 : - `__¡rc¥n_cg - (( -s -), ( -»jeù -), - `¡¾’ - (reject)))) \ - -1522 : - `__¡rc¥n_g - (( -s -), ( -»jeù -)))) - - ) - -1524 -__STRING_INLINE - -size_t - -__¡rc¥n_c1 - (cÚ¡ * -__s -,  -__»jeù -); - -1526 #iâdeà -_FORCE_INLINES - - -1527 -__STRING_INLINE - -size_t - - -1528 - $__¡rc¥n_c1 - (cÚ¡ * -__s -,  -__»jeù -) - -1530  -__d0 -; - -1531 * -__»s -; - -1532 -__asm__ - -__vÞ©že__ - - -1541 : "ô" ( -__»s -), "=&a" ( -__d0 -) - -1542 : "0" ( -__s -), "1" ( -__»jeù -), - -1543 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1545  ( -__»s - - 1è- -__s -; - -1546 - } -} - -1549 -__STRING_INLINE - -size_t - -__¡rc¥n_cg - (cÚ¡ * -__s -, cÚ¡  -__»jeù -[], - -1550 -size_t - -__»jeù_Ën -); - -1552 -__STRING_INLINE - -size_t - - -1553 - $__¡rc¥n_cg - (cÚ¡ * -__s -, cÚ¡  -__»jeù -[], -size_t - -__»jeù_Ën -) - -1555  -__d0 -, -__d1 -, -__d2 -; - -1556 cÚ¡ * -__»s -; - -1557 -__asm__ - -__vÞ©že__ - - -1568 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&D" ( -__d2 -) - -1569 : "0" ( -__s -), "d" ( -__»jeù -), "g" ( -__»jeù_Ën -) - -1571  ( -__»s - - 1è- -__s -; - -1572 - } -} - -1574 -__STRING_INLINE - -size_t - -__¡rc¥n_g - (cÚ¡ * -__s -, cÚ¡ * -__»jeù -); - -1575 #ifdeà -__PIC__ - - -1577 -__STRING_INLINE - -size_t - - -1578 - $__¡rc¥n_g - (cÚ¡ * -__s -, cÚ¡ * -__»jeù -) - -1580  -__d0 -, -__d1 -, -__d2 -; - -1581 cÚ¡ * -__»s -; - -1582 -__asm__ - -__vÞ©že__ - - -1599 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&D" ( -__d2 -) - -1600 : "r" ( -__»jeù -), "0" ( -__s -), "1" (0), "2" (0xffffffff) - -1602  ( -__»s - - 1è- -__s -; - -1603 - } -} - -1605 -__STRING_INLINE - -size_t - - -1606 - $__¡rc¥n_g - (cÚ¡ * -__s -, cÚ¡ * -__»jeù -) - -1608  -__d0 -, -__d1 -, -__d2 -, -__d3 -; - -1609 cÚ¡ * -__»s -; - -1610 -__asm__ - -__vÞ©že__ - - -1624 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&D" ( -__d2 -), "=&d" ( -__d3 -) - -1625 : "0" ( -__s -), "1" (0), "2" (0xffffffff), "3" ( -__»jeù -), "b" (__reject) - -1628  ( -__»s - - 1è- -__s -; - -1629 - } -} - -1635  - #_HAVE_STRING_ARCH_¡r¥n - 1 - - ) - -1636  - #¡r¥n -( -s -, -acû± -) \ - -1637 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -acû± -) &&  ((accept)[0]) == 1 \ - -1638 ? (( -acû± -)[0] == '\0' \ - -1639 ? ((è( -s -), 0) \ - -1640 : (( -acû± -)[1] == '\0' \ - -1641 ? - `__¡r¥n_c1 - (( -s -), ((( -acû± -)[0] << 8 ) & 0xff00)) \ - -1642 : - `__¡r¥n_cg - (( -s -), ( -acû± -), - `¡¾’ - (accept)))) \ - -1643 : - `__¡r¥n_g - (( -s -), ( -acû± -)))) - - ) - -1645 #iâdeà -_FORCE_INLINES - - -1646 -__STRING_INLINE - -size_t - -__¡r¥n_c1 - (cÚ¡ * -__s -,  -__acû± -); - -1648 -__STRING_INLINE - -size_t - - -1649 - $__¡r¥n_c1 - (cÚ¡ * -__s -,  -__acû± -) - -1651  -__d0 -; - -1652 * -__»s -; - -1654 -__asm__ - -__vÞ©že__ - - -1660 : "ô" ( -__»s -), "=&q" ( -__d0 -) - -1661 : "0" ( -__s -), "1" ( -__acû± -), - -1662 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -) - -1664  ( -__»s - - 1è- -__s -; - -1665 - } -} - -1668 -__STRING_INLINE - -size_t - -__¡r¥n_cg - (cÚ¡ * -__s -, cÚ¡  -__acû± -[], - -1669 -size_t - -__acû±_Ën -); - -1671 -__STRING_INLINE - -size_t - - -1672 - $__¡r¥n_cg - (cÚ¡ * -__s -, cÚ¡  -__acû± -[], -size_t - -__acû±_Ën -) - -1674  -__d0 -, -__d1 -, -__d2 -; - -1675 cÚ¡ * -__»s -; - -1676 -__asm__ - -__vÞ©že__ - - -1687 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&D" ( -__d2 -) - -1688 : "0" ( -__s -), "g" ( -__acû± -), "g" ( -__acû±_Ën -), - -1691 "m" ( *(¡ruù {  -__x -[0xfffffff]; } *) -__s -), - -1692 "m" ( *(¡ruù { -__ex‹nsiÚ__ -  -__x -[ -__acû±_Ën -]; } *) -__acû± -) - -1694  ( -__»s - - 1è- -__s -; - -1695 - } -} - -1697 -__STRING_INLINE - -size_t - -__¡r¥n_g - (cÚ¡ * -__s -, cÚ¡ * -__acû± -); - -1698 #ifdeà -__PIC__ - - -1700 -__STRING_INLINE - -size_t - - -1701 - $__¡r¥n_g - (cÚ¡ * -__s -, cÚ¡ * -__acû± -) - -1703  -__d0 -, -__d1 -, -__d2 -; - -1704 cÚ¡ * -__»s -; - -1705 -__asm__ - -__vÞ©že__ - - -1721 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&D" ( -__d2 -) - -1722 : "d" ( -__acû± -), "0" ( -__s -), "1" (0), "2" (0xffffffff), "3" (__accept) - -1724  ( -__»s - - 1è- -__s -; - -1725 - } -} - -1727 -__STRING_INLINE - -size_t - - -1728 - $__¡r¥n_g - (cÚ¡ * -__s -, cÚ¡ * -__acû± -) - -1730  -__d0 -, -__d1 -, -__d2 -, -__d3 -; - -1731 cÚ¡ * -__»s -; - -1732 -__asm__ - -__vÞ©že__ - - -1746 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&D" ( -__d2 -), "=&d" ( -__d3 -) - -1747 : "0" ( -__s -), "1" (0), "2" (0xffffffff), "3" ( -__acû± -), "b" (__accept) - -1749  ( -__»s - - 1è- -__s -; - -1750 - } -} - -1755  - #_HAVE_STRING_ARCH_¡½brk - 1 - - ) - -1756  - #¡½brk -( -s -, -acû± -) \ - -1757 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -acû± -) &&  ((accept)[0]) == 1 \ - -1758 ? (( -acû± -)[0] == '\0' \ - -1759 ? ((è( -s -), (*) 0) \ - -1760 : (( -acû± -)[1] == '\0' \ - -1761 ? - `¡rchr - (( -s -), ( -acû± -)[0]) \ - -1762 : - `__¡½brk_cg - (( -s -), ( -acû± -), - `¡¾’ - (accept)))) \ - -1763 : - `__¡½brk_g - (( -s -), ( -acû± -)))) - - ) - -1765 -__STRING_INLINE - * -__¡½brk_cg - (cÚ¡ * -__s -, cÚ¡  -__acû± -[], - -1766 -size_t - -__acû±_Ën -); - -1768 -__STRING_INLINE - * - -1769 - $__¡½brk_cg - (cÚ¡ * -__s -, cÚ¡  -__acû± -[], -size_t - -__acû±_Ën -) - -1771  -__d0 -, -__d1 -, -__d2 -; - -1772 * -__»s -; - -1773 -__asm__ - -__vÞ©že__ - - -1788 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&D" ( -__d2 -) - -1789 : "0" ( -__s -), "d" ( -__acû± -), "g" ( -__acû±_Ën -) - -1791  -__»s -; - -1792 - } -} - -1794 -__STRING_INLINE - * -__¡½brk_g - (cÚ¡ * -__s -, cÚ¡ * -__acû± -); - -1795 #ifdeà -__PIC__ - - -1797 -__STRING_INLINE - * - -1798 - $__¡½brk_g - (cÚ¡ * -__s -, cÚ¡ * -__acû± -) - -1800  -__d0 -, -__d1 -, -__d2 -; - -1801 * -__»s -; - -1802 -__asm__ - -__vÞ©že__ - - -1823 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&D" ( -__d2 -) - -1824 : "d" ( -__acû± -), "0" ( -__s -), "1" (0), "2" (0xffffffff) - -1826  -__»s -; - -1827 - } -} - -1829 -__STRING_INLINE - * - -1830 - $__¡½brk_g - (cÚ¡ * -__s -, cÚ¡ * -__acû± -) - -1832  -__d0 -, -__d1 -, -__d2 -, -__d3 -; - -1833 * -__»s -; - -1834 -__asm__ - -__vÞ©že__ - - -1853 : "=S" ( -__»s -), "=&a" ( -__d0 -), "=&c" ( -__d1 -), "=&d" ( -__d2 -), "=&D" ( -__d3 -) - -1854 : "0" ( -__s -), "1" (0), "2" (0xffffffff), "b" ( -__acû± -) - -1856  -__»s -; - -1857 - } -} - -1862  - #_HAVE_STRING_ARCH_¡r¡r - 1 - - ) - -1863  - #¡r¡r -( -hay¡ack -, -ÃedË -) \ - -1864 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -ÃedË -) &&  ((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 - `¡¾’ - ( -ÃedË -)))) \ - -1871 : - `__¡r¡r_g - (( -hay¡ack -), ( -ÃedË -)))) - - ) - -1875 -__STRING_INLINE - * -__¡r¡r_cg - (cÚ¡ * -__hay¡ack -, - -1876 cÚ¡  -__ÃedË -[], - -1877 -size_t - -__ÃedË_Ën -); - -1879 -__STRING_INLINE - * - -1880 - $__¡r¡r_cg - (cÚ¡ * -__hay¡ack -, cÚ¡  -__ÃedË -[], - -1881 -size_t - -__ÃedË_Ën -) - -1883  -__d0 -, -__d1 -, -__d2 -; - -1884 * -__»s -; - -1885 -__asm__ - -__vÞ©že__ - - -1898 : "=&a" ( -__»s -), "=&S" ( -__d0 -), "=&D" ( -__d1 -), "=&c" ( -__d2 -) - -1899 : "g" ( -__ÃedË_Ën -), "1" ( -__hay¡ack -), "d" ( -__ÃedË -) - -1901  -__»s -; - -1902 - } -} - -1904 -__STRING_INLINE - * -__¡r¡r_g - (cÚ¡ * -__hay¡ack -, - -1905 cÚ¡ * -__ÃedË -); - -1906 #ifdeà -__PIC__ - - -1908 -__STRING_INLINE - * - -1909 - $__¡r¡r_g - (cÚ¡ * -__hay¡ack -, cÚ¡ * -__ÃedË -) - -1911  -__d0 -, -__d1 -, -__d2 -; - -1912 * -__»s -; - -1913 -__asm__ - -__vÞ©že__ - - -1932 : "=&a" ( -__»s -), "=&c" ( -__d0 -), "=&S" ( -__d1 -), "=&D" ( -__d2 -) - -1933 : "0" (0), "1" (0xffffffff), "2" ( -__hay¡ack -), "3" ( -__ÃedË -), - -1934 "d" ( -__ÃedË -) - -1936  -__»s -; - -1937 - } -} - -1939 -__STRING_INLINE - * - -1940 - $__¡r¡r_g - (cÚ¡ * -__hay¡ack -, cÚ¡ * -__ÃedË -) - -1942  -__d0 -, -__d1 -, -__d2 -, -__d3 -; - -1943 * -__»s -; - -1944 -__asm__ - -__vÞ©že__ - - -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  -__»s -; - -1966 - } -} - -1972 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -1973 #ifdeà -__i686__ - - -1974  - #_HAVE_STRING_ARCH_ffs - 1 - - ) - -1975  - #ffs -( -wÜd -è( - `__bužtš_cÚ¡ªt_p - (word) \ - -1976 ? - `__bužtš_ffs - ( -wÜd -) \ - -1977 : ({  -__út -, -__tmp -; \ - -1978 -__asm__ - -__vÞ©že__ - \ - -1981 : "=&r" ( -__út -), "ô" ( -__tmp -) \ - -1982 : "rm" ( -wÜd -), "1" (-1)); \ - -1983 -__út - + 1; })) - - ) - -1985 #iâdeà -ff¦ - - -1986  - #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  - #__STRING_INLINE - -šlše - - - ) - -45  - #__STRING_INLINE - -__ex‹º_šlše - - - ) - -49 #ià -_STRING_INLINE_uÇligÃd - - -51  - ~<’dŸn.h -> - -52  - ~ - -54 #ià -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -55  - #__STRING2_SMALL_GET16 -( -¤c -, -idx -) \ - -56 (((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx - + 1] << 8 \ - -57 | ((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx -]) - - ) - -58  - #__STRING2_SMALL_GET32 -( -¤c -, -idx -) \ - -59 (((((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx - + 3] << 8 \ - -60 | ((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx - + 2]) << 8 \ - -61 | ((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx - + 1]) << 8 \ - -62 | ((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx -]) - - ) - -64  - #__STRING2_SMALL_GET16 -( -¤c -, -idx -) \ - -65 (((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx -] << 8 \ - -66 | ((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx - + 1]) - - ) - -67  - #__STRING2_SMALL_GET32 -( -¤c -, -idx -) \ - -68 (((((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx -] << 8 \ - -69 | ((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx - + 1]) << 8 \ - -70 | ((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx - + 2]) << 8 \ - -71 | ((cÚ¡ *è(cÚ¡ *è( -¤c -))[ -idx - + 3]) - - ) - -76  - #__STRING2_COPY_TYPE -( -N -) \ - -77 ¡ruù {  -__¬r -[ -N -]; } \ - -78 - t__©Œibu‹__ - (( - 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  - #__¡ršg2_1b±r_p -( -__x -) \ - -93 (( -size_t -)(cÚ¡ *)(( -__x -è+ 1è- (size_t)(cÚ¡ *)(__xè=ð1) - - ) - -96 #ià! -defšed - -_HAVE_STRING_ARCH_mem£t - - -97 #ià! -__GNUC_PREREQ - (3, 0) - -98 #ià -_STRING_INLINE_uÇligÃd - - -99  - #mem£t -( -s -, -c -, -n -) \ - -100 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -n -) && (n) <= 16 \ - -101 ? (( -n -) == 1 \ - -102 ? - `__mem£t_1 - ( -s -, -c -) \ - -103 : - `__mem£t_gc - ( -s -, -c -, -n -)) \ - -104 : ( - `__bužtš_cÚ¡ªt_p - ( -c -) && (c) == '\0' \ - -105 ? ({ * -__s - = ( -s -); - `__bz”o - (__s, -n -); __s; }) \ - -106 : - `mem£t - ( -s -, -c -, -n -)))) - - ) - -108  - #__mem£t_1 -( -s -, -c -è({ * -__s - = (s); \ - -109 *(( -__ušt8_t - *è -__s -èð(__ušt8_tè -c -; __s; }) - - ) - -111  - #__mem£t_gc -( -s -, -c -, -n -) \ - -112 ({ * -__s - = ( -s -); \ - -114  -__ui -; \ - -115  -__usi -; \ - -116  -__uc -; \ - -117 } * -__u - = -__s -; \ - -118 -__ušt8_t - -__c - = (__ušt8_tè( -c -); \ - -121 (è( -n -)) \ - -124 -__u --> -__ui - = -__c - * 0x01010101; \ - -125 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -127 -__u --> -__ui - = -__c - * 0x01010101; \ - -128 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -130 -__u --> -__ui - = -__c - * 0x01010101; \ - -131 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -133 -__u --> -__usi - = (è -__c - * 0x0101; \ - -134 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); \ - -135 -__u --> -__uc - = (è -__c -; \ - -139 -__u --> -__ui - = -__c - * 0x01010101; \ - -140 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -142 -__u --> -__ui - = -__c - * 0x01010101; \ - -143 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -145 -__u --> -__ui - = -__c - * 0x01010101; \ - -146 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -148 -__u --> -__usi - = (è -__c - * 0x0101; \ - -152 -__u --> -__ui - = -__c - * 0x01010101; \ - -153 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -155 -__u --> -__ui - = -__c - * 0x01010101; \ - -156 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -158 -__u --> -__ui - = -__c - * 0x01010101; \ - -159 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -161 -__u --> -__uc - = (è -__c -; \ - -165 -__u --> -__ui - = -__c - * 0x01010101; \ - -166 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -168 -__u --> -__ui - = -__c - * 0x01010101; \ - -169 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -171 -__u --> -__ui - = -__c - * 0x01010101; \ - -172 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); \ - -174 -__u --> -__ui - = -__c - * 0x01010101; \ - -179 -__s -; }) - - ) - -181  - #mem£t -( -s -, -c -, -n -) \ - -182 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -c -) && (c) == '\0' \ - -183 ? ({ * -__s - = ( -s -); - `__bz”o - (__s, -n -); __s; }) \ - -184 : - `mem£t - ( -s -, -c -, -n -))) - - ) - -193 #ià -__GNUC_PREREQ - (2, 91) - -194  - #__bz”o -( -s -, -n -è - `__bužtš_mem£t - (s, '\0',‚) - - ) - -202 #ifdeà -__USE_GNU - - -203 #ià! -defšed - -_HAVE_STRING_ARCH_mempýy - || defšed -_FORCE_INLINES - - -204 #iâdeà -_HAVE_STRING_ARCH_mempýy - - -205 #ià -__GNUC_PREREQ - (3, 4) - -206  - #__mempýy -( -de¡ -, -¤c -, -n -è - `__bužtš_mempýy - (de¡, src,‚) - - ) - -207 #–ià -__GNUC_PREREQ - (3, 0) - -208  - #__mempýy -( -de¡ -, -¤c -, -n -) \ - -209 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -è&& __bužtš_cÚ¡ªt_°( -n -) \ - -210 && - `__¡ršg2_1b±r_p - ( -¤c -è&& -n - <= 8 \ - -211 ? - `__bužtš_memýy - ( -de¡ -, -¤c -, -n -) + (n) \ - -212 : - `__mempýy - ( -de¡ -, -¤c -, -n -))) - - ) - -214  - #__mempýy -( -de¡ -, -¤c -, -n -) \ - -215 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -è&& __bužtš_cÚ¡ªt_°( -n -) \ - -216 && - `__¡ršg2_1b±r_p - ( -¤c -è&& -n - <= 8 \ - -217 ? - `__mempýy_sm®l - ( -de¡ -, - `__mempýy_¬gs - ( -¤c -), -n -) \ - -218 : - `__mempýy - ( -de¡ -, -¤c -, -n -))) - - ) - -222  - #mempýy -( -de¡ -, -¤c -, -n -è - `__mempýy - (de¡, src,‚) - - ) - -225 #ià! -__GNUC_PREREQ - (3, 0è|| -defšed - -_FORCE_INLINES - - -226 #ià -_STRING_INLINE_uÇligÃd - - -227 #iâdeà -_FORCE_INLINES - - -228  - #__mempýy_¬gs -( -¤c -) \ - -229 ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[2], \ - -230 ((cÚ¡ *è( -¤c -))[4], ((const *) (src))[6], \ - -231 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET16 - ( -¤c -, 0), \ - -232 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET16 - ( -¤c -, 4), \ - -233 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET32 - ( -¤c -, 0), \ - -234 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET32 - ( -¤c -, 4) - - ) - -236 -__STRING_INLINE - * -__mempýy_sm®l - (*, , , , , - -237 -__ušt16_t -, __ušt16_t, -__ušt32_t -, - -238 -__ušt32_t -, -size_t -); - -239 -__STRING_INLINE - * - -240 - $__mempýy_sm®l - (* -__de¡1 -, - -241  -__¤c0_1 -,  -__¤c2_1 -,  -__¤c4_1 -,  -__¤c6_1 -, - -242 -__ušt16_t - -__¤c0_2 -, __ušt16_ˆ -__¤c4_2 -, - -243 -__ušt32_t - -__¤c0_4 -, __ušt32_ˆ -__¤c4_4 -, - -244 -size_t - -__¤þ’ -) - -247 -__ušt32_t - -__ui -; - -248 -__ušt16_t - -__usi -; - -249  -__uc -; - -250  -__c -; - -251 } * -__u - = -__de¡1 -; - -252 (è -__¤þ’ -) - -255 -__u --> -__c - = -__¤c0_1 -; - -256 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 1); - -259 -__u --> -__usi - = -__¤c0_2 -; - -260 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); - -263 -__u --> -__usi - = -__¤c0_2 -; - -264 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); - -265 -__u --> -__c - = -__¤c2_1 -; - -266 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 1); - -269 -__u --> -__ui - = -__¤c0_4 -; - -270 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -273 -__u --> -__ui - = -__¤c0_4 -; - -274 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -275 -__u --> -__c - = -__¤c4_1 -; - -276 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 1); - -279 -__u --> -__ui - = -__¤c0_4 -; - -280 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -281 -__u --> -__usi - = -__¤c4_2 -; - -282 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); - -285 -__u --> -__ui - = -__¤c0_4 -; - -286 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -287 -__u --> -__usi - = -__¤c4_2 -; - -288 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); - -289 -__u --> -__c - = -__¤c6_1 -; - -290 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 1); - -293 -__u --> -__ui - = -__¤c0_4 -; - -294 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -295 -__u --> -__ui - = -__¤c4_4 -; - -296 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -299  (*è -__u -; - -300 - } -} - -302 #iâdeà -_FORCE_INLINES - - -303  - #__mempýy_¬gs -( -¤c -) \ - -304 ((cÚ¡ *è( -¤c -))[0], \ - -305 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR2 -) \ - -306 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1] } }), \ - -307 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR3 -) \ - -308 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -309 ((cÚ¡ *è( -¤c -))[2] } }), \ - -310 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR4 -) \ - -311 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -312 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3] } }), \ - -313 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR5 -) \ - -314 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -315 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -316 ((cÚ¡ *è( -¤c -))[4] } }), \ - -317 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR6 -) \ - -318 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -319 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -320 ((cÚ¡ *è( -¤c -))[4], ((const *) (src))[5] } }), \ - -321 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR7 -) \ - -322 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -323 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -324 ((cÚ¡ *è( -¤c -))[4], ((const *) (src))[5], \ - -325 ((cÚ¡ *è( -¤c -))[6] } }), \ - -326 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR8 -) \ - -327 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -328 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -329 ((cÚ¡ *è( -¤c -))[4], ((const *) (src))[5], \ - -330 ((cÚ¡ *è( -¤c -))[6], ((cÚ¡ *è(¤c))[7] } }) - - ) - -332 -__STRING_INLINE - * -__mempýy_sm®l - (*, , -__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 - * - -340 - $__mempýy_sm®l - (* -__de¡ -,  -__¤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 - -__¤þ’ -) - -347  -__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 (è -__¤þ’ -) - -359 -__u --> -__c - = -__¤c1 -; - -362 -__ex‹nsiÚ__ - -__u --> -__sÿ2 - = -__¤c2 -; - -365 -__ex‹nsiÚ__ - -__u --> -__sÿ3 - = -__¤c3 -; - -368 -__ex‹nsiÚ__ - -__u --> -__sÿ4 - = -__¤c4 -; - -371 -__ex‹nsiÚ__ - -__u --> -__sÿ5 - = -__¤c5 -; - -374 -__ex‹nsiÚ__ - -__u --> -__sÿ6 - = -__¤c6 -; - -377 -__ex‹nsiÚ__ - -__u --> -__sÿ7 - = -__¤c7 -; - -380 -__ex‹nsiÚ__ - -__u --> -__sÿ8 - = -__¤c8 -; - -383  - `__ex‹nsiÚ__ - ((*è -__u - + -__¤þ’ -); - -384 - } -} - -392 #iâdeà -_HAVE_STRING_ARCH_¡rchr - - -393 * -__¿wmemchr - (cÚ¡ * -__s -,  -__c -); - -394 #ià -__GNUC_PREREQ - (3, 2) - -395  - #¡rchr -( -s -, -c -) \ - -396 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -c -è&& !__bužtš_cÚ¡ªt_°( -s -) \ - -397 && ( -c -) == '\0' \ - -398 ? (*è - `__¿wmemchr - ( -s -, -c -) \ - -399 : - `__bužtš_¡rchr - ( -s -, -c -))) - - ) - -401  - #¡rchr -( -s -, -c -) \ - -402 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -c -) && (c) == '\0' \ - -403 ? (*è - `__¿wmemchr - ( -s -, -c -) \ - -404 : - `¡rchr - ( -s -, -c -))) - - ) - -410 #ià(! -defšed - -_HAVE_STRING_ARCH_¡rýy - && ! -__GNUC_PREREQ - (3, 0)) \ - -411 || -defšed - - g_FORCE_INLINES - - -412 #ià! -defšed - -_HAVE_STRING_ARCH_¡rýy - && ! -__GNUC_PREREQ - (3, 0) - -413  - #¡rýy -( -de¡ -, -¤c -) \ - -414 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -) \ - -415 ? ( - `__¡ršg2_1b±r_p - ( -¤c -è&& - `¡¾’ - (src) + 1 <= 8 \ - -416 ? - `__¡rýy_sm®l - ( -de¡ -, - `__¡rýy_¬gs - ( -¤c -), \ - -417 - `¡¾’ - ( -¤c -) + 1) \ - -418 : (*è - `memýy - ( -de¡ -, -¤c -, - `¡¾’ - (src) + 1)) \ - -419 : - `¡rýy - ( -de¡ -, -¤c -))) - - ) - -422 #ià -_STRING_INLINE_uÇligÃd - - -423 #iâdeà -_FORCE_INLINES - - -424  - #__¡rýy_¬gs -( -¤c -) \ - -425 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET16 - ( -¤c -, 0), \ - -426 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET16 - ( -¤c -, 4), \ - -427 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET32 - ( -¤c -, 0), \ - -428 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET32 - ( -¤c -, 4) - - ) - -430 -__STRING_INLINE - * -__¡rýy_sm®l - (*, -__ušt16_t -, __uint16_t, - -431 -__ušt32_t -, __ušt32_t, -size_t -); - -432 -__STRING_INLINE - * - -433 - $__¡rýy_sm®l - (* -__de¡ -, - -434 -__ušt16_t - -__¤c0_2 -, __ušt16_ˆ -__¤c4_2 -, - -435 -__ušt32_t - -__¤c0_4 -, __ušt32_ˆ -__¤c4_4 -, - -436 -size_t - -__¤þ’ -) - -439 -__ušt32_t - -__ui -; - -440 -__ušt16_t - -__usi -; - -441  -__uc -; - -442 } * -__u - = (*è -__de¡ -; - -443 (è -__¤þ’ -) - -446 -__u --> -__uc - = '\0'; - -449 -__u --> -__usi - = -__¤c0_2 -; - -452 -__u --> -__usi - = -__¤c0_2 -; - -453 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); - -454 -__u --> -__uc - = '\0'; - -457 -__u --> -__ui - = -__¤c0_4 -; - -460 -__u --> -__ui - = -__¤c0_4 -; - -461 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -462 -__u --> -__uc - = '\0'; - -465 -__u --> -__ui - = -__¤c0_4 -; - -466 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -467 -__u --> -__usi - = -__¤c4_2 -; - -470 -__u --> -__ui - = -__¤c0_4 -; - -471 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -472 -__u --> -__usi - = -__¤c4_2 -; - -473 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); - -474 -__u --> -__uc - = '\0'; - -477 -__u --> -__ui - = -__¤c0_4 -; - -478 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -479 -__u --> -__ui - = -__¤c4_4 -; - -482  -__de¡ -; - -483 - } -} - -485 #iâdeà -_FORCE_INLINES - - -486  - #__¡rýy_¬gs -( -¤c -) \ - -487 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR2 -) \ - -488 { { ((cÚ¡ *è( -¤c -))[0], '\0' } }), \ - -489 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR3 -) \ - -490 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -492 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR4 -) \ - -493 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -494 ((cÚ¡ *è( -¤c -))[2], '\0' } }), \ - -495 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR5 -) \ - -496 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -497 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -499 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR6 -) \ - -500 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -501 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -502 ((cÚ¡ *è( -¤c -))[4], '\0' } }), \ - -503 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR7 -) \ - -504 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -505 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -506 ((cÚ¡ *è( -¤c -))[4], ((const *) (src))[5], \ - -508 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR8 -) \ - -509 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -510 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -511 ((cÚ¡ *è( -¤c -))[4], ((const *) (src))[5], \ - -512 ((cÚ¡ *è( -¤c -))[6], '\0' } }) - - ) - -514 -__STRING_INLINE - * -__¡rýy_sm®l - (*, -__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 - * - -522 - $__¡rýy_sm®l - (* -__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 - -__¤þ’ -) - -529  -__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 - = (*è -__de¡ -; - -538 (è -__¤þ’ -) - -541 -__u --> -__c - = '\0'; - -544 -__ex‹nsiÚ__ - -__u --> -__sÿ2 - = -__¤c2 -; - -547 -__ex‹nsiÚ__ - -__u --> -__sÿ3 - = -__¤c3 -; - -550 -__ex‹nsiÚ__ - -__u --> -__sÿ4 - = -__¤c4 -; - -553 -__ex‹nsiÚ__ - -__u --> -__sÿ5 - = -__¤c5 -; - -556 -__ex‹nsiÚ__ - -__u --> -__sÿ6 - = -__¤c6 -; - -559 -__ex‹nsiÚ__ - -__u --> -__sÿ7 - = -__¤c7 -; - -562 -__ex‹nsiÚ__ - -__u --> -__sÿ8 - = -__¤c8 -; - -565  -__de¡ -; - -566 - } -} - -572 #ifdeà -__USE_GNU - - -573 #ià! -defšed - -_HAVE_STRING_ARCH_¡pýy - || defšed -_FORCE_INLINES - - -574 #iâdeà -_HAVE_STRING_ARCH_¡pýy - - -575 #ià -__GNUC_PREREQ - (3, 4) - -576  - #__¡pýy -( -de¡ -, -¤c -è - `__bužtš_¡pýy - (de¡, src) - - ) - -577 #–ià -__GNUC_PREREQ - (3, 0) - -578  - #__¡pýy -( -de¡ -, -¤c -) \ - -579 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -) \ - -580 ? ( - `__¡ršg2_1b±r_p - ( -¤c -è&& - `¡¾’ - (src) + 1 <= 8 \ - -581 ? - `__bužtš_¡rýy - ( -de¡ -, -¤c -è+ - `¡¾’ - (src) \ - -582 : ((*è( -__mempýy -è( -de¡ -, -¤c -, - `¡¾’ - (src) + 1) \ - -584 : - `__¡pýy - ( -de¡ -, -¤c -))) - - ) - -586  - #__¡pýy -( -de¡ -, -¤c -) \ - -587 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -) \ - -588 ? ( - `__¡ršg2_1b±r_p - ( -¤c -è&& - `¡¾’ - (src) + 1 <= 8 \ - -589 ? - `__¡pýy_sm®l - ( -de¡ -, - `__¡pýy_¬gs - ( -¤c -), \ - -590 - `¡¾’ - ( -¤c -) + 1) \ - -591 : ((*è( -__mempýy -è( -de¡ -, -¤c -, - `¡¾’ - (src) + 1) \ - -593 : - `__¡pýy - ( -de¡ -, -¤c -))) - - ) - -597  - #¡pýy -( -de¡ -, -¤c -è - `__¡pýy - (de¡, src) - - ) - -600 #ià! -__GNUC_PREREQ - (3, 0è|| -defšed - -_FORCE_INLINES - - -601 #ià -_STRING_INLINE_uÇligÃd - - -602 #iâdeà -_FORCE_INLINES - - -603  - #__¡pýy_¬gs -( -¤c -) \ - -604 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET16 - ( -¤c -, 0), \ - -605 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET16 - ( -¤c -, 4), \ - -606 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET32 - ( -¤c -, 0), \ - -607 -__ex‹nsiÚ__ - - `__STRING2_SMALL_GET32 - ( -¤c -, 4) - - ) - -609 -__STRING_INLINE - * -__¡pýy_sm®l - (*, -__ušt16_t -, __uint16_t, - -610 -__ušt32_t -, __ušt32_t, -size_t -); - -611 -__STRING_INLINE - * - -612 - $__¡pýy_sm®l - (* -__de¡ -, - -613 -__ušt16_t - -__¤c0_2 -, __ušt16_ˆ -__¤c4_2 -, - -614 -__ušt32_t - -__¤c0_4 -, __ušt32_ˆ -__¤c4_4 -, - -615 -size_t - -__¤þ’ -) - -618  -__ui -; - -619  -__usi -; - -620  -__uc -; - -621  -__c -; - -622 } * -__u - = (*è -__de¡ -; - -623 (è -__¤þ’ -) - -626 -__u --> -__uc - = '\0'; - -629 -__u --> -__usi - = -__¤c0_2 -; - -630 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 1); - -633 -__u --> -__usi - = -__¤c0_2 -; - -634 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); - -635 -__u --> -__uc - = '\0'; - -638 -__u --> -__ui - = -__¤c0_4 -; - -639 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 3); - -642 -__u --> -__ui - = -__¤c0_4 -; - -643 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -644 -__u --> -__uc - = '\0'; - -647 -__u --> -__ui - = -__¤c0_4 -; - -648 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -649 -__u --> -__usi - = -__¤c4_2 -; - -650 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 1); - -653 -__u --> -__ui - = -__¤c0_4 -; - -654 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -655 -__u --> -__usi - = -__¤c4_2 -; - -656 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 2); - -657 -__u --> -__uc - = '\0'; - -660 -__u --> -__ui - = -__¤c0_4 -; - -661 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 4); - -662 -__u --> -__ui - = -__¤c4_4 -; - -663 -__u - = - `__ex‹nsiÚ__ - ((*) __u + 3); - -666  & -__u --> -__c -; - -667 - } -} - -669 #iâdeà -_FORCE_INLINES - - -670  - #__¡pýy_¬gs -( -¤c -) \ - -671 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR2 -) \ - -672 { { ((cÚ¡ *è( -¤c -))[0], '\0' } }), \ - -673 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR3 -) \ - -674 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -676 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR4 -) \ - -677 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -678 ((cÚ¡ *è( -¤c -))[2], '\0' } }), \ - -679 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR5 -) \ - -680 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -681 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -683 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR6 -) \ - -684 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -685 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -686 ((cÚ¡ *è( -¤c -))[4], '\0' } }), \ - -687 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR7 -) \ - -688 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -689 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -690 ((cÚ¡ *è( -¤c -))[4], ((const *) (src))[5], \ - -692 - `__ex‹nsiÚ__ - (( -__STRING2_COPY_ARR8 -) \ - -693 { { ((cÚ¡ *è( -¤c -))[0], ((const *) (src))[1], \ - -694 ((cÚ¡ *è( -¤c -))[2], ((const *) (src))[3], \ - -695 ((cÚ¡ *è( -¤c -))[4], ((const *) (src))[5], \ - -696 ((cÚ¡ *è( -¤c -))[6], '\0' } }) - - ) - -698 -__STRING_INLINE - * -__¡pýy_sm®l - (*, -__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 - * - -706 - $__¡pýy_sm®l - (* -__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 - -__¤þ’ -) - -713  -__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 - = (*è -__de¡ -; - -722 (è -__¤þ’ -) - -725 -__u --> -__c - = '\0'; - -728 -__ex‹nsiÚ__ - -__u --> -__sÿ2 - = -__¤c2 -; - -731 -__ex‹nsiÚ__ - -__u --> -__sÿ3 - = -__¤c3 -; - -734 -__ex‹nsiÚ__ - -__u --> -__sÿ4 - = -__¤c4 -; - -737 -__ex‹nsiÚ__ - -__u --> -__sÿ5 - = -__¤c5 -; - -740 -__ex‹nsiÚ__ - -__u --> -__sÿ6 - = -__¤c6 -; - -743 -__ex‹nsiÚ__ - -__u --> -__sÿ7 - = -__¤c7 -; - -746 -__ex‹nsiÚ__ - -__u --> -__sÿ8 - = -__¤c8 -; - -749  -__de¡ - + -__¤þ’ - - 1; - -750 - } -} - -758 #iâdeà -_HAVE_STRING_ARCH_¡ºýy - - -759 #ià -__GNUC_PREREQ - (3, 2) - -760  - #¡ºýy -( -de¡ -, -¤c -, -n -è - `__bužtš_¡ºýy - (de¡, src,‚) - - ) - -762  - #¡ºýy -( -de¡ -, -¤c -, -n -) \ - -763 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -è&& __bužtš_cÚ¡ªt_°( -n -) \ - -764 ? ( - `¡¾’ - ( -¤c -è+ 1 >ð(( -size_t -è( -n -)) \ - -765 ? (*è - `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  - #¡ºÿt -( -de¡ -, -¤c -, -n -) \ - -776 ( - `__ex‹nsiÚ__ - ({ * -__de¡ - = ( -de¡ -); \ - -777 - `__bužtš_cÚ¡ªt_p - ( -¤c -è&& __bužtš_cÚ¡ªt_°( -n -) \ - -778 ? ( - `¡¾’ - ( -¤c -è< (( -size_t -è( -n -)) \ - -779 ? - `¡rÿt - ( -__de¡ -, -¤c -) \ - -780 : (*((*è - `__mempýy - ( - `¡rchr - ( -__de¡ -, '\0'), \ - -781 -¤c -, -n -)èð'\0', -__de¡ -)) \ - -782 : - `¡ºÿt - ( -de¡ -, -¤c -, -n -); })) - - ) - -783 #–ià -__GNUC_PREREQ - (3, 2) - -784  - #¡ºÿt -( -de¡ -, -¤c -, -n -è - `__bužtš_¡ºÿt - (de¡, src,‚) - - ) - -786  - #¡ºÿt -( -de¡ -, -¤c -, -n -) \ - -787 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -¤c -è&& __bužtš_cÚ¡ªt_°( -n -) \ - -788 ? ( - `¡¾’ - ( -¤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  - #¡rcmp -( -s1 -, -s2 -) \ - -800 -__ex‹nsiÚ__ - \ - -801 ({ -size_t - -__s1_Ën -, -__s2_Ën -; \ - -802 ( - `__bužtš_cÚ¡ªt_p - ( -s1 -è&& __bužtš_cÚ¡ªt_°( -s2 -) \ - -803 && ( -__s1_Ën - = - `__bužtš_¡¾’ - ( -s1 -), -__s2_Ën - = __bužtš_¡¾’ ( -s2 -), \ - -804 (! - `__¡ršg2_1b±r_p - ( -s1 -è|| -__s1_Ën - >= 4) \ - -805 && (! - `__¡ršg2_1b±r_p - ( -s2 -è|| -__s2_Ën - >= 4)) \ - -806 ? - `__bužtš_¡rcmp - ( -s1 -, -s2 -) \ - -807 : ( - `__bužtš_cÚ¡ªt_p - ( -s1 -è&& - `__¡ršg2_1b±r_p - (s1) \ - -808 && ( -__s1_Ën - = - `__bužtš_¡¾’ - ( -s1 -), __s1_len < 4) \ - -809 ? ( - `__bužtš_cÚ¡ªt_p - ( -s2 -è&& - `__¡ršg2_1b±r_p - (s2) \ - -810 ? - `__bužtš_¡rcmp - ( -s1 -, -s2 -) \ - -811 : - `__¡rcmp_cg - ( -s1 -, -s2 -, -__s1_Ën -)) \ - -812 : ( - `__bužtš_cÚ¡ªt_p - ( -s2 -è&& - `__¡ršg2_1b±r_p - (s2) \ - -813 && ( -__s2_Ën - = - `__bužtš_¡¾’ - ( -s2 -), __s2_len < 4) \ - -814 ? ( - `__bužtš_cÚ¡ªt_p - ( -s1 -è&& - `__¡ršg2_1b±r_p - (s1) \ - -815 ? - `__bužtš_¡rcmp - ( -s1 -, -s2 -) \ - -816 : - `__¡rcmp_gc - ( -s1 -, -s2 -, -__s2_Ën -)) \ - -817 : - `__bužtš_¡rcmp - ( -s1 -, -s2 -)))); }) - - ) - -819  - #¡rcmp -( -s1 -, -s2 -) \ - -820 -__ex‹nsiÚ__ - \ - -821 ({ -size_t - -__s1_Ën -, -__s2_Ën -; \ - -822 ( - `__bužtš_cÚ¡ªt_p - ( -s1 -è&& __bužtš_cÚ¡ªt_°( -s2 -) \ - -823 && ( -__s1_Ën - = - `¡¾’ - ( -s1 -), -__s2_Ën - = sŒËÀ( -s2 -), \ - -824 (! - `__¡ršg2_1b±r_p - ( -s1 -è|| -__s1_Ën - >= 4) \ - -825 && (! - `__¡ršg2_1b±r_p - ( -s2 -è|| -__s2_Ën - >= 4)) \ - -826 ? - `memcmp - ((cÚ¡ *è( -s1 -), (cÚ¡ *è( -s2 -), \ - -827 ( -__s1_Ën - < -__s2_Ën - ? __s1_len : __s2_len) + 1) \ - -828 : ( - `__bužtš_cÚ¡ªt_p - ( -s1 -è&& - `__¡ršg2_1b±r_p - (s1) \ - -829 && ( -__s1_Ën - = - `¡¾’ - ( -s1 -), __s1_len < 4) \ - -830 ? ( - `__bužtš_cÚ¡ªt_p - ( -s2 -è&& - `__¡ršg2_1b±r_p - (s2) \ - -831 ? - `__¡rcmp_cc - ( -s1 -, -s2 -, -__s1_Ën -) \ - -832 : - `__¡rcmp_cg - ( -s1 -, -s2 -, -__s1_Ën -)) \ - -833 : ( - `__bužtš_cÚ¡ªt_p - ( -s2 -è&& - `__¡ršg2_1b±r_p - (s2) \ - -834 && ( -__s2_Ën - = - `¡¾’ - ( -s2 -), __s2_len < 4) \ - -835 ? ( - `__bužtš_cÚ¡ªt_p - ( -s1 -è&& - `__¡ršg2_1b±r_p - (s1) \ - -836 ? - `__¡rcmp_cc - ( -s1 -, -s2 -, -__s2_Ën -) \ - -837 : - `__¡rcmp_gc - ( -s1 -, -s2 -, -__s2_Ën -)) \ - -838 : - `¡rcmp - ( -s1 -, -s2 -)))); }) - - ) - -841  - #__¡rcmp_cc -( -s1 -, -s2 -, -l -) \ - -842 ( - `__ex‹nsiÚ__ - ({  -__»suÉ - = \ - -843 (((cÚ¡ *è(cÚ¡ *è( -s1 -))[0] \ - -844 - ((cÚ¡ *è(cÚ¡ *)( -s2 -))[0]); \ - -845 ià( -l - > 0 && -__»suÉ - == 0) \ - -847 -__»suÉ - = (((const *) \ - -848 (cÚ¡ *è( -s1 -))[1] \ - -850 (cÚ¡ *è( -s2 -))[1]); \ - -851 ià( -l - > 1 && -__»suÉ - == 0) \ - -853 -__»suÉ - = \ - -855 (cÚ¡ *è( -s1 -))[2] \ - -857 (cÚ¡ *è( -s2 -))[2]); \ - -858 ià( -l - > 2 && -__»suÉ - == 0) \ - -859 -__»suÉ - = \ - -861 (cÚ¡ *è( -s1 -))[3] \ - -863 (cÚ¡ *è( -s2 -))[3]); \ - -866 -__»suÉ -; })) - - ) - -868  - #__¡rcmp_cg -( -s1 -, -s2 -, -l1 -) \ - -869 ( - `__ex‹nsiÚ__ - ({ cÚ¡ * -__s2 - = \ - -870 (cÚ¡ *è(cÚ¡ *è( -s2 -); \ - -871  -__»suÉ - = \ - -872 (((cÚ¡ *è(cÚ¡ *è( -s1 -))[0] \ - -873 - -__s2 -[0]); \ - -874 ià( -l1 - > 0 && -__»suÉ - == 0) \ - -876 -__»suÉ - = (((const *) \ - -877 (cÚ¡ *è( -s1 -))[1] - -__s2 -[1]); \ - -878 ià( -l1 - > 1 && -__»suÉ - == 0) \ - -880 -__»suÉ - = (((const *) \ - -881 (cÚ¡ *è( -s1 -))[2] - -__s2 -[2]); \ - -882 ià( -l1 - > 2 && -__»suÉ - == 0) \ - -883 -__»suÉ - = (((const *) \ - -884 (cÚ¡ *è( -s1 -))[3] \ - -885 - -__s2 -[3]); \ - -888 -__»suÉ -; })) - - ) - -890  - #__¡rcmp_gc -( -s1 -, -s2 -, -l2 -è(- - `__¡rcmp_cg - (s2, s1,†2)) - - ) - -895 #iâdeà -_HAVE_STRING_ARCH_¡ºcmp - - -896  - #¡ºcmp -( -s1 -, -s2 -, -n -) \ - -897 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -n -) \ - -898 && (( - `__bužtš_cÚ¡ªt_p - ( -s1 -) \ - -899 && - `¡¾’ - ( -s1 -è< (( -size_t -è( -n -))) \ - -900 || ( - `__bužtš_cÚ¡ªt_p - ( -s2 -) \ - -901 && - `¡¾’ - ( -s2 -è< (( -size_t -è( -n -)))) \ - -902 ? - `¡rcmp - ( -s1 -, -s2 -è: - `¡ºcmp - (s1, s2, -n -))) - - ) - -908 #ià! -defšed - -_HAVE_STRING_ARCH_¡rc¥n - || defšed -_FORCE_INLINES - - -909 #iâdeà -_HAVE_STRING_ARCH_¡rc¥n - - -910 #ià -__GNUC_PREREQ - (3, 2) - -911  - #¡rc¥n -( -s -, -»jeù -) \ - -912 -__ex‹nsiÚ__ - \ - -913 ({  -__r0 -, -__r1 -, -__r2 -; \ - -914 ( - `__bužtš_cÚ¡ªt_p - ( -»jeù -è&& - `__¡ršg2_1b±r_p - (reject) \ - -915 ? (( - `__bužtš_cÚ¡ªt_p - ( -s -è&& - `__¡ršg2_1b±r_p - (s)) \ - -916 ? - `__bužtš_¡rc¥n - ( -s -, -»jeù -) \ - -917 : (( -__r0 - = ((cÚ¡ *è( -»jeù -))[0], __r0 == '\0') \ - -918 ? - `¡¾’ - ( -s -) \ - -919 : (( -__r1 - = ((cÚ¡ *è( -»jeù -))[1], __r1 == '\0') \ - -920 ? - `__¡rc¥n_c1 - ( -s -, -__r0 -) \ - -921 : (( -__r2 - = ((cÚ¡ *è( -»jeù -))[2], __r2 == '\0') \ - -922 ? - `__¡rc¥n_c2 - ( -s -, -__r0 -, -__r1 -) \ - -923 : (((cÚ¡ *è( -»jeù -))[3] == '\0' \ - -924 ? - `__¡rc¥n_c3 - ( -s -, -__r0 -, -__r1 -, -__r2 -) \ - -925 : - `__bužtš_¡rc¥n - ( -s -, -»jeù -)))))) \ - -926 : - `__bužtš_¡rc¥n - ( -s -, -»jeù -)); }) - - ) - -928  - #¡rc¥n -( -s -, -»jeù -) \ - -929 -__ex‹nsiÚ__ - \ - -930 ({  -__r0 -, -__r1 -, -__r2 -; \ - -931 ( - `__bužtš_cÚ¡ªt_p - ( -»jeù -è&& - `__¡ršg2_1b±r_p - (reject) \ - -932 ? (( -__r0 - = ((cÚ¡ *è( -»jeù -))[0], __r0 == '\0') \ - -933 ? - `¡¾’ - ( -s -) \ - -934 : (( -__r1 - = ((cÚ¡ *è( -»jeù -))[1], __r1 == '\0') \ - -935 ? - `__¡rc¥n_c1 - ( -s -, -__r0 -) \ - -936 : (( -__r2 - = ((cÚ¡ *è( -»jeù -))[2], __r2 == '\0') \ - -937 ? - `__¡rc¥n_c2 - ( -s -, -__r0 -, -__r1 -) \ - -938 : (((cÚ¡ *è( -»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Ú¡ * -__s -,  -__»jeù -); - -946 -__STRING_INLINE - -size_t - - -947 - $__¡rc¥n_c1 - (cÚ¡ * -__s -,  -__»jeù -) - -949 -size_t - -__»suÉ - = 0; - -950  -__s -[ -__»suÉ -] !ð'\0' && __s[__»suÉ] !ð -__»jeù -) - -951 ++ -__»suÉ -; - -952  -__»suÉ -; - -953 - } -} - -955 -__STRING_INLINE - -size_t - -__¡rc¥n_c2 - (cÚ¡ * -__s -,  -__»jeù1 -, - -956  -__»jeù2 -); - -957 -__STRING_INLINE - -size_t - - -958 - $__¡rc¥n_c2 - (cÚ¡ * -__s -,  -__»jeù1 -,  -__»jeù2 -) - -960 -size_t - -__»suÉ - = 0; - -961  -__s -[ -__»suÉ -] !ð'\0' && __s[__»suÉ] !ð -__»jeù1 - - -962 && -__s -[ -__»suÉ -] !ð -__»jeù2 -) - -963 ++ -__»suÉ -; - -964  -__»suÉ -; - -965 - } -} - -967 -__STRING_INLINE - -size_t - -__¡rc¥n_c3 - (cÚ¡ * -__s -,  -__»jeù1 -, - -968  -__»jeù2 -,  -__»jeù3 -); - -969 -__STRING_INLINE - -size_t - - -970 - $__¡rc¥n_c3 - (cÚ¡ * -__s -,  -__»jeù1 -,  -__»jeù2 -, - -971  -__»jeù3 -) - -973 -size_t - -__»suÉ - = 0; - -974  -__s -[ -__»suÉ -] !ð'\0' && __s[__»suÉ] !ð -__»jeù1 - - -975 && -__s -[ -__»suÉ -] !ð -__»jeù2 - && __s[__»suÉ] !ð -__»jeù3 -) - -976 ++ -__»suÉ -; - -977  -__»suÉ -; - -978 - } -} - -984 #ià! -defšed - -_HAVE_STRING_ARCH_¡r¥n - || defšed -_FORCE_INLINES - - -985 #iâdeà -_HAVE_STRING_ARCH_¡r¥n - - -986 #ià -__GNUC_PREREQ - (3, 2) - -987  - #¡r¥n -( -s -, -acû± -) \ - -988 -__ex‹nsiÚ__ - \ - -989 ({  -__a0 -, -__a1 -, -__a2 -; \ - -990 ( - `__bužtš_cÚ¡ªt_p - ( -acû± -è&& - `__¡ršg2_1b±r_p - (accept) \ - -991 ? (( - `__bužtš_cÚ¡ªt_p - ( -s -è&& - `__¡ršg2_1b±r_p - (s)) \ - -992 ? - `__bužtš_¡r¥n - ( -s -, -acû± -) \ - -993 : (( -__a0 - = ((cÚ¡ *è( -acû± -))[0], __a0 == '\0') \ - -994 ? ((è( -s -), ( -size_t -) 0) \ - -995 : (( -__a1 - = ((cÚ¡ *è( -acû± -))[1], __a1 == '\0') \ - -996 ? - `__¡r¥n_c1 - ( -s -, -__a0 -) \ - -997 : (( -__a2 - = ((cÚ¡ *è( -acû± -))[2], __a2 == '\0') \ - -998 ? - `__¡r¥n_c2 - ( -s -, -__a0 -, -__a1 -) \ - -999 : (((cÚ¡ *è( -acû± -))[3] == '\0' \ - -1000 ? - `__¡r¥n_c3 - ( -s -, -__a0 -, -__a1 -, -__a2 -) \ - -1001 : - `__bužtš_¡r¥n - ( -s -, -acû± -)))))) \ - -1002 : - `__bužtš_¡r¥n - ( -s -, -acû± -)); }) - - ) - -1004  - #¡r¥n -( -s -, -acû± -) \ - -1005 -__ex‹nsiÚ__ - \ - -1006 ({  -__a0 -, -__a1 -, -__a2 -; \ - -1007 ( - `__bužtš_cÚ¡ªt_p - ( -acû± -è&& - `__¡ršg2_1b±r_p - (accept) \ - -1008 ? (( -__a0 - = ((cÚ¡ *è( -acû± -))[0], __a0 == '\0') \ - -1009 ? ((è( -s -), ( -size_t -) 0) \ - -1010 : (( -__a1 - = ((cÚ¡ *è( -acû± -))[1], __a1 == '\0') \ - -1011 ? - `__¡r¥n_c1 - ( -s -, -__a0 -) \ - -1012 : (( -__a2 - = ((cÚ¡ *è( -acû± -))[2], __a2 == '\0') \ - -1013 ? - `__¡r¥n_c2 - ( -s -, -__a0 -, -__a1 -) \ - -1014 : (((cÚ¡ *è( -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Ú¡ * -__s -,  -__acû± -); - -1022 -__STRING_INLINE - -size_t - - -1023 - $__¡r¥n_c1 - (cÚ¡ * -__s -,  -__acû± -) - -1025 -size_t - -__»suÉ - = 0; - -1027  -__s -[ -__»suÉ -] =ð -__acû± -) - -1028 ++ -__»suÉ -; - -1029  -__»suÉ -; - -1030 - } -} - -1032 -__STRING_INLINE - -size_t - -__¡r¥n_c2 - (cÚ¡ * -__s -,  -__acû±1 -, - -1033  -__acû±2 -); - -1034 -__STRING_INLINE - -size_t - - -1035 - $__¡r¥n_c2 - (cÚ¡ * -__s -,  -__acû±1 -,  -__acû±2 -) - -1037 -size_t - -__»suÉ - = 0; - -1039  -__s -[ -__»suÉ -] =ð -__acû±1 - || __s[__»suÉ] =ð -__acû±2 -) - -1040 ++ -__»suÉ -; - -1041  -__»suÉ -; - -1042 - } -} - -1044 -__STRING_INLINE - -size_t - -__¡r¥n_c3 - (cÚ¡ * -__s -,  -__acû±1 -, - -1045  -__acû±2 -,  -__acû±3 -); - -1046 -__STRING_INLINE - -size_t - - -1047 - $__¡r¥n_c3 - (cÚ¡ * -__s -,  -__acû±1 -,  -__acû±2 -,  -__acû±3 -) - -1049 -size_t - -__»suÉ - = 0; - -1051  -__s -[ -__»suÉ -] =ð -__acû±1 - || __s[__»suÉ] =ð -__acû±2 - - -1052 || -__s -[ -__»suÉ -] =ð -__acû±3 -) - -1053 ++ -__»suÉ -; - -1054  -__»suÉ -; - -1055 - } -} - -1060 #ià! -defšed - -_HAVE_STRING_ARCH_¡½brk - || defšed -_FORCE_INLINES - - -1061 #iâdeà -_HAVE_STRING_ARCH_¡½brk - - -1062 #ià -__GNUC_PREREQ - (3, 2) - -1063  - #¡½brk -( -s -, -acû± -) \ - -1064 -__ex‹nsiÚ__ - \ - -1065 ({  -__a0 -, -__a1 -, -__a2 -; \ - -1066 ( - `__bužtš_cÚ¡ªt_p - ( -acû± -è&& - `__¡ršg2_1b±r_p - (accept) \ - -1067 ? (( - `__bužtš_cÚ¡ªt_p - ( -s -è&& - `__¡ršg2_1b±r_p - (s)) \ - -1068 ? - `__bužtš_¡½brk - ( -s -, -acû± -) \ - -1069 : (( -__a0 - = ((cÚ¡ *è( -acû± -))[0], __a0 == '\0') \ - -1070 ? ((è( -s -), (*è -NULL -) \ - -1071 : (( -__a1 - = ((cÚ¡ *è( -acû± -))[1], __a1 == '\0') \ - -1072 ? - `__bužtš_¡rchr - ( -s -, -__a0 -) \ - -1073 : (( -__a2 - = ((cÚ¡ *è( -acû± -))[2], __a2 == '\0') \ - -1074 ? - `__¡½brk_c2 - ( -s -, -__a0 -, -__a1 -) \ - -1075 : (((cÚ¡ *è( -acû± -))[3] == '\0' \ - -1076 ? - `__¡½brk_c3 - ( -s -, -__a0 -, -__a1 -, -__a2 -) \ - -1077 : - `__bužtš_¡½brk - ( -s -, -acû± -)))))) \ - -1078 : - `__bužtš_¡½brk - ( -s -, -acû± -)); }) - - ) - -1080  - #¡½brk -( -s -, -acû± -) \ - -1081 -__ex‹nsiÚ__ - \ - -1082 ({  -__a0 -, -__a1 -, -__a2 -; \ - -1083 ( - `__bužtš_cÚ¡ªt_p - ( -acû± -è&& - `__¡ršg2_1b±r_p - (accept) \ - -1084 ? (( -__a0 - = ((cÚ¡ *è( -acû± -))[0], __a0 == '\0') \ - -1085 ? ((è( -s -), (*è -NULL -) \ - -1086 : (( -__a1 - = ((cÚ¡ *è( -acû± -))[1], __a1 == '\0') \ - -1087 ? - `¡rchr - ( -s -, -__a0 -) \ - -1088 : (( -__a2 - = ((cÚ¡ *è( -acû± -))[2], __a2 == '\0') \ - -1089 ? - `__¡½brk_c2 - ( -s -, -__a0 -, -__a1 -) \ - -1090 : (((cÚ¡ *è( -acû± -))[3] == '\0' \ - -1091 ? - `__¡½brk_c3 - ( -s -, -__a0 -, -__a1 -, -__a2 -) \ - -1092 : - `¡½brk - ( -s -, -acû± -))))) \ - -1093 : - `¡½brk - ( -s -, -acû± -)); }) - - ) - -1097 -__STRING_INLINE - * -__¡½brk_c2 - (cÚ¡ * -__s -,  -__acû±1 -, - -1098  -__acû±2 -); - -1099 -__STRING_INLINE - * - -1100 - $__¡½brk_c2 - (cÚ¡ * -__s -,  -__acû±1 -,  -__acû±2 -) - -1103 * -__s - !ð'\0' && *__ !ð -__acû±1 - && *__ !ð -__acû±2 -) - -1104 ++ -__s -; - -1105  * -__s - =ð'\0' ? -NULL - : (*è( -size_t -) __s; - -1106 - } -} - -1108 -__STRING_INLINE - * -__¡½brk_c3 - (cÚ¡ * -__s -,  -__acû±1 -, - -1109  -__acû±2 -,  -__acû±3 -); - -1110 -__STRING_INLINE - * - -1111 - $__¡½brk_c3 - (cÚ¡ * -__s -,  -__acû±1 -,  -__acû±2 -,  -__acû±3 -) - -1114 * -__s - !ð'\0' && *__ !ð -__acû±1 - && *__ !ð -__acû±2 - - -1115 && * -__s - !ð -__acû±3 -) - -1116 ++ -__s -; - -1117  * -__s - =ð'\0' ? -NULL - : (*è( -size_t -) __s; - -1118 - } -} - -1124 #ià! -defšed - -_HAVE_STRING_ARCH_¡r¡r - && ! -__GNUC_PREREQ - (2, 97) - -1125  - #¡r¡r -( -hay¡ack -, -ÃedË -) \ - -1126 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -ÃedË -è&& - `__¡ršg2_1b±r_p - (needle) \ - -1127 ? (((cÚ¡ *è( -ÃedË -))[0] == '\0' \ - -1128 ? (*è( -size_t -è( -hay¡ack -) \ - -1129 : (((cÚ¡ *è( -ÃedË -))[1] == '\0' \ - -1130 ? - `¡rchr - ( -hay¡ack -, \ - -1131 ((cÚ¡ *è( -ÃedË -))[0]) \ - -1132 : - `¡r¡r - ( -hay¡ack -, -ÃedË -))) \ - -1133 : - `¡r¡r - ( -hay¡ack -, -ÃedË -))) - - ) - -1137 #ià! -defšed - -_HAVE_STRING_ARCH_¡¹ok_r - || defšed -_FORCE_INLINES - - -1138 #iâdeà -_HAVE_STRING_ARCH_¡¹ok_r - - -1139  - #__¡¹ok_r -( -s -, -£p -, -Ãx -) \ - -1140 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -£p -è&& - `__¡ršg2_1b±r_p - (sep) \ - -1141 && ((cÚ¡ *è( -£p -))[0] != '\0' \ - -1142 && ((cÚ¡ *è( -£p -))[1] == '\0' \ - -1143 ? - `__¡¹ok_r_1c - ( -s -, ((cÚ¡ *è( -£p -))[0], -Ãx -) \ - -1144 : - `__¡¹ok_r - ( -s -, -£p -, -Ãx -))) - - ) - -1147 -__STRING_INLINE - * -__¡¹ok_r_1c - (* -__s -,  -__£p -, ** -__Ãx -); - -1148 -__STRING_INLINE - * - -1149 - $__¡¹ok_r_1c - (* -__s -,  -__£p -, ** -__Ãx -) - -1151 * -__»suÉ -; - -1152 ià( -__s - =ð -NULL -) - -1153 -__s - = * -__Ãx -; - -1154 * -__s - =ð -__£p -) - -1155 ++ -__s -; - -1156 -__»suÉ - = -NULL -; - -1157 ià(* -__s - != '\0') - -1159 -__»suÉ - = -__s -++; - -1160 * -__s - != '\0') - -1161 ià(* -__s -++ =ð -__£p -) - -1163 -__s -[-1] = '\0'; - -1167 * -__Ãx - = -__s -; - -1168  -__»suÉ -; - -1169 - } -} - -1170 #ifdeà -__USE_POSIX - - -1171  - #¡¹ok_r -( -s -, -£p -, -Ãx -è - `__¡¹ok_r - (s, s•,‚ex) - - ) - -1176 #ià! -defšed - -_HAVE_STRING_ARCH_¡r£p - || defšed -_FORCE_INLINES - - -1177 #iâdeà -_HAVE_STRING_ARCH_¡r£p - - -1179 * -__¡r£p_g - (** -__¡ršgp -, cÚ¡ * -__d–im -); - -1180  - #__¡r£p -( -s -, -»jeù -) \ - -1181 -__ex‹nsiÚ__ - \ - -1182 ({  -__r0 -, -__r1 -, -__r2 -; \ - -1183 ( - `__bužtš_cÚ¡ªt_p - ( -»jeù -è&& - `__¡ršg2_1b±r_p - (reject) \ - -1184 && ( -__r0 - = ((cÚ¡ *è( -»jeù -))[0], \ - -1185 ((cÚ¡ *è( -»jeù -))[0] != '\0') \ - -1186 ? (( -__r1 - = ((cÚ¡ *è( -»jeù -))[1], \ - -1187 ((cÚ¡ *è( -»jeù -))[1] == '\0') \ - -1188 ? - `__¡r£p_1c - ( -s -, -__r0 -) \ - -1189 : (( -__r2 - = ((cÚ¡ *è( -»jeù -))[2], __r2 == '\0') \ - -1190 ? - `__¡r£p_2c - ( -s -, -__r0 -, -__r1 -) \ - -1191 : (((cÚ¡ *è( -»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 - * -__¡r£p_1c - (** -__s -,  -__»jeù -); - -1198 -__STRING_INLINE - * - -1199 - $__¡r£p_1c - (** -__s -,  -__»jeù -) - -1201 * -__»tv® - = * -__s -; - -1202 ià( -__»tv® - !ð -NULL - && (* -__s - = - `¡rchr - (__»tv®, -__»jeù -)) != NULL) - -1203 *(* -__s -)++ = '\0'; - -1204  -__»tv® -; - -1205 - } -} - -1207 -__STRING_INLINE - * -__¡r£p_2c - (** -__s -,  -__»jeù1 -,  -__»jeù2 -); - -1208 -__STRING_INLINE - * - -1209 - $__¡r£p_2c - (** -__s -,  -__»jeù1 -,  -__»jeù2 -) - -1211 * -__»tv® - = * -__s -; - -1212 ià( -__»tv® - !ð -NULL -) - -1214 * -__ý - = -__»tv® -; - -1217 ià(* -__ý - == '\0') - -1219 -__ý - = -NULL -; - -1222 ià(* -__ý - =ð -__»jeù1 - || *__ý =ð -__»jeù2 -) - -1224 * -__ý -++ = '\0'; - -1227 ++ -__ý -; - -1229 * -__s - = -__ý -; - -1231  -__»tv® -; - -1232 - } -} - -1234 -__STRING_INLINE - * -__¡r£p_3c - (** -__s -,  -__»jeù1 -,  -__»jeù2 -, - -1235  -__»jeù3 -); - -1236 -__STRING_INLINE - * - -1237 - $__¡r£p_3c - (** -__s -,  -__»jeù1 -,  -__»jeù2 -,  -__»jeù3 -) - -1239 * -__»tv® - = * -__s -; - -1240 ià( -__»tv® - !ð -NULL -) - -1242 * -__ý - = -__»tv® -; - -1245 ià(* -__ý - == '\0') - -1247 -__ý - = -NULL -; - -1250 ià(* -__ý - =ð -__»jeù1 - || *__ý =ð -__»jeù2 - || *__ý =ð -__»jeù3 -) - -1252 * -__ý -++ = '\0'; - -1255 ++ -__ý -; - -1257 * -__s - = -__ý -; - -1259  -__»tv® -; - -1260 - } -} - -1261 #ifdeà -__USE_MISC - - -1262  - #¡r£p -( -s -, -»jeù -è - `__¡r£p - (s,„ejeù) - - ) - -1269 #ifdeà -__USE_MISC - - -1271 #ià! -defšed - -_HAVE_STRING_ARCH_¡rdup - || !defšed -_HAVE_STRING_ARCH_¡ºdup - - -1272  - #__Ãed_m®loc_ªd_ÿÎoc - - - ) - -1273  - ~<¡dlib.h -> - -1276 #iâdeà -_HAVE_STRING_ARCH_¡rdup - - -1278 * - $__¡rdup - (cÚ¡ * -__¡ršg -è -__THROW - -__©Œibu‹_m®loc__ -; - -1279  - #__¡rdup -( -s -) \ - -1280 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -s -è&& - `__¡ršg2_1b±r_p - (s) \ - -1281 ? (((cÚ¡ *è( -s -))[0] == '\0' \ - -1282 ? (*è - `ÿÎoc - (( -size_t -) 1, (size_t) 1) \ - -1283 : ({ -size_t - -__Ën - = - `¡¾’ - ( -s -) + 1; \ - -1284 * -__»tv® - = (*è - `m®loc - ( -__Ën -); \ - -1285 ià( -__»tv® - !ð -NULL -) \ - -1286 -__»tv® - = (*è - `memýy - (__»tv®, -s -, -__Ën -); \ - -1287 -__»tv® -; - } -})) \ - -1288 : - `__¡rdup - ( -s -))) - - ) - -1290 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K8 - - -1291  - #¡rdup -( -s -è - `__¡rdup - (s) - - ) - -1295 #iâdeà -_HAVE_STRING_ARCH_¡ºdup - - -1297 * - $__¡ºdup - (cÚ¡ * -__¡ršg -, -size_t - -__n -) - -1298 -__THROW - -__©Œibu‹_m®loc__ -; - -1299  - #__¡ºdup -( -s -, -n -) \ - -1300 ( - `__ex‹nsiÚ__ - ( - `__bužtš_cÚ¡ªt_p - ( -s -è&& - `__¡ršg2_1b±r_p - (s) \ - -1301 ? (((cÚ¡ *è( -s -))[0] == '\0' \ - -1302 ? (*è - `ÿÎoc - (( -size_t -) 1, (size_t) 1) \ - -1303 : ({ -size_t - -__Ën - = - `¡¾’ - ( -s -) + 1; \ - -1304 -size_t - -__n - = ( -n -); \ - -1305 * -__»tv® -; \ - -1306 ià( -__n - < -__Ën -) \ - -1307 -__Ën - = -__n - + 1; \ - -1308 -__»tv® - = (*è - `m®loc - ( -__Ën -); \ - -1309 ià( -__»tv® - !ð -NULL -) \ - -1311 -__»tv® -[ -__Ën - - 1] = '\0'; \ - -1312 -__»tv® - = (*è - `memýy - (__»tv®, -s -, \ - -1313 -__Ën - - 1); \ - -1315 -__»tv® -; - } -})) \ - -1316 : - `__¡ºdup - ( -s -, -n -))) - - ) - -1318 #ifdeà -__USE_XOPEN2K8 - - -1319  - #¡ºdup -( -s -, -n -è - `__¡ºdup - (s,‚) - - ) - -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”o_Ë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”o - - -49 -__fÜtify_funùiÚ - * - -50 -__NTH - ( - $memýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -, - -51 -size_t - -__Ën -)) - -53  - `__bužtš___memýy_chk - ( -__de¡ -, -__¤c -, -__Ën -, - `__bos0 - (__dest)); - -54 - } -} - -56 -__fÜtify_funùiÚ - * - -57 -__NTH - ( - $memmove - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__Ën -)) - -59  - `__bužtš___memmove_chk - ( -__de¡ -, -__¤c -, -__Ën -, - `__bos0 - (__dest)); - -60 - } -} - -62 #ifdeà -__USE_GNU - - -63 -__fÜtify_funùiÚ - * - -64 -__NTH - ( - $mempýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -, - -65 -size_t - -__Ën -)) - -67  - `__bužtš___mempýy_chk - ( -__de¡ -, -__¤c -, -__Ën -, - `__bos0 - (__dest)); - -68 - } -} - -77 -__fÜtify_funùiÚ - * - -78 -__NTH - ( - $mem£t - (* -__de¡ -,  -__ch -, -size_t - -__Ën -)) - -82 #ià! - `__GNUC_PREREQ - (5,0) - -83 ià( - `__bužtš_cÚ¡ªt_p - ( -__Ën -) && __len == 0 - -84 && (! - `__bužtš_cÚ¡ªt_p - ( -__ch -) || __ch != 0)) - -86 - `__w¬n_mem£t_z”o_Ën - (); - -87  -__de¡ -; - -90  - `__bužtš___mem£t_chk - ( -__de¡ -, -__ch -, -__Ën -, - `__bos0 - (__dest)); - -91 - } -} - -93 #ifdeà -__USE_MISC - - -94 -__fÜtify_funùiÚ -  - -95 -__NTH - ( - $bcÝy - (cÚ¡ * -__¤c -, * -__de¡ -, -size_t - -__Ën -)) - -97 (è - `__bužtš___memmove_chk - ( -__de¡ -, -__¤c -, -__Ën -, - `__bos0 - (__dest)); - -98 - } -} - -100 -__fÜtify_funùiÚ -  - -101 -__NTH - ( - $bz”o - (* -__de¡ -, -size_t - -__Ën -)) - -103 (è - `__bužtš___mem£t_chk - ( -__de¡ -, '\0', -__Ën -, - `__bos0 - (__dest)); - -104 - } -} - -107 -__fÜtify_funùiÚ - * - -108 -__NTH - ( - $¡rýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -)) - -110  - `__bužtš___¡rýy_chk - ( -__de¡ -, -__¤c -, - `__bos - (__dest)); - -111 - } -} - -113 #ifdeà -__USE_GNU - - -114 -__fÜtify_funùiÚ - * - -115 -__NTH - ( - $¡pýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -)) - -117  - `__bužtš___¡pýy_chk - ( -__de¡ -, -__¤c -, - `__bos - (__dest)); - -118 - } -} - -122 -__fÜtify_funùiÚ - * - -123 -__NTH - ( - $¡ºýy - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -, - -124 -size_t - -__Ën -)) - -126  - `__bužtš___¡ºýy_chk - ( -__de¡ -, -__¤c -, -__Ën -, - `__bos - (__dest)); - -127 - } -} - -130 * - $__¡²ýy_chk - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -, - -131 -size_t - -__de¡Ën -è -__THROW -; - -132 * - `__REDIRECT_NTH - ( -__¡²ýy_®Ÿs -, (* -__de¡ -, cÚ¡ * -__¤c -, - -133 -size_t - -__n -), -¡²ýy -); - -135 -__fÜtify_funùiÚ - * - -136 - `__NTH - ( - $¡²ýy - (* -__de¡ -, cÚ¡ * -__¤c -, -size_t - -__n -)) - -138 ià( - `__bos - ( -__de¡ -è!ð( -size_t -) -1 - -139 && (! - `__bužtš_cÚ¡ªt_p - ( -__n -è|| __À> - `__bos - ( -__de¡ -))) - -140  - `__¡²ýy_chk - ( -__de¡ -, -__¤c -, -__n -, - `__bos - (__dest)); - -141  - `__¡²ýy_®Ÿs - ( -__de¡ -, -__¤c -, -__n -); - -142 - } -} - -145 -__fÜtify_funùiÚ - * - -146 -__NTH - ( - $¡rÿt - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -)) - -148  - `__bužtš___¡rÿt_chk - ( -__de¡ -, -__¤c -, - `__bos - (__dest)); - -149 - } -} - -152 -__fÜtify_funùiÚ - * - -153 -__NTH - ( - $¡ºÿt - (* -__»¡riù - -__de¡ -, cÚ¡ *__»¡riù -__¤c -, - -154 -size_t - -__Ën -)) - -156  - `__bužtš___¡ºÿt_chk - ( -__de¡ -, -__¤c -, -__Ën -, - `__bos - (__dest)); - -157 - } -} - - @/usr/include/bits/sys_errlist.h - -19 #iâdeà -_STDIO_H - - -25 #ifdeà -__USE_MISC - - -26  -sys_ü -; - -27 cÚ¡ *cÚ¡ -sys_”¾i¡ -[]; - -29 #ifdeà -__USE_GNU - - -30  -_sys_ü -; - -31 cÚ¡ *cÚ¡ -_sys_”¾i¡ -[]; - - @/usr/include/bits/time.h - -23 #ià -defšed - -__Ãed_timev® - || defšed -__USE_GNU - - -24 #iâdeà -_STRUCT_TIMEVAL - - -25  - #_STRUCT_TIMEVAL - 1 - - ) - -26  - ~ - -30  - 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  - #_BITS_TIME_H - 1 - - ) - -48  - #CLOCKS_PER_SEC - (( -þock_t -è1000000) - - ) - -50 #ià(! -defšed - -__STRICT_ANSI__ - || defšed -__USE_POSIX -) \ - -51 && ! -defšed - - g__USE_XOPEN2K - - -54  - ~ - -55  -__syscÚf - (); - -56  - #CLK_TCK - (( -__þock_t -è - `__syscÚf - (2)è - - ) - -59 #ifdeà -__USE_POSIX199309 - - -61  - #CLOCK_REALTIME - 0 - - ) - -63  - #CLOCK_MONOTONIC - 1 - - ) - -65  - #CLOCK_PROCESS_CPUTIME_ID - 2 - - ) - -67  - #CLOCK_THREAD_CPUTIME_ID - 3 - - ) - -69  - #CLOCK_MONOTONIC_RAW - 4 - - ) - -71  - #CLOCK_REALTIME_COARSE - 5 - - ) - -73  - #CLOCK_MONOTONIC_COARSE - 6 - - ) - -75  - #CLOCK_BOOTTIME - 7 - - ) - -77  - #CLOCK_REALTIME_ALARM - 8 - - ) - -79  - #CLOCK_BOOTTIME_ALARM - 9 - - ) - -81  - #CLOCK_TAI - 11 - - ) - -84  - #TIMER_ABSTIME - 1 - - ) - -87 #ifdeà -__USE_GNU - - -88  - ~ - -90 -__BEGIN_DECLS - - -93  - $þock_adjtime - ( -__þockid_t - -__þock_id -,  -timex - * -__utx -è -__THROW -; - -95 -__END_DECLS - - -101 #undeà -__Ãed_timev® - - - @/usr/include/bits/types.h - -23 #iâdef -_BITS_TYPES_H - - -24  - #_BITS_TYPES_H - 1 - - ) - -26  - ~<ã©u»s.h -> - -27  - ~ - -30  - t__u_ch¬ -; - -31  - t__u_shÜt -; - -32  - t__u_št -; - -33  - t__u_lÚg -; - -36 sigÃd  - t__št8_t -; - -37  - t__ušt8_t -; - -38 sigÃd  - t__št16_t -; - -39  - t__ušt16_t -; - -40 sigÃd  - t__št32_t -; - -41  - t__ušt32_t -; - -42 #ià -__WORDSIZE - == 64 - -43 sigÃd  - t__št64_t -; - -44  - t__ušt64_t -; - -46 -__ex‹nsiÚ__ - sigÃd  - t__št64_t -; - -47 -__ex‹nsiÚ__ -  - t__ušt64_t -; - -51 #ià -__WORDSIZE - == 64 - -52  - t__quad_t -; - -53  - t__u_quad_t -; - -55 -__ex‹nsiÚ__ -  - t__quad_t -; - -56 -__ex‹nsiÚ__ -  - t__u_quad_t -; - -89  - #__S16_TYPE -  - - ) - -90  - #__U16_TYPE -  - - ) - -91  - #__S32_TYPE -  - - ) - -92  - #__U32_TYPE -  - - ) - -93  - #__SLONGWORD_TYPE -  - - ) - -94  - #__ULONGWORD_TYPE -  - - ) - -95 #ià -__WORDSIZE - == 32 - -96  - #__SQUAD_TYPE - -__quad_t - - - ) - -97  - #__UQUAD_TYPE - -__u_quad_t - - - ) - -98  - #__SWORD_TYPE -  - - ) - -99  - #__UWORD_TYPE -  - - ) - -100  - #__SLONG32_TYPE -  - - ) - -101  - #__ULONG32_TYPE -  - - ) - -102  - #__S64_TYPE - -__quad_t - - - ) - -103  - #__U64_TYPE - -__u_quad_t - - - ) - -106  - #__STD_TYPE - -__ex‹nsiÚ__ -  - - ) - -107 #–ià -__WORDSIZE - == 64 - -108  - t__SQUAD_TYPE -  - - ) - -109  - t__UQUAD_TYPE -  - - ) - -110  - t__SWORD_TYPE -  - - ) - -111  - t__UWORD_TYPE -  - - ) - -112  - t__SLONG32_TYPE -  - - ) - -113  - t__ULONG32_TYPE -  - - ) - -114  - t__S64_TYPE -  - - ) - -115  - t__U64_TYPE -  - - ) - -117  - t__STD_TYPE -  - - ) - -121  - ~ - -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__šo_t -; - -128 -__STD_TYPE - -__INO64_T_TYPE - - g__šo64_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”_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žút_t -; - -167 -__STD_TYPE - -__FSFILCNT64_T_TYPE - - g__fsfžú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  -__off64_t - - t__loff_t -; - -182  -__quad_t - * - t__qaddr_t -; - -183 * - t__ÿddr_t -; - -186 -__STD_TYPE - -__SWORD_TYPE - - g__šŒ_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 -ssize_t - - $__»ad_chk - ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -24 -size_t - -__buæ’ -è -__wur -; - -25 -ssize_t - - `__REDIRECT - ( -__»ad_®Ÿs -, ( -__fd -, * -__buf -, - -26 -size_t - -__nby‹s -), -»ad -è -__wur -; - -27 -ssize_t - - `__REDIRECT - ( -__»ad_chk_w¬n -, - -28 ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -29 -size_t - -__buæ’ -), -__»ad_chk -) - -30 -__wur - - `__w¬Ç‰r - ("read called with bigger†engthhan size of " - -33 -__fÜtify_funùiÚ - -__wur - -ssize_t - - -34 - $»ad - ( -__fd -, * -__buf -, -size_t - -__nby‹s -) - -36 ià( - `__bos0 - ( -__buf -è!ð( -size_t -) -1) - -38 ià(! - `__bužtš_cÚ¡ªt_p - ( -__nby‹s -)) - -39  - `__»ad_chk - ( -__fd -, -__buf -, -__nby‹s -, - `__bos0 - (__buf)); - -41 ià( -__nby‹s - > - `__bos0 - ( -__buf -)) - -42  - `__»ad_chk_w¬n - ( -__fd -, -__buf -, -__nby‹s -, - `__bos0 - (__buf)); - -44  - `__»ad_®Ÿs - ( -__fd -, -__buf -, -__nby‹s -); - -45 - } -} - -47 #ifdeà -__USE_UNIX98 - - -48 -ssize_t - - $__´—d_chk - ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -49 -__off_t - -__off£t -, -size_t - -__bufsize -è -__wur -; - -50 -ssize_t - - $__´—d64_chk - ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -51 -__off64_t - -__off£t -, -size_t - -__bufsize -è -__wur -; - -52 -ssize_t - - `__REDIRECT - ( -__´—d_®Ÿs -, - -53 ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -54 -__off_t - -__off£t -), -´—d -è -__wur -; - -55 -ssize_t - - `__REDIRECT - ( -__´—d64_®Ÿs -, - -56 ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -57 -__off64_t - -__off£t -), -´—d64 -è -__wur -; - -58 -ssize_t - - `__REDIRECT - ( -__´—d_chk_w¬n -, - -59 ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -60 -__off_t - -__off£t -, -size_t - -__bufsize -), -__´—d_chk -) - -61 -__wur - - `__w¬Ç‰r - ("pread called with bigger†engthhan size of " - -63 -ssize_t - - `__REDIRECT - ( -__´—d64_chk_w¬n -, - -64 ( -__fd -, * -__buf -, -size_t - -__nby‹s -, - -65 -__off64_t - -__off£t -, -size_t - -__bufsize -), - -66 -__´—d64_chk -) - -67 -__wur - - `__w¬Ç‰r - ("pread64 called with bigger†engthhan size of " - -70 #iâdeà -__USE_FILE_OFFSET64 - - -71 -__fÜtify_funùiÚ - -__wur - -ssize_t - - -72 - $´—d - ( -__fd -, * -__buf -, -size_t - -__nby‹s -, -__off_t - -__off£t -) - -74 ià( - `__bos0 - ( -__buf -è!ð( -size_t -) -1) - -76 ià(! - `__bužtš_cÚ¡ªt_p - ( -__nby‹s -)) - -77  - `__´—d_chk - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -, - `__bos0 - (__buf)); - -79 iàÐ -__nby‹s - > - `__bos0 - ( -__buf -)) - -80  - `__´—d_chk_w¬n - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -, - -81 - `__bos0 - ( -__buf -)); - -83  - `__´—d_®Ÿs - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -); - -84 - } -} - -86 -__fÜtify_funùiÚ - -__wur - -ssize_t - - -87 - $´—d - ( -__fd -, * -__buf -, -size_t - -__nby‹s -, -__off64_t - -__off£t -) - -89 ià( - `__bos0 - ( -__buf -è!ð( -size_t -) -1) - -91 ià(! - `__bužtš_cÚ¡ªt_p - ( -__nby‹s -)) - -92  - `__´—d64_chk - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -, - `__bos0 - (__buf)); - -94 iàÐ -__nby‹s - > - `__bos0 - ( -__buf -)) - -95  - `__´—d64_chk_w¬n - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -, - -96 - `__bos0 - ( -__buf -)); - -99  - `__´—d64_®Ÿs - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -); - -100 - } -} - -103 #ifdeà -__USE_LARGEFILE64 - - -104 -__fÜtify_funùiÚ - -__wur - -ssize_t - - -105 - $´—d64 - ( -__fd -, * -__buf -, -size_t - -__nby‹s -, -__off64_t - -__off£t -) - -107 ià( - `__bos0 - ( -__buf -è!ð( -size_t -) -1) - -109 ià(! - `__bužtš_cÚ¡ªt_p - ( -__nby‹s -)) - -110  - `__´—d64_chk - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -, - `__bos0 - (__buf)); - -112 iàÐ -__nby‹s - > - `__bos0 - ( -__buf -)) - -113  - `__´—d64_chk_w¬n - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -, - -114 - `__bos0 - ( -__buf -)); - -117  - `__´—d64_®Ÿs - ( -__fd -, -__buf -, -__nby‹s -, -__off£t -); - -118 - } -} - -122 #ià -defšed - -__USE_XOPEN_EXTENDED - || defšed -__USE_XOPEN2K - - -123 -ssize_t - - $__»adlšk_chk - (cÚ¡ * -__»¡riù - -__·th -, - -124 * -__»¡riù - -__buf -, -size_t - -__Ën -, - -125 -size_t - -__buæ’ -) - -126 -__THROW - - `__nÚnuÎ - ((1, 2)è -__wur -; - -127 -ssize_t - - `__REDIRECT_NTH - ( -__»adlšk_®Ÿs -, - -128 (cÚ¡ * -__»¡riù - -__·th -, - -129 * -__»¡riù - -__buf -, -size_t - -__Ën -), -»adlšk -) - -130 - `__nÚnuÎ - ((1, 2)è -__wur -; - -131 -ssize_t - - `__REDIRECT_NTH - ( -__»adlšk_chk_w¬n -, - -132 (cÚ¡ * -__»¡riù - -__·th -, - -133 * -__»¡riù - -__buf -, -size_t - -__Ën -, - -134 -size_t - -__buæ’ -), -__»adlšk_chk -) - -135 - `__nÚnuÎ - ((1, 2)è -__wur - - `__w¬Ç‰r - ("readlink called with bigger†ength " - -138 -__fÜtify_funùiÚ - - `__nÚnuÎ - ((1, 2)è -__wur - -ssize_t - - -139 - `__NTH - ( - $»adlšk - (cÚ¡ * -__»¡riù - -__·th -, *__»¡riù -__buf -, - -140 -size_t - -__Ën -)) - -142 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -144 ià(! - `__bužtš_cÚ¡ªt_p - ( -__Ën -)) - -145  - `__»adlšk_chk - ( -__·th -, -__buf -, -__Ën -, - `__bos - (__buf)); - -147 iàÐ -__Ën - > - `__bos - ( -__buf -)) - -148  - `__»adlšk_chk_w¬n - ( -__·th -, -__buf -, -__Ën -, - `__bos - (__buf)); - -150  - `__»adlšk_®Ÿs - ( -__·th -, -__buf -, -__Ën -); - -151 - } -} - -154 #ifdeà -__USE_ATFILE - - -155 -ssize_t - - $__»adlšk©_chk - ( -__fd -, cÚ¡ * -__»¡riù - -__·th -, - -156 * -__»¡riù - -__buf -, -size_t - -__Ën -, - -157 -size_t - -__buæ’ -) - -158 -__THROW - - `__nÚnuÎ - ((2, 3)è -__wur -; - -159 -ssize_t - - `__REDIRECT_NTH - ( -__»adlšk©_®Ÿs -, - -160 ( -__fd -, cÚ¡ * -__»¡riù - -__·th -, - -161 * -__»¡riù - -__buf -, -size_t - -__Ën -), - -162 -»adlšk© -) - -163 - `__nÚnuÎ - ((2, 3)è -__wur -; - -164 -ssize_t - - `__REDIRECT_NTH - ( -__»adlšk©_chk_w¬n -, - -165 ( -__fd -, cÚ¡ * -__»¡riù - -__·th -, - -166 * -__»¡riù - -__buf -, -size_t - -__Ën -, - -167 -size_t - -__buæ’ -), -__»adlšk©_chk -) - -168 - `__nÚnuÎ - ((2, 3)è -__wur - - `__w¬Ç‰r - ("readlinkat called with bigger " - -172 -__fÜtify_funùiÚ - - `__nÚnuÎ - ((2, 3)è -__wur - -ssize_t - - -173 - `__NTH - ( - $»adlšk© - ( -__fd -, cÚ¡ * -__»¡riù - -__·th -, - -174 * -__»¡riù - -__buf -, -size_t - -__Ën -)) - -176 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -178 ià(! - `__bužtš_cÚ¡ªt_p - ( -__Ën -)) - -179  - `__»adlšk©_chk - ( -__fd -, -__·th -, -__buf -, -__Ën -, - `__bos - (__buf)); - -181 ià( -__Ën - > - `__bos - ( -__buf -)) - -182  - `__»adlšk©_chk_w¬n - ( -__fd -, -__·th -, -__buf -, -__Ën -, - -183 - `__bos - ( -__buf -)); - -185  - `__»adlšk©_®Ÿs - ( -__fd -, -__·th -, -__buf -, -__Ën -); - -186 - } -} - -189 * - $__g‘cwd_chk - (* -__buf -, -size_t - -__size -, size_ˆ -__buæ’ -) - -190 -__THROW - -__wur -; - -191 * - `__REDIRECT_NTH - ( -__g‘cwd_®Ÿs -, - -192 (* -__buf -, -size_t - -__size -), -g‘cwd -è -__wur -; - -193 * - `__REDIRECT_NTH - ( -__g‘cwd_chk_w¬n -, - -194 (* -__buf -, -size_t - -__size -, size_ˆ -__buæ’ -), - -195 -__g‘cwd_chk -) - -196 -__wur - - `__w¬Ç‰r - ("getcwd caller with bigger†engthhan size of " - -199 -__fÜtify_funùiÚ - -__wur - * - -200 - `__NTH - ( - $g‘cwd - (* -__buf -, -size_t - -__size -)) - -202 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -204 ià(! - `__bužtš_cÚ¡ªt_p - ( -__size -)) - -205  - `__g‘cwd_chk - ( -__buf -, -__size -, - `__bos - (__buf)); - -207 ià( -__size - > - `__bos - ( -__buf -)) - -208  - `__g‘cwd_chk_w¬n - ( -__buf -, -__size -, - `__bos - (__buf)); - -210  - `__g‘cwd_®Ÿs - ( -__buf -, -__size -); - -211 - } -} - -213 #ià -defšed - -__USE_MISC - || defšed -__USE_XOPEN_EXTENDED - - -214 * - $__g‘wd_chk - (* -__buf -, -size_t - -buæ’ -) - -215 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -216 * - `__REDIRECT_NTH - ( -__g‘wd_w¬n -, (* -__buf -), -g‘wd -) - -217 - `__nÚnuÎ - ((1)è -__wur - - `__w¬Ç‰r - ("please use getcwd instead,‡s getwd " - -220 -__fÜtify_funùiÚ - - `__nÚnuÎ - ((1)è -__©Œibu‹_d•»ÿ‹d__ - -__wur - * - -221 - `__NTH - ( - $g‘wd - (* -__buf -)) - -223 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -224  - `__g‘wd_chk - ( -__buf -, - `__bos - (__buf)); - -225  - `__g‘wd_w¬n - ( -__buf -); - -226 - } -} - -229 -size_t - - $__cÚf¡r_chk - ( -__Çme -, * -__buf -, -size_t - -__Ën -, - -230 -size_t - -__buæ’ -è -__THROW -; - -231 -size_t - - `__REDIRECT_NTH - ( -__cÚf¡r_®Ÿs -, ( -__Çme -, * -__buf -, - -232 -size_t - -__Ën -), -cÚf¡r -); - -233 -size_t - - `__REDIRECT_NTH - ( -__cÚf¡r_chk_w¬n -, - -234 ( -__Çme -, * -__buf -, -size_t - -__Ën -, - -235 -size_t - -__buæ’ -), -__cÚf¡r_chk -) - -236 - `__w¬Ç‰r - ("confstr called with bigger†engthhan size of destination " - -239 -__fÜtify_funùiÚ - -size_t - - -240 - `__NTH - ( - $cÚf¡r - ( -__Çme -, * -__buf -, -size_t - -__Ën -)) - -242 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -244 ià(! - `__bužtš_cÚ¡ªt_p - ( -__Ën -)) - -245  - `__cÚf¡r_chk - ( -__Çme -, -__buf -, -__Ën -, - `__bos - (__buf)); - -247 ià( - `__bos - ( -__buf -è< -__Ën -) - -248  - `__cÚf¡r_chk_w¬n - ( -__Çme -, -__buf -, -__Ën -, - `__bos - (__buf)); - -250  - `__cÚf¡r_®Ÿs - ( -__Çme -, -__buf -, -__Ën -); - -251 - } -} - -254  - $__g‘groups_chk - ( -__size -, -__gid_t - -__li¡ -[], -size_t - -__li¡Ën -) - -255 -__THROW - -__wur -; - -256  - `__REDIRECT_NTH - ( -__g‘groups_®Ÿs -, ( -__size -, -__gid_t - -__li¡ -[]), - -257 -g‘groups -è -__wur -; - -258  - `__REDIRECT_NTH - ( -__g‘groups_chk_w¬n -, - -259 ( -__size -, -__gid_t - -__li¡ -[], -size_t - -__li¡Ën -), - -260 -__g‘groups_chk -) - -261 -__wur - - `__w¬Ç‰r - ("getgroups called with bigger group counthan what " - -264 -__fÜtify_funùiÚ -  - -265 - `__NTH - ( - $g‘groups - ( -__size -, -__gid_t - -__li¡ -[])) - -267 ià( - `__bos - ( -__li¡ -è!ð( -size_t -) -1) - -269 ià(! - `__bužtš_cÚ¡ªt_p - ( -__size -) || __size < 0) - -270  - `__g‘groups_chk - ( -__size -, -__li¡ -, - `__bos - (__list)); - -272 ià( -__size - *  ( -__gid_t -è> - `__bos - ( -__li¡ -)) - -273  - `__g‘groups_chk_w¬n - ( -__size -, -__li¡ -, - `__bos - (__list)); - -275  - `__g‘groups_®Ÿs - ( -__size -, -__li¡ -); - -276 - } -} - -279  - $__‰yÇme_r_chk - ( -__fd -, * -__buf -, -size_t - -__buæ’ -, - -280 -size_t - -__ėl -è -__THROW - - `__nÚnuÎ - ((2)); - -281  - `__REDIRECT_NTH - ( -__‰yÇme_r_®Ÿs -, ( -__fd -, * -__buf -, - -282 -size_t - -__buæ’ -), -‰yÇme_r -) - -283 - `__nÚnuÎ - ((2)); - -284  - `__REDIRECT_NTH - ( -__‰yÇme_r_chk_w¬n -, - -285 ( -__fd -, * -__buf -, -size_t - -__buæ’ -, - -286 -size_t - -__ėl -), -__‰yÇme_r_chk -) - -287 - `__nÚnuÎ - ((2)è - `__w¬Ç‰r - ("ttyname_r called with bigger buflenhan " - -290 -__fÜtify_funùiÚ -  - -291 - `__NTH - ( - $‰yÇme_r - ( -__fd -, * -__buf -, -size_t - -__buæ’ -)) - -293 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -295 ià(! - `__bužtš_cÚ¡ªt_p - ( -__buæ’ -)) - -296  - `__‰yÇme_r_chk - ( -__fd -, -__buf -, -__buæ’ -, - `__bos - (__buf)); - -298 ià( -__buæ’ - > - `__bos - ( -__buf -)) - -299  - `__‰yÇme_r_chk_w¬n - ( -__fd -, -__buf -, -__buæ’ -, - `__bos - (__buf)); - -301  - `__‰yÇme_r_®Ÿs - ( -__fd -, -__buf -, -__buæ’ -); - -302 - } -} - -305 #ià -defšed - -__USE_REENTRANT - || defšed -__USE_POSIX199506 - - -306  - $__g‘logš_r_chk - (* -__buf -, -size_t - -__buæ’ -, size_ˆ -__ėl -) - -307 - `__nÚnuÎ - ((1)); - -308  - `__REDIRECT - ( -__g‘logš_r_®Ÿs -, (* -__buf -, -size_t - -__buæ’ -), - -309 -g‘logš_r -è - `__nÚnuÎ - ((1)); - -310  - `__REDIRECT - ( -__g‘logš_r_chk_w¬n -, - -311 (* -__buf -, -size_t - -__buæ’ -, size_ˆ -__ėl -), - -312 -__g‘logš_r_chk -) - -313 - `__nÚnuÎ - ((1)è - `__w¬Ç‰r - ("getlogin_r called with bigger buflenhan " - -316 -__fÜtify_funùiÚ -  - -317 - $g‘logš_r - (* -__buf -, -size_t - -__buæ’ -) - -319 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -321 ià(! - `__bužtš_cÚ¡ªt_p - ( -__buæ’ -)) - -322  - `__g‘logš_r_chk - ( -__buf -, -__buæ’ -, - `__bos - (__buf)); - -324 ià( -__buæ’ - > - `__bos - ( -__buf -)) - -325  - `__g‘logš_r_chk_w¬n - ( -__buf -, -__buæ’ -, - `__bos - (__buf)); - -327  - `__g‘logš_r_®Ÿs - ( -__buf -, -__buæ’ -); - -328 - } -} - -332 #ià -defšed - -__USE_MISC - || defšed -__USE_UNIX98 - - -333  - $__g‘ho¡Çme_chk - (* -__buf -, -size_t - -__buæ’ -, size_ˆ -__ėl -) - -334 -__THROW - - `__nÚnuÎ - ((1)); - -335  - `__REDIRECT_NTH - ( -__g‘ho¡Çme_®Ÿs -, (* -__buf -, -size_t - -__buæ’ -), - -336 -g‘ho¡Çme -è - `__nÚnuÎ - ((1)); - -337  - `__REDIRECT_NTH - ( -__g‘ho¡Çme_chk_w¬n -, - -338 (* -__buf -, -size_t - -__buæ’ -, size_ˆ -__ėl -), - -339 -__g‘ho¡Çme_chk -) - -340 - `__nÚnuÎ - ((1)è - `__w¬Ç‰r - ("gethostname called with bigger buflenhan " - -343 -__fÜtify_funùiÚ -  - -344 - `__NTH - ( - $g‘ho¡Çme - (* -__buf -, -size_t - -__buæ’ -)) - -346 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -348 ià(! - `__bužtš_cÚ¡ªt_p - ( -__buæ’ -)) - -349  - `__g‘ho¡Çme_chk - ( -__buf -, -__buæ’ -, - `__bos - (__buf)); - -351 ià( -__buæ’ - > - `__bos - ( -__buf -)) - -352  - `__g‘ho¡Çme_chk_w¬n - ( -__buf -, -__buæ’ -, - `__bos - (__buf)); - -354  - `__g‘ho¡Çme_®Ÿs - ( -__buf -, -__buæ’ -); - -355 - } -} - -359 #ià -defšed - -__USE_MISC - || (defšed -__USE_XOPEN - && !defšed -__USE_UNIX98 -) - -360  - $__g‘domašÇme_chk - (* -__buf -, -size_t - -__buæ’ -, size_ˆ -__ėl -) - -361 -__THROW - - `__nÚnuÎ - ((1)è -__wur -; - -362  - `__REDIRECT_NTH - ( -__g‘domašÇme_®Ÿs -, (* -__buf -, - -363 -size_t - -__buæ’ -), - -364 -g‘domašÇme -è - `__nÚnuÎ - ((1)è -__wur -; - -365  - `__REDIRECT_NTH - ( -__g‘domašÇme_chk_w¬n -, - -366 (* -__buf -, -size_t - -__buæ’ -, size_ˆ -__ėl -), - -367 -__g‘domašÇme_chk -) - -368 - `__nÚnuÎ - ((1)è -__wur - - `__w¬Ç‰r - ("getdomainname called with bigger " - -372 -__fÜtify_funùiÚ -  - -373 - `__NTH - ( - $g‘domašÇme - (* -__buf -, -size_t - -__buæ’ -)) - -375 ià( - `__bos - ( -__buf -è!ð( -size_t -) -1) - -377 ià(! - `__bužtš_cÚ¡ªt_p - ( -__buæ’ -)) - -378  - `__g‘domašÇme_chk - ( -__buf -, -__buæ’ -, - `__bos - (__buf)); - -380 ià( -__buæ’ - > - `__bos - ( -__buf -)) - -381  - `__g‘domašÇme_chk_w¬n - ( -__buf -, -__buæ’ -, - `__bos - (__buf)); - -383  - `__g‘domašÇme_®Ÿs - ( -__buf -, -__buæ’ -); - -384 - } -} - - @/usr/include/bits/waitflags.h - -19 #ià! -defšed - -_SYS_WAIT_H - && !defšed -_STDLIB_H - - -25  - #WNOHANG - 1 - - ) - -26  - #WUNTRACED - 2 - - ) - -29  - #WSTOPPED - 2 - - ) - -30  - #WEXITED - 4 - - ) - -31  - #WCONTINUED - 8 - - ) - -32  - #WNOWAIT - 0x01000000 - - ) - -34  - #__WNOTHREAD - 0x20000000 - - ) - -36  - #__WALL - 0x40000000 - - ) - -37  - #__WCLONE - 0x80000000 - - ) - -40 #ià -defšed - -__USE_XOPEN - || defšed -__USE_XOPEN2K8 - - -41 #iâdeà -__ENUM_IDTYPE_T - - -42  - #__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šed - -_SYS_WAIT_H - && !defšed -_STDLIB_H - - -28  - #__WEXITSTATUS -( -¡©us -è(((¡©usè& 0xff00è>> 8) - - ) - -31  - #__WTERMSIG -( -¡©us -è((¡©usè& 0x7f) - - ) - -34  - #__WSTOPSIG -( -¡©us -è - `__WEXITSTATUS -(¡©us) - - ) - -37  - #__WIFEXITED -( -¡©us -è( - `__WTERMSIG -(¡©usè=ð0) - - ) - -40  - #__WIFSIGNALED -( -¡©us -) \ - -41 (((sigÃd è((( -¡©us -è& 0x7fè+ 1è>> 1è> 0) - - ) - -44  - #__WIFSTOPPED -( -¡©us -è(((¡©usè& 0xffè=ð0x7f) - - ) - -48 #ifdeà -WCONTINUED - - -49  - #__WIFCONTINUED -( -¡©us -è((¡©usè=ð -__W_CONTINUED -) - - ) - -53  - #__WCOREDUMP -( -¡©us -è((¡©usè& -__WCOREFLAG -) - - ) - -56  - #__W_EXITCODE -( -»t -, -sig -è(ԑè<< 8 | (sig)) - - ) - -57  - #__W_STOPCODE -( -sig -è((sigè<< 8 | 0x7f) - - ) - -58  - #__W_CONTINUED - 0xffff - - ) - -59  - #__WCOREFLAG - 0x80 - - ) - -62 #ifdef -__USE_MISC - - -64  - ~<’dŸn.h -> - -66  - uwa™ - - -68  - mw_¡©us -; - -71 #if -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -72  - m__w_‹rmsig -:7; - -73  - m__w_cÜedump -:1; - -74  - m__w_»tcode -:8; - -77 #if -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -79  - m__w_»tcode -:8; - -80  - m__w_cÜedump -:1; - -81  - m__w_‹rmsig -:7; - -83 } - m__wa™_‹rmš©ed -; - -86 #if -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -87  - m__w_¡Ýv® -:8; - -88  - m__w_¡Ýsig -:8; - -91 #if -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -93  - m__w_¡Ýsig -:8; - -94  - m__w_¡Ýv® -:8; - -96 } - m__wa™_¡Ý³d -; - -99  - #w_‹rmsig - -__wa™_‹rmš©ed -. -__w_‹rmsig - - - ) - -100  - #w_cÜedump - -__wa™_‹rmš©ed -. -__w_cÜedump - - - ) - -101  - #w_»tcode - -__wa™_‹rmš©ed -. -__w_»tcode - - - ) - -102  - #w_¡Ýsig - -__wa™_¡Ý³d -. -__w_¡Ýsig - - - ) - -103  - #w_¡Ýv® - -__wa™_¡Ý³d -. -__w_¡Ýv® - - - ) - - @/usr/include/bits/wchar.h - -19 #iâdeà -_BITS_WCHAR_H - - -20  - #_BITS_WCHAR_H - 1 - - ) - -33 #ifdeà -__WCHAR_MAX__ - - -34  - #__WCHAR_MAX - -__WCHAR_MAX__ - - - ) - -35 #–ià -L -'\0' - 1 > 0 - -36  - #__WCHAR_MAX - (0xffffffffu + -L -'\0') - - ) - -38  - #__WCHAR_MAX - (0x7ffffffà+ -L -'\0') - - ) - -41 #ifdeà -__WCHAR_MIN__ - - -42  - #__WCHAR_MIN - -__WCHAR_MIN__ - - - ) - -43 #–ià -L -'\0' - 1 > 0 - -44  - #__WCHAR_MIN - ( -L -'\0' + 0) - - ) - -46  - #__WCHAR_MIN - (- -__WCHAR_MAX - - 1) - - ) - - @/usr/include/bits/wordsize.h - -3 #ià -defšed - -__x86_64__ - && !defšed -__ILP32__ - - -4  - #__WORDSIZE - 64 - - ) - -6  - #__WORDSIZE - 32 - - ) - -9 #ifdeà -__x86_64__ - - -10  - #__WORDSIZE_TIME64_COMPAT32 - 1 - - ) - -12  - #__SYSCALL_WORDSIZE - 64 - - ) - - @/usr/include/endian.h - -18 #iâdef -_ENDIAN_H - - -19  - #_ENDIAN_H - 1 - - ) - -21  - ~<ã©u»s.h -> - -31  - #__LITTLE_ENDIAN - 1234 - - ) - -32  - #__BIG_ENDIAN - 4321 - - ) - -33  - #__PDP_ENDIAN - 3412 - - ) - -36  - ~ - -40 #iâdeà -__FLOAT_WORD_ORDER - - -41  - #__FLOAT_WORD_ORDER - -__BYTE_ORDER - - - ) - -44 #ifdef -__USE_MISC - - -45  - #LITTLE_ENDIAN - -__LITTLE_ENDIAN - - - ) - -46  - #BIG_ENDIAN - -__BIG_ENDIAN - - - ) - -47  - #PDP_ENDIAN - -__PDP_ENDIAN - - - ) - -48  - #BYTE_ORDER - -__BYTE_ORDER - - - ) - -51 #ià -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -52  - #__LONG_LONG_PAIR -( -HI -, -LO -èLO, - ) -HI - -53 #–ià -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -54  - #__LONG_LONG_PAIR -( -HI -, -LO -èHI, - ) -LO - -58 #ià -defšed - -__USE_MISC - && !defšed -__ASSEMBLER__ - - -60  - ~ - -62 #ià -__BYTE_ORDER - =ð -__LITTLE_ENDIAN - - -63  - #htobe16 -( -x -è - `__bsw­_16 - (x) - - ) - -64  - #htÞe16 -( -x -è(x) - - ) - -65  - #be16toh -( -x -è - `__bsw­_16 - (x) - - ) - -66  - #Ë16toh -( -x -è(x) - - ) - -68  - #htobe32 -( -x -è - `__bsw­_32 - (x) - - ) - -69  - #htÞe32 -( -x -è(x) - - ) - -70  - #be32toh -( -x -è - `__bsw­_32 - (x) - - ) - -71  - #Ë32toh -( -x -è(x) - - ) - -73  - #htobe64 -( -x -è - `__bsw­_64 - (x) - - ) - -74  - #htÞe64 -( -x -è(x) - - ) - -75  - #be64toh -( -x -è - `__bsw­_64 - (x) - - ) - -76  - #Ë64toh -( -x -è(x) - - ) - -79  - #htobe16 -( -x -è(x) - - ) - -80  - #htÞe16 -( -x -è - `__bsw­_16 - (x) - - ) - -81  - #be16toh -( -x -è(x) - - ) - -82  - #Ë16toh -( -x -è - `__bsw­_16 - (x) - - ) - -84  - #htobe32 -( -x -è(x) - - ) - -85  - #htÞe32 -( -x -è - `__bsw­_32 - (x) - - ) - -86  - #be32toh -( -x -è(x) - - ) - -87  - #Ë32toh -( -x -è - `__bsw­_32 - (x) - - ) - -89  - #htobe64 -( -x -è(x) - - ) - -90  - #htÞe64 -( -x -è - `__bsw­_64 - (x) - - ) - -91  - #be64toh -( -x -è(x) - - ) - -92  - #Ë64toh -( -x -è - `__bsw­_64 - (x) - - ) - - @/usr/include/features.h - -18 #iâdef -_FEATURES_H - - -19  - #_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  - #__KERNEL_STRICT_NAMES - - - ) - -135 #ià -defšed - -__GNUC__ - && defšed -__GNUC_MINOR__ - - -136  - #__GNUC_PREREQ -( -maj -, -mš -) \ - -137 (( -__GNUC__ - << 16è+ -__GNUC_MINOR__ - >ð(( -maj -è<< 16è+ ( -mš -)) - - ) - -139  - #__GNUC_PREREQ -( -maj -, -mš -è0 - - ) - -146 #ià( -defšed - -_BSD_SOURCE - || defšed -_SVID_SOURCE -) \ - -147 && ! -defšed - - g_DEFAULT_SOURCE - - -152 #undeà -_DEFAULT_SOURCE - - -153  - #_DEFAULT_SOURCE - 1 - - ) - -157 #ifdeà -_GNU_SOURCE - - -158 #undeà -_ISOC95_SOURCE - - -159  - #_ISOC95_SOURCE - 1 - - ) - -160 #undeà -_ISOC99_SOURCE - - -161  - #_ISOC99_SOURCE - 1 - - ) - -162 #undeà -_ISOC11_SOURCE - - -163  - #_ISOC11_SOURCE - 1 - - ) - -164 #undeà -_POSIX_SOURCE - - -165  - #_POSIX_SOURCE - 1 - - ) - -166 #undeà -_POSIX_C_SOURCE - - -167  - #_POSIX_C_SOURCE - 200809L - - ) - -168 #undeà -_XOPEN_SOURCE - - -169  - #_XOPEN_SOURCE - 700 - - ) - -170 #undeà -_XOPEN_SOURCE_EXTENDED - - -171  - #_XOPEN_SOURCE_EXTENDED - 1 - - ) - -172 #undeà -_LARGEFILE64_SOURCE - - -173  - #_LARGEFILE64_SOURCE - 1 - - ) - -174 #undeà -_DEFAULT_SOURCE - - -175  - #_DEFAULT_SOURCE - 1 - - ) - -176 #undeà -_ATFILE_SOURCE - - -177  - #_ATFILE_SOURCE - 1 - - ) - -182 #ià( -defšed - -_DEFAULT_SOURCE - \ - -183 || (! -defšed - - g__STRICT_ANSI__ - \ - -184 && ! -defšed - - g_ISOC99_SOURCE - \ - -185 && ! -defšed - - g_POSIX_SOURCE - && !defšed - g_POSIX_C_SOURCE - \ - -186 && ! -defšed - - g_XOPEN_SOURCE -)) - -187 #undeà -_DEFAULT_SOURCE - - -188  - #_DEFAULT_SOURCE - 1 - - ) - -192 #ià( -defšed - -_ISOC11_SOURCE - \ - -193 || ( -defšed - - g__STDC_VERSION__ - && __STDC_VERSION__ >= 201112L)) - -194  - #__USE_ISOC11 - 1 - - ) - -198 #ià( -defšed - -_ISOC99_SOURCE - || defšed -_ISOC11_SOURCE - \ - -199 || ( -defšed - -__STDC_VERSION__ - && __STDC_VERSION__ >= 199901L)) - -200  - #__USE_ISOC99 - 1 - - ) - -204 #ià( -defšed - -_ISOC99_SOURCE - || defšed -_ISOC11_SOURCE - \ - -205 || ( -defšed - -__STDC_VERSION__ - && __STDC_VERSION__ >= 199409L)) - -206  - #__USE_ISOC95 - 1 - - ) - -213 #ià(( -defšed - -__ýlu¥lus - && __cplusplus >= 201103L) \ - -214 || -defšed - -__GXX_EXPERIMENTAL_CXX0X__ -) - -215  - #__USE_ISOCXX11 - 1 - - ) - -221 #ifdeà -_DEFAULT_SOURCE - - -222 #ià! -defšed - -_POSIX_SOURCE - && !defšed -_POSIX_C_SOURCE - - -223  - #__USE_POSIX_IMPLICITLY - 1 - - ) - -225 #undeà -_POSIX_SOURCE - - -226  - #_POSIX_SOURCE - 1 - - ) - -227 #undeà -_POSIX_C_SOURCE - - -228  - #_POSIX_C_SOURCE - 200809L - - ) - -230 #ià((! -defšed - -__STRICT_ANSI__ - \ - -231 || ( -defšed - -_XOPEN_SOURCE - && (_XOPEN_SOURCE - 0) >= 500)) \ - -232 && ! -defšed - -_POSIX_SOURCE - && !defšed -_POSIX_C_SOURCE -) - -233  - #_POSIX_SOURCE - 1 - - ) - -234 #ià -defšed - -_XOPEN_SOURCE - && (_XOPEN_SOURCE - 0) < 500 - -235  - #_POSIX_C_SOURCE - 2 - - ) - -236 #–ià -defšed - -_XOPEN_SOURCE - && (_XOPEN_SOURCE - 0) < 600 - -237  - #_POSIX_C_SOURCE - 199506L - - ) - -238 #–ià -defšed - -_XOPEN_SOURCE - && (_XOPEN_SOURCE - 0) < 700 - -239  - #_POSIX_C_SOURCE - 200112L - - ) - -241  - #_POSIX_C_SOURCE - 200809L - - ) - -243  - #__USE_POSIX_IMPLICITLY - 1 - - ) - -246 #ià( -defšed - -_POSIX_SOURCE - \ - -247 || ( -defšed - -_POSIX_C_SOURCE - && _POSIX_C_SOURCE >= 1) \ - -248 || -defšed - -_XOPEN_SOURCE -) - -249  - #__USE_POSIX - 1 - - ) - -252 #ià -defšed - -_POSIX_C_SOURCE - && _POSIX_C_SOURCE >ð2 || defšed -_XOPEN_SOURCE - - -253  - #__USE_POSIX2 - 1 - - ) - -256 #ià -defšed - -_POSIX_C_SOURCE - && (_POSIX_C_SOURCE - 0) >= 199309L - -257  - #__USE_POSIX199309 - 1 - - ) - -260 #ià -defšed - -_POSIX_C_SOURCE - && (_POSIX_C_SOURCE - 0) >= 199506L - -261  - #__USE_POSIX199506 - 1 - - ) - -264 #ià -defšed - -_POSIX_C_SOURCE - && (_POSIX_C_SOURCE - 0) >= 200112L - -265  - #__USE_XOPEN2K - 1 - - ) - -266 #undeà -__USE_ISOC95 - - -267  - #__USE_ISOC95 - 1 - - ) - -268 #undeà -__USE_ISOC99 - - -269  - #__USE_ISOC99 - 1 - - ) - -272 #ià -defšed - -_POSIX_C_SOURCE - && (_POSIX_C_SOURCE - 0) >= 200809L - -273  - #__USE_XOPEN2K8 - 1 - - ) - -274 #undeà -_ATFILE_SOURCE - - -275  - #_ATFILE_SOURCE - 1 - - ) - -278 #ifdef -_XOPEN_SOURCE - - -279  - #__USE_XOPEN - 1 - - ) - -280 #ià( -_XOPEN_SOURCE - - 0) >= 500 - -281  - #__USE_XOPEN_EXTENDED - 1 - - ) - -282  - #__USE_UNIX98 - 1 - - ) - -283 #undeà -_LARGEFILE_SOURCE - - -284  - #_LARGEFILE_SOURCE - 1 - - ) - -285 #ià( -_XOPEN_SOURCE - - 0) >= 600 - -286 #ià( -_XOPEN_SOURCE - - 0) >= 700 - -287  - #__USE_XOPEN2K8 - 1 - - ) - -288  - #__USE_XOPEN2K8XSI - 1 - - ) - -290  - #__USE_XOPEN2K - 1 - - ) - -291  - #__USE_XOPEN2KXSI - 1 - - ) - -292 #undeà -__USE_ISOC95 - - -293  - #__USE_ISOC95 - 1 - - ) - -294 #undeà -__USE_ISOC99 - - -295  - #__USE_ISOC99 - 1 - - ) - -298 #ifdeà -_XOPEN_SOURCE_EXTENDED - - -299  - #__USE_XOPEN_EXTENDED - 1 - - ) - -304 #ifdeà -_LARGEFILE_SOURCE - - -305  - #__USE_LARGEFILE - 1 - - ) - -308 #ifdeà -_LARGEFILE64_SOURCE - - -309  - #__USE_LARGEFILE64 - 1 - - ) - -312 #ià -defšed - -_FILE_OFFSET_BITS - && _FILE_OFFSET_BITS == 64 - -313  - #__USE_FILE_OFFSET64 - 1 - - ) - -316 #ià -defšed - -_DEFAULT_SOURCE - - -317  - #__USE_MISC - 1 - - ) - -320 #ifdef -_ATFILE_SOURCE - - -321  - #__USE_ATFILE - 1 - - ) - -324 #ifdef -_GNU_SOURCE - - -325  - #__USE_GNU - 1 - - ) - -328 #ià -defšed - -_REENTRANT - || defšed -_THREAD_SAFE - - -329  - #__USE_REENTRANT - 1 - - ) - -332 #ià -defšed - -_FORTIFY_SOURCE - && _FORTIFY_SOURCE > 0 \ - -333 && -__GNUC_PREREQ - (4, 1è&& -defšed - - g__OPTIMIZE__ - && __OPTIMIZE__ > 0 - -334 #ià -_FORTIFY_SOURCE - > 1 - -335  - #__USE_FORTIFY_LEVEL - 2 - - ) - -337  - #__USE_FORTIFY_LEVEL - 1 - - ) - -340  - #__USE_FORTIFY_LEVEL - 0 - - ) - -345  - ~<¡dc-´edef.h -> - -353 #undeà -__GNU_LIBRARY__ - - -354  - #__GNU_LIBRARY__ - 6 - - ) - -358  - #__GLIBC__ - 2 - - ) - -359  - #__GLIBC_MINOR__ - 23 - - ) - -361  - #__GLIBC_PREREQ -( -maj -, -mš -) \ - -362 (( -__GLIBC__ - << 16è+ -__GLIBC_MINOR__ - >ð(( -maj -è<< 16è+ ( -mš -)) - - ) - -365 #iâdeà -__ASSEMBLER__ - - -366 #iâdeà -_SYS_CDEFS_H - - -367  - ~ - -372 #ià -defšed - -__USE_FILE_OFFSET64 - && !defšed -__REDIRECT - - -373  - #__USE_LARGEFILE - 1 - - ) - -374  - #__USE_LARGEFILE64 - 1 - - ) - -380 #ià -__GNUC_PREREQ - (2, 7è&& -defšed - -__OPTIMIZE__ - \ - -381 && ! -defšed - - g__OPTIMIZE_SIZE__ - && !defšed - g__NO_INLINE__ - \ - -382 && -defšed - - g__ex‹º_šlše - - -383  - #__USE_EXTERN_INLINES - 1 - - ) - -391  - ~ - - @/usr/include/libio.h - -28 #iâdeà -_IO_STDIO_H - - -29  - #_IO_STDIO_H - - - ) - -31  - ~<_G_cÚfig.h -> - -33  - #_IO_åos_t - -_G_åos_t - - - ) - -34  - #_IO_åos64_t - -_G_åos64_t - - - ) - -35  - #_IO_size_t - -size_t - - - ) - -36  - #_IO_ssize_t - -__ssize_t - - - ) - -37  - #_IO_off_t - -__off_t - - - ) - -38  - #_IO_off64_t - -__off64_t - - - ) - -39  - #_IO_pid_t - -__pid_t - - - ) - -40  - #_IO_uid_t - -__uid_t - - - ) - -41  - #_IO_icÚv_t - -_G_icÚv_t - - - ) - -42  - #_IO_HAVE_ST_BLKSIZE - -_G_HAVE_ST_BLKSIZE - - - ) - -43  - #_IO_BUFSIZ - -_G_BUFSIZ - - - ) - -44  - #_IO_va_li¡ - -_G_va_li¡ - - - ) - -45  - #_IO_wšt_t - -wšt_t - - - ) - -48  - #__Ãed___va_li¡ - - - ) - -49  - ~<¡d¬g.h -> - -50 #ifdeà -__GNUC_VA_LIST - - -51 #undeà -_IO_va_li¡ - - -52  - #_IO_va_li¡ - -__gnuc_va_li¡ - - - ) - -55 #iâdeà -__P - - -56  - ~ - -59  - #_IO_UNIFIED_JUMPTABLES - 1 - - ) - -61 #iâdeà -EOF - - -62  - #EOF - (-1) - - ) - -64 #iâdeà -NULL - - -65 #ià -defšed - -__GNUG__ - && \ - -66 ( - g__GNUC__ - > 2 || (__GNUC__ =ð2 && -__GNUC_MINOR__ - >= 8)) - -67  - #NULL - ( -__nuÎ -) - - ) - -69 #ià! -defšed -( -__ýlu¥lus -) - -70  - #NULL - ((*)0) - - ) - -72  - #NULL - (0) - - ) - -77  - #_IOS_INPUT - 1 - - ) - -78  - #_IOS_OUTPUT - 2 - - ) - -79  - #_IOS_ATEND - 4 - - ) - -80  - #_IOS_APPEND - 8 - - ) - -81  - #_IOS_TRUNC - 16 - - ) - -82  - #_IOS_NOCREATE - 32 - - ) - -83  - #_IOS_NOREPLACE - 64 - - ) - -84  - #_IOS_BIN - 128 - - ) - -92  - #_IO_MAGIC - 0xFBAD0000 - - ) - -93  - #_OLD_STDIO_MAGIC - 0xFABC0000 - - ) - -94  - #_IO_MAGIC_MASK - 0xFFFF0000 - - ) - -95  - #_IO_USER_BUF - 1 - - ) - -96  - #_IO_UNBUFFERED - 2 - - ) - -97  - #_IO_NO_READS - 4 - - ) - -98  - #_IO_NO_WRITES - 8 - - ) - -99  - #_IO_EOF_SEEN - 0x10 - - ) - -100  - #_IO_ERR_SEEN - 0x20 - - ) - -101  - #_IO_DELETE_DONT_CLOSE - 0x40 - - ) - -102  - #_IO_LINKED - 0x80 - - ) - -103  - #_IO_IN_BACKUP - 0x100 - - ) - -104  - #_IO_LINE_BUF - 0x200 - - ) - -105  - #_IO_TIED_PUT_GET - 0x400 - - ) - -106  - #_IO_CURRENTLY_PUTTING - 0x800 - - ) - -107  - #_IO_IS_APPENDING - 0x1000 - - ) - -108  - #_IO_IS_FILEBUF - 0x2000 - - ) - -109  - #_IO_BAD_SEEN - 0x4000 - - ) - -110  - #_IO_USER_LOCK - 0x8000 - - ) - -112  - #_IO_FLAGS2_MMAP - 1 - - ) - -113  - #_IO_FLAGS2_NOTCANCEL - 2 - - ) - -114 #ifdeà -_LIBC - - -115  - #_IO_FLAGS2_FORTIFY - 4 - - ) - -117  - #_IO_FLAGS2_USER_WBUF - 8 - - ) - -118 #ifdeà -_LIBC - - -119  - #_IO_FLAGS2_SCANF_STD - 16 - - ) - -120  - #_IO_FLAGS2_NOCLOSE - 32 - - ) - -121  - #_IO_FLAGS2_CLOEXEC - 64 - - ) - -125  - #_IO_SKIPWS - 01 - - ) - -126  - #_IO_LEFT - 02 - - ) - -127  - #_IO_RIGHT - 04 - - ) - -128  - #_IO_INTERNAL - 010 - - ) - -129  - #_IO_DEC - 020 - - ) - -130  - #_IO_OCT - 040 - - ) - -131  - #_IO_HEX - 0100 - - ) - -132  - #_IO_SHOWBASE - 0200 - - ) - -133  - #_IO_SHOWPOINT - 0400 - - ) - -134  - #_IO_UPPERCASE - 01000 - - ) - -135  - #_IO_SHOWPOS - 02000 - - ) - -136  - #_IO_SCIENTIFIC - 04000 - - ) - -137  - #_IO_FIXED - 010000 - - ) - -138  - #_IO_UNITBUF - 020000 - - ) - -139  - #_IO_STDIO - 040000 - - ) - -140  - #_IO_DONT_CLOSE - 0100000 - - ) - -141  - #_IO_BOOLALPHA - 0200000 - - ) - -144  -_IO_jump_t -;  - g_IO_FILE -; - -147 #ifdeà -_IO_MTSAFE_IO - - -150  - t_IO_lock_t -; - -156  - s_IO_m¬k” - { - -157  -_IO_m¬k” - * - m_Ãxt -; - -158  -_IO_FILE - * - m_sbuf -; - -162  - m_pos -; - -164  -£t_¡»ampos -( -¡»ampos - -¥ -è{ - m_¥os - = sp; } - -165  -£t_off£t -( -off£t -è{ - m_pos - = off£t; - m_¥os - = ( -¡»ampos -)(-2); } - -166 - mpublic -: - -167 -¡»amm¬k” -( -¡»ambuf - * -sb -); - -168 ~ -¡»amm¬k” -(); - -169  -§všg -(è{  - m_¥os - == -2; } - -170  -d– -( -¡»amm¬k” -&); - -171  -d– -(); - -176 - e__codecvt_»suÉ - - -178 - m__codecvt_ok -, - -179 - m__codecvt_·¹Ÿl -, - -180 - m__codecvt_”rÜ -, - -181 - m__codecvt_nocÚv - - -184 #ià -defšed - -_LIBC - || defšed -_GLIBCPP_USE_WCHAR_T - - -187  - s_IO_codecvt - - -189 (* - m__codecvt_de¡r -è( - m_IO_codecvt - *); - -190 -__codecvt_»suÉ - (* -__codecvt_do_out -è( - m_IO_codecvt - *, - -191 - m__mb¡©e_t - *, - -192 cÚ¡ - mwch¬_t - *, - -193 cÚ¡ - mwch¬_t - *, - -194 cÚ¡ - mwch¬_t - **, *, - -196 -__codecvt_»suÉ - (* -__codecvt_do_unshiá -è( - m_IO_codecvt - *, - -197 - m__mb¡©e_t - *, *, - -199 -__codecvt_»suÉ - (* -__codecvt_do_š -è( - m_IO_codecvt - *, - -200 - m__mb¡©e_t - *, - -202 cÚ¡ **, - mwch¬_t - *, - -203 - mwch¬_t - *, wchar_t **); - -204 (* - m__codecvt_do_’codšg -è( - m_IO_codecvt - *); - -205 (* - m__codecvt_do_®ways_nocÚv -è( - m_IO_codecvt - *); - -206 (* - m__codecvt_do_Ëngth -è( - m_IO_codecvt - *, - m__mb¡©e_t - *, - -207 cÚ¡ *, cÚ¡ *, - m_IO_size_t -); - -208 (* - m__codecvt_do_max_Ëngth -è( - m_IO_codecvt - *); - -210 -_IO_icÚv_t - - m__cd_š -; - -211 -_IO_icÚv_t - - m__cd_out -; - -215  - s_IO_wide_d©a - - -217 -wch¬_t - * - m_IO_»ad_±r -; - -218 -wch¬_t - * - m_IO_»ad_’d -; - -219 -wch¬_t - * - m_IO_»ad_ba£ -; - -220 -wch¬_t - * - m_IO_wr™e_ba£ -; - -221 -wch¬_t - * - m_IO_wr™e_±r -; - -222 -wch¬_t - * - m_IO_wr™e_’d -; - -223 -wch¬_t - * - m_IO_buf_ba£ -; - -224 -wch¬_t - * - m_IO_buf_’d -; - -226 -wch¬_t - * - m_IO_§ve_ba£ -; - -227 -wch¬_t - * - m_IO_backup_ba£ -; - -229 -wch¬_t - * - m_IO_§ve_’d -; - -231 -__mb¡©e_t - - m_IO_¡©e -; - -232 -__mb¡©e_t - - m_IO_Ï¡_¡©e -; - -233  -_IO_codecvt - - m_codecvt -; - -235 -wch¬_t - - m_shÜtbuf -[1]; - -237 cÚ¡  -_IO_jump_t - * - m_wide_vbË -; - -241  - s_IO_FILE - { - -242  - m_æags -; - -243  - #_IO_fže_æags - -_æags - - - ) - -247 * - m_IO_»ad_±r -; - -248 * - m_IO_»ad_’d -; - -249 * - m_IO_»ad_ba£ -; - -250 * - m_IO_wr™e_ba£ -; - -251 * - m_IO_wr™e_±r -; - -252 * - m_IO_wr™e_’d -; - -253 * - m_IO_buf_ba£ -; - -254 * - m_IO_buf_’d -; - -256 * - m_IO_§ve_ba£ -; - -257 * - m_IO_backup_ba£ -; - -258 * - m_IO_§ve_’d -; - -260  -_IO_m¬k” - * - m_m¬k”s -; - -262  -_IO_FILE - * - m_chaš -; - -264  - m_fž’o -; - -266  - m_blksize -; - -268  - m_æags2 -; - -270 -_IO_off_t - - m_Þd_off£t -; - -272  - #__HAVE_COLUMN - - - ) - -274  - m_cur_cÞumn -; - -275 sigÃd  - m_vbË_off£t -; - -276  - m_shÜtbuf -[1]; - -280 -_IO_lock_t - * - m_lock -; - -281 #ifdeà -_IO_USE_OLD_IO_FILE - - -284  - s_IO_FILE_com¶‘e - - -286  -_IO_FILE - - m_fže -; - -288 #ià -defšed - -_G_IO_IO_FILE_VERSION - && _G_IO_IO_FILE_VERSION == 0x20001 - -289 -_IO_off64_t - - m_off£t -; - -290 #ià -defšed - -_LIBC - || defšed -_GLIBCPP_USE_WCHAR_T - - -292  -_IO_codecvt - * - m_codecvt -; - -293  -_IO_wide_d©a - * - m_wide_d©a -; - -294  -_IO_FILE - * - m_䓻s_li¡ -; - -295 * - m_䓻s_buf -; - -297 * - m__·d1 -; - -298 * - m__·d2 -; - -299 * - m__·d3 -; - -300 * - m__·d4 -; - -302 -size_t - - m__·d5 -; - -303  - m_mode -; - -305  - m_unu£d2 -[15 *  (è- 4 *  (*è-  ( -size_t -)]; - -309 #iâdeà -__ýlu¥lus - - -310  -_IO_FILE - - t_IO_FILE -; - -313  - g_IO_FILE_¶us -; - -315  -_IO_FILE_¶us - -_IO_2_1_¡dš_ -; - -316  -_IO_FILE_¶us - -_IO_2_1_¡dout_ -; - -317  -_IO_FILE_¶us - -_IO_2_1_¡d”r_ -; - -318 #iâdeà -_LIBC - - -319  - #_IO_¡dš - (( -_IO_FILE -*)(& -_IO_2_1_¡dš_ -)) - - ) - -320  - #_IO_¡dout - (( -_IO_FILE -*)(& -_IO_2_1_¡dout_ -)) - - ) - -321  - #_IO_¡d”r - (( -_IO_FILE -*)(& -_IO_2_1_¡d”r_ -)) - - ) - -323 -_IO_FILE - * -_IO_¡dš - -©Œibu‹_hidd’ -; - -324 -_IO_FILE - * -_IO_¡dout - -©Œibu‹_hidd’ -; - -325 -_IO_FILE - * -_IO_¡d”r - -©Œibu‹_hidd’ -; - -333  -__ssize_t - - t__io_»ad_â - (* - t__cook› -, * - t__buf -, - tsize_t - - t__nby‹s -); - -341  -__ssize_t - - t__io_wr™e_â - (* - t__cook› -, cÚ¡ * - t__buf -, - -342 - tsize_t - - t__n -); - -350  - t__io_£ek_â - (* - t__cook› -, - t_IO_off64_t - * - t__pos -,  - t__w -); - -353  - t__io_þo£_â - (* - t__cook› -); - -356 #ifdeà -_GNU_SOURCE - - -358  -__io_»ad_â - - tcook›_»ad_funùiÚ_t -; - -359  -__io_wr™e_â - - tcook›_wr™e_funùiÚ_t -; - -360  -__io_£ek_â - - tcook›_£ek_funùiÚ_t -; - -361  -__io_þo£_â - - tcook›_þo£_funùiÚ_t -; - -366 -__io_»ad_â - * - m»ad -; - -367 -__io_wr™e_â - * - mwr™e -; - -368 -__io_£ek_â - * - m£ek -; - -369 -__io_þo£_â - * - mþo£ -; - -370 } - t_IO_cook›_io_funùiÚs_t -; - -371  -_IO_cook›_io_funùiÚs_t - - tcook›_io_funùiÚs_t -; - -373  - g_IO_cook›_fže -; - -376  -_IO_cook›_š™ - ( -_IO_cook›_fže - * -__cfže -,  -__»ad_wr™e -, - -377 * -__cook› -, -_IO_cook›_io_funùiÚs_t - -__âs -); - -381 #ifdeà -__ýlu¥lus - - -385  -__und”æow - ( -_IO_FILE - *); - -386  -__uæow - ( -_IO_FILE - *); - -387  -__ov”æow - ( -_IO_FILE - *, ); - -388 #ià -defšed - -_LIBC - || defšed -_GLIBCPP_USE_WCHAR_T - - -389 -_IO_wšt_t - -__wund”æow - ( -_IO_FILE - *); - -390 -_IO_wšt_t - -__wuæow - ( -_IO_FILE - *); - -391 -_IO_wšt_t - -__wov”æow - ( -_IO_FILE - *, _IO_wint_t); - -394 #ià -__GNUC__ - >= 3 - -395  - #_IO_BE -( -ex´ -, -»s -è - `__bužtš_ex³ù - (Óx´),„es) - - ) - -397  - #_IO_BE -( -ex´ -, -»s -èÓx´) - - ) - -400  - #_IO_g‘c_uÆocked -( -_å -) \ - -401 ( - `_IO_BE - (( -_å -)-> -_IO_»ad_±r - >ð(_å)-> -_IO_»ad_’d -, 0) \ - -402 ? - `__uæow - ( -_å -è: *(*è(_å)-> -_IO_»ad_±r -++) - - ) - -403  - #_IO_³ekc_uÆocked -( -_å -) \ - -404 ( - `_IO_BE - (( -_å -)-> -_IO_»ad_±r - >ð(_å)-> -_IO_»ad_’d -, 0) \ - -405 && - `__und”æow - ( -_å -è=ð -EOF - ? EOF \ - -406 : *(*è( -_å -)-> -_IO_»ad_±r -) - - ) - -407  - #_IO_putc_uÆocked -( -_ch -, -_å -) \ - -408 ( - `_IO_BE - (( -_å -)-> -_IO_wr™e_±r - >ð(_å)-> -_IO_wr™e_’d -, 0) \ - -409 ? - `__ov”æow - ( -_å -, (è( -_ch -)) \ - -410 : (è(*( -_å -)-> -_IO_wr™e_±r -++ = ( -_ch -))) - - ) - -412 #ià -defšed - -_LIBC - || defšed -_GLIBCPP_USE_WCHAR_T - - -413  - #_IO_g‘wc_uÆocked -( -_å -) \ - -414 ( - `_IO_BE - (( -_å -)-> -_wide_d©a - =ð -NULL - \ - -415 || (( -_å -)-> -_wide_d©a --> -_IO_»ad_±r - \ - -416 >ð( -_å -)-> -_wide_d©a --> -_IO_»ad_’d -), 0) \ - -417 ? - `__wuæow - ( -_å -è: ( -_IO_wšt_t -è*(_å)-> -_wide_d©a --> -_IO_»ad_±r -++) - - ) - -418  - #_IO_putwc_uÆocked -( -_wch -, -_å -) \ - -419 ( - `_IO_BE - (( -_å -)-> -_wide_d©a - =ð -NULL - \ - -420 || (( -_å -)-> -_wide_d©a --> -_IO_wr™e_±r - \ - -421 >ð( -_å -)-> -_wide_d©a --> -_IO_wr™e_’d -), 0) \ - -422 ? - `__wov”æow - ( -_å -, -_wch -) \ - -423 : ( -_IO_wšt_t -è(*( -_å -)-> -_wide_d©a --> -_IO_wr™e_±r -++ = ( -_wch -))) - - ) - -426  - #_IO_ãof_uÆocked -( -__å -è(((__å)-> -_æags - & -_IO_EOF_SEEN -è!ð0) - - ) - -427  - #_IO_ã¼Ü_uÆocked -( -__å -è(((__å)-> -_æags - & -_IO_ERR_SEEN -è!ð0) - - ) - -429  -_IO_g‘c - ( -_IO_FILE - * -__å -); - -430  -_IO_putc - ( -__c -, -_IO_FILE - * -__å -); - -431  -_IO_ãof - ( -_IO_FILE - * -__å -è -__THROW -; - -432  -_IO_ã¼Ü - ( -_IO_FILE - * -__å -è -__THROW -; - -434  -_IO_³ekc_locked - ( -_IO_FILE - * -__å -); - -437  - #_IO_PENDING_OUTPUT_COUNT -( -_å -) \ - -438 (( -_å -)-> -_IO_wr™e_±r - - (_å)-> -_IO_wr™e_ba£ -) - - ) - -440  -_IO_æockfže - ( -_IO_FILE - *è -__THROW -; - -441  -_IO_fuÆockfže - ( -_IO_FILE - *è -__THROW -; - -442  -_IO_árylockfže - ( -_IO_FILE - *è -__THROW -; - -444 #ifdeà -_IO_MTSAFE_IO - - -445  - #_IO_³ekc -( -_å -è - `_IO_³ekc_locked - (_å) - - ) - -446  - #_IO_æockfže -( -_å -) \ - -447 ià((( -_å -)-> -_æags - & -_IO_USER_LOCK -è=ð0è - `_IO_æockfže - (_å) - - ) - -448  - #_IO_fuÆockfže -( -_å -) \ - -449 ià((( -_å -)-> -_æags - & -_IO_USER_LOCK -è=ð0è - `_IO_fuÆockfže - (_å) - - ) - -451  - #_IO_³ekc -( -_å -è - `_IO_³ekc_uÆocked - (_å) - - ) - -452  - #_IO_æockfže -( -_å -è - - ) - -453  - #_IO_fuÆockfže -( -_å -è - - ) - -454  - #_IO_árylockfže -( -_å -è - - ) - -455  - #_IO_þ—nup_»giÚ_¡¬t -( -_fù -, -_å -è - - ) - -456  - #_IO_þ—nup_»giÚ_’d -( -_Do™ -è - - ) - -459  -_IO_vfsÿnf - ( -_IO_FILE - * -__»¡riù -, const * __restrict, - -460 -_IO_va_li¡ -, * -__»¡riù -); - -461  -_IO_vårštf - ( -_IO_FILE - * -__»¡riù -, const *__restrict, - -462 -_IO_va_li¡ -); - -463 -_IO_ssize_t - -_IO_·dn - ( -_IO_FILE - *, , _IO_ssize_t); - -464 -_IO_size_t - -_IO_sg‘n - ( -_IO_FILE - *, *, _IO_size_t); - -466 -_IO_off64_t - -_IO_£ekoff - ( -_IO_FILE - *, _IO_off64_t, , ); - -467 -_IO_off64_t - -_IO_£ekpos - ( -_IO_FILE - *, _IO_off64_t, ); - -469  -_IO_ä“_backup_¬— - ( -_IO_FILE - *è -__THROW -; - -471 #ià -defšed - -_LIBC - || defšed -_GLIBCPP_USE_WCHAR_T - - -472 -_IO_wšt_t - -_IO_g‘wc - ( -_IO_FILE - * -__å -); - -473 -_IO_wšt_t - -_IO_putwc - ( -wch¬_t - -__wc -, -_IO_FILE - * -__å -); - -474  -_IO_fwide - ( -_IO_FILE - * -__å -,  -__mode -è -__THROW -; - -475 #ià -__GNUC__ - >= 2 - -478 #ià -defšed - -_LIBC - && defšed -SHARED - - -479  - ~ - -480 #ià -SHLIB_COMPAT - ( -libc -, -GLIBC_2_0 -, -GLIBC_2_1 -) - -481  - #_IO_fwide_maybe_šcom·tibË - \ - -482 ( - `__bužtš_ex³ù - (& -_IO_¡dš_u£d - =ð -NULL -, 0)) - - ) - -483 cÚ¡  -_IO_¡dš_u£d -; - -484 -w—k_ex‹º - ( -_IO_¡dš_u£d -); - -487 #iâdeà -_IO_fwide_maybe_šcom·tibË - - -488  - #_IO_fwide_maybe_šcom·tibË - (0) - - ) - -492  - #_IO_fwide -( -__å -, -__mode -) \ - -493 ({  -__»suÉ - = ( -__mode -); \ - -494 ià( -__»suÉ - < 0 && ! -_IO_fwide_maybe_šcom·tibË -) \ - -496 ià(( -__å -)-> -_mode - == 0) \ - -498 ( -__å -)-> -_mode - = -1; \ - -499 -__»suÉ - = ( -__å -)-> -_mode -; \ - -501 ià( - `__bužtš_cÚ¡ªt_p - ( -__mode -) && (__mode) == 0) \ - -502 -__»suÉ - = -_IO_fwide_maybe_šcom·tibË - ? -1 : ( -__å -)-> -_mode -; \ - -504 -__»suÉ - = - `_IO_fwide - ( -__å -, __result); \ - -505 -__»suÉ -; }) - - ) - -508  -_IO_vfwsÿnf - ( -_IO_FILE - * -__»¡riù -, cÚ¡ -wch¬_t - * __restrict, - -509 -_IO_va_li¡ -, * -__»¡riù -); - -510  -_IO_vfw´štf - ( -_IO_FILE - * -__»¡riù -, cÚ¡ -wch¬_t - *__restrict, - -511 -_IO_va_li¡ -); - -512 -_IO_ssize_t - -_IO_w·dn - ( -_IO_FILE - *, -wšt_t -, _IO_ssize_t); - -513  -_IO_ä“_wbackup_¬— - ( -_IO_FILE - *è -__THROW -; - -516 #ifdeà -__LDBL_COMPAT - - -517  - ~ - -520 #ifdeà -__ýlu¥lus - - - @/usr/include/limits.h - -22 #iâdeà -_LIBC_LIMITS_H_ - - -23  - #_LIBC_LIMITS_H_ - 1 - - ) - -25  - ~<ã©u»s.h -> - -31  - #MB_LEN_MAX - 16 - - ) - -36 #ià! -defšed - -__GNUC__ - || __GNUC__ < 2 - -41 #iâdeà -_LIMITS_H - - -42  - #_LIMITS_H - 1 - - ) - -44  - ~ - -53  - #CHAR_BIT - 8 - - ) - -56  - #SCHAR_MIN - (-128) - - ) - -57  - #SCHAR_MAX - 127 - - ) - -60  - #UCHAR_MAX - 255 - - ) - -63 #ifdeà -__CHAR_UNSIGNED__ - - -64  - #CHAR_MIN - 0 - - ) - -65  - #CHAR_MAX - -UCHAR_MAX - - - ) - -67  - #CHAR_MIN - -SCHAR_MIN - - - ) - -68  - #CHAR_MAX - -SCHAR_MAX - - - ) - -72  - #SHRT_MIN - (-32768) - - ) - -73  - #SHRT_MAX - 32767 - - ) - -76  - #USHRT_MAX - 65535 - - ) - -79  - #INT_MIN - (- -INT_MAX - - 1) - - ) - -80  - #INT_MAX - 2147483647 - - ) - -83  - #UINT_MAX - 4294967295U - - ) - -86 #ià -__WORDSIZE - == 64 - -87  - #LONG_MAX - 9223372036854775807L - - ) - -89  - #LONG_MAX - 2147483647L - - ) - -91  - #LONG_MIN - (- -LONG_MAX - - 1L) - - ) - -94 #ià -__WORDSIZE - == 64 - -95  - #ULONG_MAX - 18446744073709551615UL - - ) - -97  - #ULONG_MAX - 4294967295UL - - ) - -100 #ifdeà -__USE_ISOC99 - - -103  - #LLONG_MAX - 9223372036854775807LL - - ) - -104  - #LLONG_MIN - (- -LLONG_MAX - - 1LL) - - ) - -107  - #ULLONG_MAX - 18446744073709551615ULL - - ) - -121 #ià -defšed - -__GNUC__ - && !defšed -_GCC_LIMITS_H_ - - -123 #šþude_Ãxˆ< -lim™s -. -h -> - -129 #ià -defšed - -__USE_ISOC99 - && defšed -__GNUC__ - - -130 #iâdeà -LLONG_MIN - - -131  - #LLONG_MIN - (- -LLONG_MAX --1) - - ) - -133 #iâdeà -LLONG_MAX - - -134  - #LLONG_MAX - -__LONG_LONG_MAX__ - - - ) - -136 #iâdeà -ULLONG_MAX - - -137  - #ULLONG_MAX - ( -LLONG_MAX - * 2ULL + 1) - - ) - -141 #ifdef -__USE_POSIX - - -143  - ~ - -146 #ifdef -__USE_POSIX2 - - -147  - ~ - -150 #ifdef -__USE_XOPEN - - -151  - ~ - - @/usr/include/sys/select.h - -21 #iâdeà -_SYS_SELECT_H - - -22  - #_SYS_SELECT_H - 1 - - ) - -24  - ~<ã©u»s.h -> - -27  - ~ - -30  - ~ - -33  - ~ - -35 #iâdeà -__sig£t_t_defšed - - -36  - #__sig£t_t_defšed - - - ) - -37  -__sig£t_t - - tsig£t_t -; - -41  - #__Ãed_time_t - - - ) - -42  - #__Ãed_time¥ec - - - ) - -43  - ~ - -44  - #__Ãed_timev® - - - ) - -45  - ~ - -47 #iâdeà -__su£cÚds_t_defšed - - -48  -__su£cÚds_t - - tsu£cÚds_t -; - -49  - #__su£cÚds_t_defšed - - - ) - -54  - t__fd_mask -; - -57 #undeà -__NFDBITS - - -59  - #__NFDBITS - (8 * (è ( -__fd_mask -)) - - ) - -60  - #__FD_ELT -( -d -è((dè/ -__NFDBITS -) - - ) - -61  - #__FD_MASK -( -d -è(( -__fd_mask -è(1UL << ((dè% -__NFDBITS -))) - - ) - -68 #ifdeà -__USE_XOPEN - - -69 -__fd_mask - - mfds_b™s -[ -__FD_SETSIZE - / -__NFDBITS -]; - -70  - #__FDS_BITS -( -£t -è((£t)-> -fds_b™s -) - - ) - -72 -__fd_mask - - m__fds_b™s -[ -__FD_SETSIZE - / -__NFDBITS -]; - -73  - #__FDS_BITS -( -£t -è((£t)-> -__fds_b™s -) - - ) - -75 } - tfd_£t -; - -78  - #FD_SETSIZE - -__FD_SETSIZE - - - ) - -80 #ifdeà -__USE_MISC - - -82  -__fd_mask - - tfd_mask -; - -85  - #NFDBITS - -__NFDBITS - - - ) - -90  - #FD_SET -( -fd -, -fd£ -è - `__FD_SET - (fd, fd£) - - ) - -91  - #FD_CLR -( -fd -, -fd£ -è - `__FD_CLR - (fd, fd£) - - ) - -92  - #FD_ISSET -( -fd -, -fd£ -è - `__FD_ISSET - (fd, fd£) - - ) - -93  - #FD_ZERO -( -fd£ -è - `__FD_ZERO - (fd£) - - ) - -96 -__BEGIN_DECLS - - -106  -£Ëù - ( -__nfds -, -fd_£t - * -__»¡riù - -__»adfds -, - -107 -fd_£t - * -__»¡riù - -__wr™efds -, - -108 -fd_£t - * -__»¡riù - -__exû±fds -, - -109  -timev® - * -__»¡riù - -__timeout -); - -111 #ifdeà -__USE_XOPEN2K - - -118  -p£Ëù - ( -__nfds -, -fd_£t - * -__»¡riù - -__»adfds -, - -119 -fd_£t - * -__»¡riù - -__wr™efds -, - -120 -fd_£t - * -__»¡riù - -__exû±fds -, - -121 cÚ¡  -time¥ec - * -__»¡riù - -__timeout -, - -122 cÚ¡ -__sig£t_t - * -__»¡riù - -__sigmask -); - -127 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__GNUC__ - - -128  - ~ - -131 - g__END_DECLS - - - @/usr/include/sys/sysmacros.h - -19 #iâdeà -_SYS_SYSMACROS_H - - -20  - #_SYS_SYSMACROS_H - 1 - - ) - -22  - ~<ã©u»s.h -> - -24 -__BEGIN_DECLS - - -26 -__ex‹nsiÚ__ - - -27  - $gnu_dev_majÜ - ( -__dev -) - -28 -__THROW - -__©Œibu‹_cÚ¡__ -; - -29 -__ex‹nsiÚ__ - - -30  - $gnu_dev_mšÜ - ( -__dev -) - -31 -__THROW - -__©Œibu‹_cÚ¡__ -; - -32 -__ex‹nsiÚ__ - - -33  - $gnu_dev_makedev - ( -__majÜ -, - -34  -__mšÜ -) - -35 -__THROW - -__©Œibu‹_cÚ¡__ -; - -37 #ifdeà -__USE_EXTERN_INLINES - - -38 -__ex‹nsiÚ__ - -__ex‹º_šlše - -__©Œibu‹_cÚ¡__ -  - -39 - `__NTH - ( - $gnu_dev_majÜ - ( -__dev -)) - -41  (( -__dev - >> 8) & 0xfff) | (() (__dev >> 32) & ~0xfff); - -42 - } -} - -44 -__ex‹nsiÚ__ - -__ex‹º_šlše - -__©Œibu‹_cÚ¡__ -  - -45 -__NTH - ( - $gnu_dev_mšÜ - ( -__dev -)) - -47  ( -__dev - & 0xff) | (() (__dev >> 12) & ~0xff); - -48 - } -} - -50 -__ex‹nsiÚ__ - -__ex‹º_šlše - -__©Œibu‹_cÚ¡__ -  - -51 -__NTH - ( - $gnu_dev_makedev - ( -__majÜ -,  -__mšÜ -)) - -53  (( -__mšÜ - & 0xffè| (( -__majÜ - & 0xfff) << 8) - -54 | (((è( -__mšÜ - & ~0xff)) << 12) - -55 | (((è( -__majÜ - & ~0xfff)) << 32)); - -56 - } -} - -58 - g__END_DECLS - - -61  - #majÜ -( -dev -è - `gnu_dev_majÜ - (dev) - - ) - -62  - #mšÜ -( -dev -è - `gnu_dev_mšÜ - (dev) - - ) - -63  - #makedev -( -maj -, -mš -è - `gnu_dev_makedev - (maj, mš) - - ) - - @/usr/include/sys/ucontext.h - -18 #iâdeà -_SYS_UCONTEXT_H - - -19  - #_SYS_UCONTEXT_H - 1 - - ) - -21  - ~<ã©u»s.h -> - -22  - ~ - -26  - ~ - -28 #ifdeà -__x86_64__ - - -31 -__ex‹nsiÚ__ -  - tg»g_t -; - -34  - #NGREG - 23 - - ) - -37  -g»g_t - - tg»g£t_t -[ -NGREG -]; - -39 #ifdeà -__USE_GNU - - -43 - mREG_R8 - = 0, - -44  - #REG_R8 - -REG_R8 - - - ) - -45 - mREG_R9 -, - -46  - #REG_R9 - -REG_R9 - - - ) - -47 - mREG_R10 -, - -48  - #REG_R10 - -REG_R10 - - - ) - -49 - mREG_R11 -, - -50  - #REG_R11 - -REG_R11 - - - ) - -51 - mREG_R12 -, - -52  - #REG_R12 - -REG_R12 - - - ) - -53 - mREG_R13 -, - -54  - #REG_R13 - -REG_R13 - - - ) - -55 - mREG_R14 -, - -56  - #REG_R14 - -REG_R14 - - - ) - -57 - mREG_R15 -, - -58  - #REG_R15 - -REG_R15 - - - ) - -59 - mREG_RDI -, - -60  - #REG_RDI - -REG_RDI - - - ) - -61 - mREG_RSI -, - -62  - #REG_RSI - -REG_RSI - - - ) - -63 - mREG_RBP -, - -64  - #REG_RBP - -REG_RBP - - - ) - -65 - mREG_RBX -, - -66  - #REG_RBX - -REG_RBX - - - ) - -67 - mREG_RDX -, - -68  - #REG_RDX - -REG_RDX - - - ) - -69 - mREG_RAX -, - -70  - #REG_RAX - -REG_RAX - - - ) - -71 - mREG_RCX -, - -72  - #REG_RCX - -REG_RCX - - - ) - -73 - mREG_RSP -, - -74  - #REG_RSP - -REG_RSP - - - ) - -75 - mREG_RIP -, - -76  - #REG_RIP - -REG_RIP - - - ) - -77 - mREG_EFL -, - -78  - #REG_EFL - -REG_EFL - - - ) - -79 - mREG_CSGSFS -, - -80  - #REG_CSGSFS - -REG_CSGSFS - - - ) - -81 - mREG_ERR -, - -82  - #REG_ERR - -REG_ERR - - - ) - -83 - mREG_TRAPNO -, - -84  - #REG_TRAPNO - -REG_TRAPNO - - - ) - -85 - mREG_OLDMASK -, - -86  - #REG_OLDMASK - -REG_OLDMASK - - - ) - -87 - mREG_CR2 - - -88  - #REG_CR2 - -REG_CR2 - - - ) - -92  - s_libc_åx»g - - -94  - msignifiÿnd -[4]; - -95  - mexpڒt -; - -96  - m·ddšg -[3]; - -99  - s_libc_xmm»g - - -101 -__ušt32_t - - m–em’t -[4]; - -104  - s_libc_å¡©e - - -107 -__ušt16_t - - mcwd -; - -108 -__ušt16_t - - mswd -; - -109 -__ušt16_t - - máw -; - -110 -__ušt16_t - - mfÝ -; - -111 -__ušt64_t - - mr -; - -112 -__ušt64_t - - mrdp -; - -113 -__ušt32_t - - mmxc¤ -; - -114 -__ušt32_t - - mmxü_mask -; - -115  -_libc_åx»g - - m_¡ -[8]; - -116  -_libc_xmm»g - - m_xmm -[16]; - -117 -__ušt32_t - - m·ddšg -[24]; - -121  -_libc_å¡©e - * - tå»g£t_t -; - -126 -g»g£t_t - - mg»gs -; - -128 -å»g£t_t - - må»gs -; - -129 -__ex‹nsiÚ__ -  - m__»£rved1 - [8]; - -130 } - tmcڋxt_t -; - -133  - sucڋxt - - -135  - muc_æags -; - -136  -ucڋxt - * - muc_lšk -; - -137 -¡ack_t - - muc_¡ack -; - -138 -mcڋxt_t - - muc_mcڋxt -; - -139 -__sig£t_t - - muc_sigmask -; - -140  -_libc_å¡©e - - m__å»gs_mem -; - -141 } - tucڋxt_t -; - -146  - tg»g_t -; - -149  - #NGREG - 19 - - ) - -152  -g»g_t - - tg»g£t_t -[ -NGREG -]; - -154 #ifdeà -__USE_GNU - - -158 - mREG_GS - = 0, - -159  - #REG_GS - -REG_GS - - - ) - -160 - mREG_FS -, - -161  - #REG_FS - -REG_FS - - - ) - -162 - mREG_ES -, - -163  - #REG_ES - -REG_ES - - - ) - -164 - mREG_DS -, - -165  - #REG_DS - -REG_DS - - - ) - -166 - mREG_EDI -, - -167  - #REG_EDI - -REG_EDI - - - ) - -168 - mREG_ESI -, - -169  - #REG_ESI - -REG_ESI - - - ) - -170 - mREG_EBP -, - -171  - #REG_EBP - -REG_EBP - - - ) - -172 - mREG_ESP -, - -173  - #REG_ESP - -REG_ESP - - - ) - -174 - mREG_EBX -, - -175  - #REG_EBX - -REG_EBX - - - ) - -176 - mREG_EDX -, - -177  - #REG_EDX - -REG_EDX - - - ) - -178 - mREG_ECX -, - -179  - #REG_ECX - -REG_ECX - - - ) - -180 - mREG_EAX -, - -181  - #REG_EAX - -REG_EAX - - - ) - -182 - mREG_TRAPNO -, - -183  - #REG_TRAPNO - -REG_TRAPNO - - - ) - -184 - mREG_ERR -, - -185  - #REG_ERR - -REG_ERR - - - ) - -186 - mREG_EIP -, - -187  - #REG_EIP - -REG_EIP - - - ) - -188 - mREG_CS -, - -189  - #REG_CS - -REG_CS - - - ) - -190 - mREG_EFL -, - -191  - #REG_EFL - -REG_EFL - - - ) - -192 - mREG_UESP -, - -193  - #REG_UESP - -REG_UESP - - - ) - -194 - mREG_SS - - -195  - #REG_SS - -REG_SS - - - ) - -200  - s_libc_å»g - - -202  - msignifiÿnd -[4]; - -203  - mexpڒt -; - -206  - s_libc_å¡©e - - -208  - mcw -; - -209  - msw -; - -210  - mg -; - -211  - moff -; - -212  - mcs£l -; - -213  - md©aoff -; - -214  - md©a£l -; - -215  -_libc_å»g - - m_¡ -[8]; - -216  - m¡©us -; - -220  -_libc_å¡©e - * - tå»g£t_t -; - -225 -g»g£t_t - - mg»gs -; - -228 -å»g£t_t - - må»gs -; - -229  - mÞdmask -; - -230  - mü2 -; - -231 } - tmcڋxt_t -; - -234  - sucڋxt - - -236  - muc_æags -; - -237  -ucڋxt - * - muc_lšk -; - -238 -¡ack_t - - muc_¡ack -; - -239 -mcڋxt_t - - muc_mcڋxt -; - -240 -__sig£t_t - - muc_sigmask -; - -241  -_libc_å¡©e - - m__å»gs_mem -; - -242 } - tucڋxt_t -; - - @/usr/include/sys/uio.h - -18 #iâdeà -_SYS_UIO_H - - -19  - #_SYS_UIO_H - 1 - - ) - -21  - ~<ã©u»s.h -> - -23  - ~ - -25 - g__BEGIN_DECLS - - -28  - ~ - -39 -ssize_t - - $»adv - ( -__fd -, cÚ¡  -iovec - * -__iovec -,  -__couÁ -) - -40 -__wur -; - -50 -ssize_t - - $wr™ev - ( -__fd -, cÚ¡  -iovec - * -__iovec -,  -__couÁ -) - -51 -__wur -; - -54 #ifdeà -__USE_MISC - - -55 #iâdeà -__USE_FILE_OFFSET64 - - -65 -ssize_t - - $´—dv - ( -__fd -, cÚ¡  -iovec - * -__iovec -,  -__couÁ -, - -66 -__off_t - -__off£t -è -__wur -; - -77 -ssize_t - - $pwr™ev - ( -__fd -, cÚ¡  -iovec - * -__iovec -,  -__couÁ -, - -78 -__off_t - -__off£t -è -__wur -; - -80 #ifdeà -__REDIRECT - - -81 -ssize_t - - `__REDIRECT - ( -´—dv -, ( -__fd -, cÚ¡  -iovec - * -__iovec -, - -82  -__couÁ -, -__off64_t - -__off£t -), - -83 -´—dv64 -è -__wur -; - -84 -ssize_t - - `__REDIRECT - ( -pwr™ev -, ( -__fd -, cÚ¡  -iovec - * -__iovec -, - -85  -__couÁ -, -__off64_t - -__off£t -), - -86 -pwr™ev64 -è -__wur -; - -88  - #´—dv - -´—dv64 - - - ) - -89  - #pwr™ev - -pwr™ev64 - - - ) - -93 #ifdeà -__USE_LARGEFILE64 - - -103 -ssize_t - - $´—dv64 - ( -__fd -, cÚ¡  -iovec - * -__iovec -,  -__couÁ -, - -104 -__off64_t - -__off£t -è -__wur -; - -115 -ssize_t - - $pwr™ev64 - ( -__fd -, cÚ¡  -iovec - * -__iovec -,  -__couÁ -, - -116 -__off64_t - -__off£t -è -__wur -; - -120 -__END_DECLS - - - @/usr/include/xlocale.h - -20 #iâdeà -_XLOCALE_H - - -21  - #_XLOCALE_H - 1 - - ) - -27  - s__loÿË_¡ruù - - -30  -__loÿË_d©a - * - m__loÿËs -[13]; - -33 cÚ¡ * - m__ùy³_b -; - -34 cÚ¡ * - m__ùy³_tÞow” -; - -35 cÚ¡ * - m__ùy³_touµ” -; - -38 cÚ¡ * - m__Çmes -[13]; - -39 } * - t__loÿË_t -; - -42  -__loÿË_t - - tloÿË_t -; - - @/usr/include/_G_config.h - -4 #iâdeà -_G_cÚfig_h - - -5  - #_G_cÚfig_h - 1 - - ) - -9  - ~ - -10  - #__Ãed_size_t - - - ) - -11 #ià -defšed - -_LIBC - || defšed -_GLIBCPP_USE_WCHAR_T - - -12  - #__Ãed_wch¬_t - - - ) - -14  - #__Ãed_NULL - - - ) - -15  - ~<¡ddef.h -> - -16  - #__Ãed_mb¡©e_t - - - ) - -17 #ià -defšed - -_LIBC - || defšed -_GLIBCPP_USE_WCHAR_T - - -18  - #__Ãed_wšt_t - - - ) - -20  - ~ - -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šed - -_LIBC - || defšed -_GLIBCPP_USE_WCHAR_T - - -32  - ~ - -35  -__gcÚv_šfo - - m__cd -; - -38  -__gcÚv_šfo - - m__cd -; - -39  -__gcÚv_¡•_d©a - - m__d©a -; - -40 } - m__combšed -; - -41 } - t_G_icÚv_t -; - -46  - #_G_va_li¡ - -__gnuc_va_li¡ - - - ) - -48  - #_G_HAVE_MMAP - 1 - - ) - -49  - #_G_HAVE_MREMAP - 1 - - ) - -51  - #_G_IO_IO_FILE_VERSION - 0x20001 - - ) - -54  - #_G_HAVE_ST_BLKSIZE - - `defšed - ( -_STATBUF_ST_BLKSIZE -) - - ) - -56  - #_G_BUFSIZ - 8192 - - ) - - @/usr/include/asm/socket.h - -1  - ~ - - @/usr/include/bits/byteswap-16.h - -19 #iâdeà -_BITS_BYTESWAP_H - - -23 #ifdeà -__GNUC__ - - -24 #ià -__GNUC__ - >= 2 - -25  - #__bsw­_16 -( -x -) \ - -26 ( -__ex‹nsiÚ__ - \ - -27 ({  -__v -, -__x - = (è( -x -); \ - -28 ià( - `__bužtš_cÚ¡ªt_p - ( -__x -)) \ - -29 -__v - = - `__bsw­_cÚ¡ªt_16 - ( -__x -); \ - -31 - `__asm__ - ("rorw $8, %w0" \ - -32 : "ô" ( -__v -) \ - -33 : "0" ( -__x -) \ - -35 -__v -; })) - - ) - -38  - #__bsw­_16 -( -x -) \ - -39 ( -__ex‹nsiÚ__ - \ - -40 ({  -__x - = (è( -x -); \ - -41 - `__bsw­_cÚ¡ªt_16 - ( -__x -); })) - - ) - -44  -__šlše -  - -45 - $__bsw­_16 - ( -__bsx -) - -47  - `__bsw­_cÚ¡ªt_16 - ( -__bsx -); - -48 - } -} - - @/usr/include/bits/endian.h - -3 #iâdeà -_ENDIAN_H - - -7  - #__BYTE_ORDER - -__LITTLE_ENDIAN - - - ) - - @/usr/include/bits/fcntl-linux.h - -19 #iâdef -_FCNTL_H - - -37 #ifdeà -__USE_GNU - - -38  - ~ - -42  - #O_ACCMODE - 0003 - - ) - -43  - #O_RDONLY - 00 - - ) - -44  - #O_WRONLY - 01 - - ) - -45  - #O_RDWR - 02 - - ) - -46 #iâdeà -O_CREAT - - -47  - #O_CREAT - 0100 - - ) - -49 #iâdeà -O_EXCL - - -50  - #O_EXCL - 0200 - - ) - -52 #iâdeà -O_NOCTTY - - -53  - #O_NOCTTY - 0400 - - ) - -55 #iâdeà -O_TRUNC - - -56  - #O_TRUNC - 01000 - - ) - -58 #iâdeà -O_APPEND - - -59  - #O_APPEND - 02000 - - ) - -61 #iâdeà -O_NONBLOCK - - -62  - #O_NONBLOCK - 04000 - - ) - -64 #iâdeà -O_NDELAY - - -65  - #O_NDELAY - -O_NONBLOCK - - - ) - -67 #iâdeà -O_SYNC - - -68  - #O_SYNC - 04010000 - - ) - -70  - #O_FSYNC - -O_SYNC - - - ) - -71 #iâdeà -O_ASYNC - - -72  - #O_ASYNC - 020000 - - ) - -74 #iâdeà -__O_LARGEFILE - - -75  - #__O_LARGEFILE - 0100000 - - ) - -78 #iâdeà -__O_DIRECTORY - - -79  - #__O_DIRECTORY - 0200000 - - ) - -81 #iâdeà -__O_NOFOLLOW - - -82  - #__O_NOFOLLOW - 0400000 - - ) - -84 #iâdeà -__O_CLOEXEC - - -85  - #__O_CLOEXEC - 02000000 - - ) - -87 #iâdeà -__O_DIRECT - - -88  - #__O_DIRECT - 040000 - - ) - -90 #iâdeà -__O_NOATIME - - -91  - #__O_NOATIME - 01000000 - - ) - -93 #iâdeà -__O_PATH - - -94  - #__O_PATH - 010000000 - - ) - -96 #iâdeà -__O_DSYNC - - -97  - #__O_DSYNC - 010000 - - ) - -99 #iâdeà -__O_TMPFILE - - -100  - #__O_TMPFILE - (020000000 | -__O_DIRECTORY -) - - ) - -103 #iâdeà -F_GETLK - - -104 #iâdeà -__USE_FILE_OFFSET64 - - -105  - #F_GETLK - 5 - - ) - -106  - #F_SETLK - 6 - - ) - -107  - #F_SETLKW - 7 - - ) - -109  - #F_GETLK - -F_GETLK64 - - - ) - -110  - #F_SETLK - -F_SETLK64 - - - ) - -111  - #F_SETLKW - -F_SETLKW64 - - - ) - -114 #iâdeà -F_GETLK64 - - -115  - #F_GETLK64 - 12 - - ) - -116  - #F_SETLK64 - 13 - - ) - -117  - #F_SETLKW64 - 14 - - ) - -131 #ifdeà -__USE_GNU - - -132  - #F_OFD_GETLK - 36 - - ) - -133  - #F_OFD_SETLK - 37 - - ) - -134  - #F_OFD_SETLKW - 38 - - ) - -137 #ifdeà -__USE_LARGEFILE64 - - -138  - #O_LARGEFILE - -__O_LARGEFILE - - - ) - -141 #ifdeà -__USE_XOPEN2K8 - - -142  - #O_DIRECTORY - -__O_DIRECTORY - - - ) - -143  - #O_NOFOLLOW - -__O_NOFOLLOW - - - ) - -144  - #O_CLOEXEC - -__O_CLOEXEC - - - ) - -147 #ifdeà -__USE_GNU - - -148  - #O_DIRECT - -__O_DIRECT - - - ) - -149  - #O_NOATIME - -__O_NOATIME - - - ) - -150  - #O_PATH - -__O_PATH - - - ) - -151  - #O_TMPFILE - -__O_TMPFILE - - - ) - -157 #ià -defšed - -__USE_POSIX199309 - || defšed -__USE_UNIX98 - - -158  - #O_DSYNC - -__O_DSYNC - - - ) - -159 #ià -defšed - -__O_RSYNC - - -160  - #O_RSYNC - -__O_RSYNC - - - ) - -162  - #O_RSYNC - -O_SYNC - - - ) - -167  - #F_DUPFD - 0 - - ) - -168  - #F_GETFD - 1 - - ) - -169  - #F_SETFD - 2 - - ) - -170  - #F_GETFL - 3 - - ) - -171  - #F_SETFL - 4 - - ) - -173 #iâdeà -__F_SETOWN - - -174  - #__F_SETOWN - 8 - - ) - -175  - #__F_GETOWN - 9 - - ) - -178 #ià -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K8 - - -179  - #F_SETOWN - -__F_SETOWN - - - ) - -180  - #F_GETOWN - -__F_GETOWN - - - ) - -183 #iâdeà -__F_SETSIG - - -184  - #__F_SETSIG - 10 - - ) - -185  - #__F_GETSIG - 11 - - ) - -187 #iâdeà -__F_SETOWN_EX - - -188  - #__F_SETOWN_EX - 15 - - ) - -189  - #__F_GETOWN_EX - 16 - - ) - -192 #ifdeà -__USE_GNU - - -193  - #F_SETSIG - -__F_SETSIG - - - ) - -194  - #F_GETSIG - -__F_GETSIG - - - ) - -195  - #F_SETOWN_EX - -__F_SETOWN_EX - - - ) - -196  - #F_GETOWN_EX - -__F_GETOWN_EX - - - ) - -199 #ifdeà -__USE_GNU - - -200  - #F_SETLEASE - 1024 - - ) - -201  - #F_GETLEASE - 1025 - - ) - -202  - #F_NOTIFY - 1026 - - ) - -203  - #F_SETPIPE_SZ - 1031 - - ) - -204  - #F_GETPIPE_SZ - 1032 - - ) - -206 #ifdeà -__USE_XOPEN2K8 - - -207  - #F_DUPFD_CLOEXEC - 1030 - - ) - -212  - #FD_CLOEXEC - 1 - - ) - -214 #iâdeà -F_RDLCK - - -216  - #F_RDLCK - 0 - - ) - -217  - #F_WRLCK - 1 - - ) - -218  - #F_UNLCK - 2 - - ) - -223 #iâdeà -F_EXLCK - - -224  - #F_EXLCK - 4 - - ) - -225  - #F_SHLCK - 8 - - ) - -228 #ifdeà -__USE_MISC - - -230  - #LOCK_SH - 1 - - ) - -231  - #LOCK_EX - 2 - - ) - -232  - #LOCK_NB - 4 - - ) - -234  - #LOCK_UN - 8 - - ) - -237 #ifdeà -__USE_GNU - - -238  - #LOCK_MAND - 32 - - ) - -239  - #LOCK_READ - 64 - - ) - -240  - #LOCK_WRITE - 128 - - ) - -241  - #LOCK_RW - 192 - - ) - -244 #ifdeà -__USE_GNU - - -246  - #DN_ACCESS - 0x00000001 - - ) - -247  - #DN_MODIFY - 0x00000002 - - ) - -248  - #DN_CREATE - 0x00000004 - - ) - -249  - #DN_DELETE - 0x00000008 - - ) - -250  - #DN_RENAME - 0x00000010 - - ) - -251  - #DN_ATTRIB - 0x00000020 - - ) - -252  - #DN_MULTISHOT - 0x80000000 - - ) - -256 #ifdeà -__USE_GNU - - -258 - e__pid_ty³ - - -260 - mF_OWNER_TID - = 0, - -261 - mF_OWNER_PID -, - -262 - mF_OWNER_PGRP -, - -263 - mF_OWNER_GID - = -F_OWNER_PGRP - - -267  - sf_owÃr_ex - - -269 -__pid_ty³ - - mty³ -; - -270 -__pid_t - - mpid -; - -276 #ifdef -__USE_MISC - - -277  - #FAPPEND - -O_APPEND - - - ) - -278  - #FFSYNC - -O_FSYNC - - - ) - -279  - #FASYNC - -O_ASYNC - - - ) - -280  - #FNONBLOCK - -O_NONBLOCK - - - ) - -281  - #FNDELAY - -O_NDELAY - - - ) - -284 #iâdeà -__POSIX_FADV_DONTNEED - - -285  - #__POSIX_FADV_DONTNEED - 4 - - ) - -286  - #__POSIX_FADV_NOREUSE - 5 - - ) - -289 #ifdeà -__USE_XOPEN2K - - -290  - #POSIX_FADV_NORMAL - 0 - - ) - -291  - #POSIX_FADV_RANDOM - 1 - - ) - -292  - #POSIX_FADV_SEQUENTIAL - 2 - - ) - -293  - #POSIX_FADV_WILLNEED - 3 - - ) - -294  - #POSIX_FADV_DONTNEED - -__POSIX_FADV_DONTNEED - - - ) - -295  - #POSIX_FADV_NOREUSE - -__POSIX_FADV_NOREUSE - - - ) - -299 #ifdeà -__USE_GNU - - -301  - #SYNC_FILE_RANGE_WAIT_BEFORE - 1 - - ) - -304  - #SYNC_FILE_RANGE_WRITE - 2 - - ) - -307  - #SYNC_FILE_RANGE_WAIT_AFTER - 4 - - ) - -312  - #SPLICE_F_MOVE - 1 - - ) - -313  - #SPLICE_F_NONBLOCK - 2 - - ) - -316  - #SPLICE_F_MORE - 4 - - ) - -317  - #SPLICE_F_GIFT - 8 - - ) - -321  - #FALLOC_FL_KEEP_SIZE - 1 - - ) - -324  - #FALLOC_FL_PUNCH_HOLE - 2 - - ) - -325  - #FALLOC_FL_COLLAPSE_RANGE - 8 - - ) - -328  - #FALLOC_FL_ZERO_RANGE - 16 - - ) - -333  - sfže_hªdË - - -335  - mhªdË_by‹s -; - -336  - mhªdË_ty³ -; - -338  - mf_hªdË -[0]; - -342  - #MAX_HANDLE_SZ - 128 - - ) - -346 #ifdeà -__USE_ATFILE - - -347  - #AT_FDCWD - -100 - - ) - -350  - #AT_SYMLINK_NOFOLLOW - 0x100 - - ) - -351  - #AT_REMOVEDIR - 0x200 - - ) - -353  - #AT_SYMLINK_FOLLOW - 0x400 - - ) - -354 #ifdeà -__USE_GNU - - -355  - #AT_NO_AUTOMOUNT - 0x800 - - ) - -357  - #AT_EMPTY_PATH - 0x1000 - - ) - -359  - #AT_EACCESS - 0x200 - - ) - -363 - g__BEGIN_DECLS - - -365 #ifdeà -__USE_GNU - - -368 -ssize_t - - $»adah—d - ( -__fd -, -__off64_t - -__off£t -, -size_t - -__couÁ -) - -369 -__THROW -; - -376  - `sync_fže_¿nge - ( -__fd -, -__off64_t - -__off£t -, __off64_ˆ -__couÁ -, - -377  -__æags -); - -384 -ssize_t - - `vm¥liû - ( -__fdout -, cÚ¡  -iovec - * -__iov -, - -385 -size_t - -__couÁ -,  -__æags -); - -391 -ssize_t - - `¥liû - ( -__fdš -, -__off64_t - * -__offš -,  -__fdout -, - -392 -__off64_t - * -__offout -, -size_t - -__Ën -, - -393  -__æags -); - -399 -ssize_t - - `‹e - ( -__fdš -,  -__fdout -, -size_t - -__Ën -, - -400  -__æags -); - -406 #iâdeà -__USE_FILE_OFFSET64 - - -407  - `çÎoÿ‹ - ( -__fd -,  -__mode -, -__off_t - -__off£t -, __off_ˆ -__Ën -); - -409 #ifdeà -__REDIRECT - - -410  - `__REDIRECT - ( -çÎoÿ‹ -, ( -__fd -,  -__mode -, -__off64_t - -__off£t -, - -411 -__off64_t - -__Ën -), - -412 -çÎoÿ‹64 -); - -414  - #çÎoÿ‹ - -çÎoÿ‹64 - - - ) - -417 #ifdeà -__USE_LARGEFILE64 - - -418  - `çÎoÿ‹64 - ( -__fd -,  -__mode -, -__off64_t - -__off£t -, - -419 -__off64_t - -__Ën -); - -424  - $Çme_to_hªdË_© - ( -__dfd -, cÚ¡ * -__Çme -, - -425  -fže_hªdË - * -__hªdË -, * -__mÁ_id -, - -426  -__æags -è -__THROW -; - -432  - `ݒ_by_hªdË_© - ( -__mouÁdœfd -,  -fže_hªdË - * -__hªdË -, - -433  -__æ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štf -) - - @/usr/include/bits/libm-simd-decl-stubs.h - -19 #iâdeà -_MATH_H - - -33 #iâdeà -_BITS_LIBM_SIMD_DECL_STUBS_H - - -34  - #_BITS_LIBM_SIMD_DECL_STUBS_H - 1 - - ) - -36  - #__DECL_SIMD_cos - - - ) - -37  - #__DECL_SIMD_cosf - - - ) - -38  - #__DECL_SIMD_co¦ - - - ) - -40  - #__DECL_SIMD_sš - - - ) - -41  - #__DECL_SIMD_sšf - - - ) - -42  - #__DECL_SIMD_sšl - - - ) - -44  - #__DECL_SIMD_sšcos - - - ) - -45  - #__DECL_SIMD_sšcosf - - - ) - -46  - #__DECL_SIMD_sšco¦ - - - ) - -48  - #__DECL_SIMD_log - - - ) - -49  - #__DECL_SIMD_logf - - - ) - -50  - #__DECL_SIMD_logl - - - ) - -52  - #__DECL_SIMD_exp - - - ) - -53  - #__DECL_SIMD_expf - - - ) - -54  - #__DECL_SIMD_ex¶ - - - ) - -56  - #__DECL_SIMD_pow - - - ) - -57  - #__DECL_SIMD_powf - - - ) - -58  - #__DECL_SIMD_powl - - - ) - - @/usr/include/bits/posix1_lim.h - -24 #iâdef -_BITS_POSIX1_LIM_H - - -25  - #_BITS_POSIX1_LIM_H - 1 - - ) - -31  - #_POSIX_AIO_LISTIO_MAX - 2 - - ) - -34  - #_POSIX_AIO_MAX - 1 - - ) - -37  - #_POSIX_ARG_MAX - 4096 - - ) - -40 #ifdeà -__USE_XOPEN2K - - -41  - #_POSIX_CHILD_MAX - 25 - - ) - -43  - #_POSIX_CHILD_MAX - 6 - - ) - -47  - #_POSIX_DELAYTIMER_MAX - 32 - - ) - -51  - #_POSIX_HOST_NAME_MAX - 255 - - ) - -54  - #_POSIX_LINK_MAX - 8 - - ) - -57  - #_POSIX_LOGIN_NAME_MAX - 9 - - ) - -60  - #_POSIX_MAX_CANON - 255 - - ) - -64  - #_POSIX_MAX_INPUT - 255 - - ) - -67  - #_POSIX_MQ_OPEN_MAX - 8 - - ) - -70  - #_POSIX_MQ_PRIO_MAX - 32 - - ) - -73  - #_POSIX_NAME_MAX - 14 - - ) - -76 #ifdeà -__USE_XOPEN2K - - -77  - #_POSIX_NGROUPS_MAX - 8 - - ) - -79  - #_POSIX_NGROUPS_MAX - 0 - - ) - -83 #ifdeà -__USE_XOPEN2K - - -84  - #_POSIX_OPEN_MAX - 20 - - ) - -86  - #_POSIX_OPEN_MAX - 16 - - ) - -89 #ià! -defšed - -__USE_XOPEN2K - || defšed -__USE_GNU - - -92  - #_POSIX_FD_SETSIZE - -_POSIX_OPEN_MAX - - - ) - -96  - #_POSIX_PATH_MAX - 256 - - ) - -99  - #_POSIX_PIPE_BUF - 512 - - ) - -103  - #_POSIX_RE_DUP_MAX - 255 - - ) - -106  - #_POSIX_RTSIG_MAX - 8 - - ) - -109  - #_POSIX_SEM_NSEMS_MAX - 256 - - ) - -112  - #_POSIX_SEM_VALUE_MAX - 32767 - - ) - -115  - #_POSIX_SIGQUEUE_MAX - 32 - - ) - -118  - #_POSIX_SSIZE_MAX - 32767 - - ) - -121  - #_POSIX_STREAM_MAX - 8 - - ) - -124  - #_POSIX_SYMLINK_MAX - 255 - - ) - -128  - #_POSIX_SYMLOOP_MAX - 8 - - ) - -131  - #_POSIX_TIMER_MAX - 32 - - ) - -134  - #_POSIX_TTY_NAME_MAX - 9 - - ) - -137 #ifdeà -__USE_XOPEN2K - - -138  - #_POSIX_TZNAME_MAX - 6 - - ) - -140  - #_POSIX_TZNAME_MAX - 3 - - ) - -143 #ià! -defšed - -__USE_XOPEN2K - || defšed -__USE_GNU - - -145  - #_POSIX_QLIMIT - 1 - - ) - -149  - #_POSIX_HIWAT - -_POSIX_PIPE_BUF - - - ) - -152  - #_POSIX_UIO_MAXIOV - 16 - - ) - -156  - #_POSIX_CLOCKRES_MIN - 20000000 - - ) - -160  - ~ - -163 #iâdef -SSIZE_MAX - - -164  - #SSIZE_MAX - -LONG_MAX - - - ) - -171 #iâdef -NGROUPS_MAX - - -172  - #NGROUPS_MAX - 8 - - ) - - @/usr/include/bits/posix2_lim.h - -22 #iâdef -_BITS_POSIX2_LIM_H - - -23  - #_BITS_POSIX2_LIM_H - 1 - - ) - -27  - #_POSIX2_BC_BASE_MAX - 99 - - ) - -30  - #_POSIX2_BC_DIM_MAX - 2048 - - ) - -33  - #_POSIX2_BC_SCALE_MAX - 99 - - ) - -36  - #_POSIX2_BC_STRING_MAX - 1000 - - ) - -40  - #_POSIX2_COLL_WEIGHTS_MAX - 2 - - ) - -44  - #_POSIX2_EXPR_NEST_MAX - 32 - - ) - -47  - #_POSIX2_LINE_MAX - 2048 - - ) - -51  - #_POSIX2_RE_DUP_MAX - 255 - - ) - -55  - #_POSIX2_CHARCLASS_NAME_MAX - 14 - - ) - -62 #iâdef -BC_BASE_MAX - - -63  - #BC_BASE_MAX - -_POSIX2_BC_BASE_MAX - - - ) - -65 #iâdef -BC_DIM_MAX - - -66  - #BC_DIM_MAX - -_POSIX2_BC_DIM_MAX - - - ) - -68 #iâdef -BC_SCALE_MAX - - -69  - #BC_SCALE_MAX - -_POSIX2_BC_SCALE_MAX - - - ) - -71 #iâdef -BC_STRING_MAX - - -72  - #BC_STRING_MAX - -_POSIX2_BC_STRING_MAX - - - ) - -74 #iâdef -COLL_WEIGHTS_MAX - - -75  - #COLL_WEIGHTS_MAX - 255 - - ) - -77 #iâdef -EXPR_NEST_MAX - - -78  - #EXPR_NEST_MAX - -_POSIX2_EXPR_NEST_MAX - - - ) - -80 #iâdef -LINE_MAX - - -81  - #LINE_MAX - -_POSIX2_LINE_MAX - - - ) - -83 #iâdef -CHARCLASS_NAME_MAX - - -84  - #CHARCLASS_NAME_MAX - 2048 - - ) - -88  - #RE_DUP_MAX - (0x7fff) - - ) - - @/usr/include/bits/select.h - -18 #iâdeà -_SYS_SELECT_H - - -22  - ~ - -25 #ià -defšed - -__GNUC__ - && __GNUC__ >= 2 - -27 #ià -__WORDSIZE - == 64 - -28  - #__FD_ZERO_STOS - "¡osq" - - ) - -30  - #__FD_ZERO_STOS - "¡o¦" - - ) - -33  - #__FD_ZERO -( -fd¥ -) \ - -35  -__d0 -, -__d1 -; \ - -36 -__asm__ - - `__vÞ©že__ - ("þd;„•; " -__FD_ZERO_STOS - \ - -37 : "=c" ( -__d0 -), "=D" ( -__d1 -) \ - -38 : "a" (0), "0" ( ( -fd_£t -) \ - -39 /  ( -__fd_mask -)), \ - -40 "1" (& - `__FDS_BITS - ( -fd¥ -)[0]) \ - -42 } 0) - - ) - -48  - #__FD_ZERO -( -£t -) \ - -50  -__i -; \ - -51 -fd_£t - * -__¬r - = ( -£t -); \ - -52  -__i - = 0; __˜<  ( -fd_£t -è/  ( -__fd_mask -); ++__i) \ - -53 - `__FDS_BITS - ( -__¬r -)[ -__i -] = 0; \ - -54 } 0) - - ) - -58  - #__FD_SET -( -d -, -£t -) \ - -59 ((è( - `__FDS_BITS - ( -£t -)[ - `__FD_ELT - ( -d -)] |ð - `__FD_MASK - (d))) - - ) - -60  - #__FD_CLR -( -d -, -£t -) \ - -61 ((è( - `__FDS_BITS - ( -£t -)[ - `__FD_ELT - ( -d -)] &ð~ - `__FD_MASK - (d))) - - ) - -62  - #__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  -__fd–t_chk - ( -__d -); - -25  - $__fd–t_w¬n - ( -__d -) - -26 - `__w¬Ç‰r - ("bit outside of fd_set selected"); - -27 #undeà -__FD_ELT - - -28  - #__FD_ELT -( -d -) \ - -29 -__ex‹nsiÚ__ - \ - -30 ({  -__d - = ( -d -); \ - -31 ( - `__bužtš_cÚ¡ªt_p - ( -__d -) \ - -32 ? (0 <ð -__d - && __d < -__FD_SETSIZE - \ - -33 ? ( -__d - / -__NFDBITS -) \ - -34 : - `__fd–t_w¬n - ( -__d -)) \ - -35 : - `__fd–t_chk - ( -__d -)); - } -}) - - ) - - @/usr/include/bits/sockaddr.h - -23 #iâdeà -_BITS_SOCKADDR_H - - -24  - #_BITS_SOCKADDR_H - 1 - - ) - -28  - t§_çmžy_t -; - -34  - #__SOCKADDR_COMMON -( -§_´efix -) \ - -35 -§_çmžy_t - -§_´efix -## -çmžy - - - ) - -37  - #__SOCKADDR_COMMON_SIZE - ( ()) - - ) - -40  - #_SS_SIZE - 128 - - ) - - @/usr/include/bits/socket_type.h - -19 #iâdeà -_SYS_SOCKET_H - - -24 - e__sock‘_ty³ - - -26 - mSOCK_STREAM - = 1, - -28  - #SOCK_STREAM - -SOCK_STREAM - - - ) - -29 - mSOCK_DGRAM - = 2, - -31  - #SOCK_DGRAM - -SOCK_DGRAM - - - ) - -32 - mSOCK_RAW - = 3, - -33  - #SOCK_RAW - -SOCK_RAW - - - ) - -34 - mSOCK_RDM - = 4, - -35  - #SOCK_RDM - -SOCK_RDM - - - ) - -36 - mSOCK_SEQPACKET - = 5, - -38  - #SOCK_SEQPACKET - -SOCK_SEQPACKET - - - ) - -39 - mSOCK_DCCP - = 6, - -40  - #SOCK_DCCP - -SOCK_DCCP - - - ) - -41 - mSOCK_PACKET - = 10, - -44  - #SOCK_PACKET - -SOCK_PACKET - - - ) - -49 - mSOCK_CLOEXEC - = 02000000, - -51  - #SOCK_CLOEXEC - -SOCK_CLOEXEC - - - ) - -52 - mSOCK_NONBLOCK - = 00004000 - -54  - #SOCK_NONBLOCK - -SOCK_NONBLOCK - - - ) - - @/usr/include/bits/timex.h - -18 #iâdef -_BITS_TIMEX_H - - -19  - #_BITS_TIMEX_H - 1 - - ) - -21  - ~ - -25  - stimex - - -27  - mmodes -; - -28 -__sysÿÎ_¦Úg_t - - moff£t -; - -29 -__sysÿÎ_¦Úg_t - - mäeq -; - -30 -__sysÿÎ_¦Úg_t - - mmax”rÜ -; - -31 -__sysÿÎ_¦Úg_t - - me¡”rÜ -; - -32  - m¡©us -; - -33 -__sysÿÎ_¦Úg_t - - mcÚ¡ªt -; - -34 -__sysÿÎ_¦Úg_t - - m´ecisiÚ -; - -35 -__sysÿÎ_¦Úg_t - - mtޔªû -; - -36  -timev® - - mtime -; - -37 -__sysÿÎ_¦Úg_t - - mtick -; - -38 -__sysÿÎ_¦Úg_t - - mµsäeq -; - -39 -__sysÿÎ_¦Úg_t - - mj™‹r -; - -40  - mshiá -; - -41 -__sysÿÎ_¦Úg_t - - m¡abž -; - -42 -__sysÿÎ_¦Úg_t - - mj™út -; - -43 -__sysÿÎ_¦Úg_t - - mÿlút -; - -44 -__sysÿÎ_¦Úg_t - - m”rút -; - -45 -__sysÿÎ_¦Úg_t - - m¡bút -; - -47  - mi -; - -56  - #ADJ_OFFSET - 0x0001 - - ) - -57  - #ADJ_FREQUENCY - 0x0002 - - ) - -58  - #ADJ_MAXERROR - 0x0004 - - ) - -59  - #ADJ_ESTERROR - 0x0008 - - ) - -60  - #ADJ_STATUS - 0x0010 - - ) - -61  - #ADJ_TIMECONST - 0x0020 - - ) - -62  - #ADJ_TAI - 0x0080 - - ) - -63  - #ADJ_SETOFFSET - 0x0100 - - ) - -64  - #ADJ_MICRO - 0x1000 - - ) - -65  - #ADJ_NANO - 0x2000 - - ) - -66  - #ADJ_TICK - 0x4000 - - ) - -67  - #ADJ_OFFSET_SINGLESHOT - 0x8001 - - ) - -68  - #ADJ_OFFSET_SS_READ - 0xa001 - - ) - -71  - #MOD_OFFSET - -ADJ_OFFSET - - - ) - -72  - #MOD_FREQUENCY - -ADJ_FREQUENCY - - - ) - -73  - #MOD_MAXERROR - -ADJ_MAXERROR - - - ) - -74  - #MOD_ESTERROR - -ADJ_ESTERROR - - - ) - -75  - #MOD_STATUS - -ADJ_STATUS - - - ) - -76  - #MOD_TIMECONST - -ADJ_TIMECONST - - - ) - -77  - #MOD_CLKB - -ADJ_TICK - - - ) - -78  - #MOD_CLKA - -ADJ_OFFSET_SINGLESHOT - - - ) - -79  - #MOD_TAI - -ADJ_TAI - - - ) - -80  - #MOD_MICRO - -ADJ_MICRO - - - ) - -81  - #MOD_NANO - -ADJ_NANO - - - ) - -85  - #STA_PLL - 0x0001 - - ) - -86  - #STA_PPSFREQ - 0x0002 - - ) - -87  - #STA_PPSTIME - 0x0004 - - ) - -88  - #STA_FLL - 0x0008 - - ) - -90  - #STA_INS - 0x0010 - - ) - -91  - #STA_DEL - 0x0020 - - ) - -92  - #STA_UNSYNC - 0x0040 - - ) - -93  - #STA_FREQHOLD - 0x0080 - - ) - -95  - #STA_PPSSIGNAL - 0x0100 - - ) - -96  - #STA_PPSJITTER - 0x0200 - - ) - -97  - #STA_PPSWANDER - 0x0400 - - ) - -98  - #STA_PPSERROR - 0x0800 - - ) - -100  - #STA_CLOCKERR - 0x1000 - - ) - -101  - #STA_NANO - 0x2000 - - ) - -102  - #STA_MODE - 0x4000 - - ) - -103  - #STA_CLK - 0x8000 - - ) - -106  - #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  - #_BITS_TYPESIZES_H - 1 - - ) - -30 #ià -defšed - -__x86_64__ - && defšed -__ILP32__ - - -31  - #__SYSCALL_SLONG_TYPE - -__SQUAD_TYPE - - - ) - -32  - #__SYSCALL_ULONG_TYPE - -__UQUAD_TYPE - - - ) - -34  - #__SYSCALL_SLONG_TYPE - -__SLONGWORD_TYPE - - - ) - -35  - #__SYSCALL_ULONG_TYPE - -__ULONGWORD_TYPE - - - ) - -38  - #__DEV_T_TYPE - -__UQUAD_TYPE - - - ) - -39  - #__UID_T_TYPE - -__U32_TYPE - - - ) - -40  - #__GID_T_TYPE - -__U32_TYPE - - - ) - -41  - #__INO_T_TYPE - -__SYSCALL_ULONG_TYPE - - - ) - -42  - #__INO64_T_TYPE - -__UQUAD_TYPE - - - ) - -43  - #__MODE_T_TYPE - -__U32_TYPE - - - ) - -44 #ifdeà -__x86_64__ - - -45  - #__NLINK_T_TYPE - -__SYSCALL_ULONG_TYPE - - - ) - -46  - #__FSWORD_T_TYPE - -__SYSCALL_SLONG_TYPE - - - ) - -48  - #__NLINK_T_TYPE - -__UWORD_TYPE - - - ) - -49  - #__FSWORD_T_TYPE - -__SWORD_TYPE - - - ) - -51  - #__OFF_T_TYPE - -__SYSCALL_SLONG_TYPE - - - ) - -52  - #__OFF64_T_TYPE - -__SQUAD_TYPE - - - ) - -53  - #__PID_T_TYPE - -__S32_TYPE - - - ) - -54  - #__RLIM_T_TYPE - -__SYSCALL_ULONG_TYPE - - - ) - -55  - #__RLIM64_T_TYPE - -__UQUAD_TYPE - - - ) - -56  - #__BLKCNT_T_TYPE - -__SYSCALL_SLONG_TYPE - - - ) - -57  - #__BLKCNT64_T_TYPE - -__SQUAD_TYPE - - - ) - -58  - #__FSBLKCNT_T_TYPE - -__SYSCALL_ULONG_TYPE - - - ) - -59  - #__FSBLKCNT64_T_TYPE - -__UQUAD_TYPE - - - ) - -60  - #__FSFILCNT_T_TYPE - -__SYSCALL_ULONG_TYPE - - - ) - -61  - #__FSFILCNT64_T_TYPE - -__UQUAD_TYPE - - - ) - -62  - #__ID_T_TYPE - -__U32_TYPE - - - ) - -63  - #__CLOCK_T_TYPE - -__SYSCALL_SLONG_TYPE - - - ) - -64  - #__TIME_T_TYPE - -__SYSCALL_SLONG_TYPE - - - ) - -65  - #__USECONDS_T_TYPE - -__U32_TYPE - - - ) - -66  - #__SUSECONDS_T_TYPE - -__SYSCALL_SLONG_TYPE - - - ) - -67  - #__DADDR_T_TYPE - -__S32_TYPE - - - ) - -68  - #__KEY_T_TYPE - -__S32_TYPE - - - ) - -69  - #__CLOCKID_T_TYPE - -__S32_TYPE - - - ) - -70  - #__TIMER_T_TYPE - * - - ) - -71  - #__BLKSIZE_T_TYPE - -__SYSCALL_SLONG_TYPE - - - ) - -72  - #__FSID_T_TYPE - sŒuù {  -__v® -[2]; } - - ) - -73  - #__SSIZE_T_TYPE - -__SWORD_TYPE - - - ) - -74  - #__CPU_MASK_TYPE - -__SYSCALL_ULONG_TYPE - - - ) - -76 #ifdeà -__x86_64__ - - -80  - #__OFF_T_MATCHES_OFF64_T - 1 - - ) - -83  - #__INO_T_MATCHES_INO64_T - 1 - - ) - -87  - #__FD_SETSIZE - 1024 - - ) - - @/usr/include/bits/uio.h - -18 #ià! -defšed - -_SYS_UIO_H - && !defšed -_FCNTL_H - - -22 #iâdeà -_BITS_UIO_H - - -23  - #_BITS_UIO_H - 1 - - ) - -25  - ~ - -39  - #UIO_MAXIOV - 1024 - - ) - -43  - siovec - - -45 * - miov_ba£ -; - -46 -size_t - - miov_Ën -; - -52 #ifdeà -__USE_GNU - - -53 #ià -defšed - -_SYS_UIO_H - && !defšed -_BITS_UIO_H_FOR_SYS_UIO_H - - -54  - #_BITS_UIO_H_FOR_SYS_UIO_H - 1 - - ) - -56 -__BEGIN_DECLS - - -59 -ssize_t - - $´oûss_vm_»adv - ( -pid_t - -__pid -, cÚ¡  -iovec - * -__lvec -, - -60  -__liovút -, - -61 cÚ¡  -iovec - * -__rvec -, - -62  -__riovút -, - -63  -__æags -) - -64 -__THROW -; - -67 -ssize_t - - $´oûss_vm_wr™ev - ( -pid_t - -__pid -, cÚ¡  -iovec - * -__lvec -, - -68  -__liovút -, - -69 cÚ¡  -iovec - * -__rvec -, - -70  -__riovút -, - -71  -__æags -) - -72 -__THROW -; - -74 -__END_DECLS - - - @/usr/include/bits/xopen_lim.h - -29 #iâdeà -_XOPEN_LIM_H - - -30  - #_XOPEN_LIM_H - 1 - - ) - -32  - #__Ãed_IOV_MAX - - - ) - -33  - ~ - -65  - #_XOPEN_IOV_MAX - -_POSIX_UIO_MAXIOV - - - ) - -70  - #NL_ARGMAX - -_POSIX_ARG_MAX - - - ) - -73  - #NL_LANGMAX - -_POSIX2_LINE_MAX - - - ) - -76  - #NL_MSGMAX - -INT_MAX - - - ) - -80  - #NL_NMAX - -INT_MAX - - - ) - -83  - #NL_SETMAX - -INT_MAX - - - ) - -86  - #NL_TEXTMAX - -INT_MAX - - - ) - -89  - #NZERO - 20 - - ) - -93 #ifdeà -INT_MAX - - -94 #ià -INT_MAX - == 32767 - -95  - #WORD_BIT - 16 - - ) - -97 #ià -INT_MAX - == 2147483647 - -98  - #WORD_BIT - 32 - - ) - -101  - #WORD_BIT - 64 - - ) - -104 #–ià -defšed - -__INT_MAX__ - - -105 #ià -__INT_MAX__ - == 32767 - -106  - #WORD_BIT - 16 - - ) - -108 #ià -__INT_MAX__ - == 2147483647 - -109  - #WORD_BIT - 32 - - ) - -112  - #WORD_BIT - 64 - - ) - -116  - #WORD_BIT - 32 - - ) - -120 #ifdeà -LONG_MAX - - -121 #ià -LONG_MAX - == 2147483647 - -122  - #LONG_BIT - 32 - - ) - -125  - #LONG_BIT - 64 - - ) - -127 #–ià -defšed - -__LONG_MAX__ - - -128 #ià -__LONG_MAX__ - == 2147483647 - -129  - #LONG_BIT - 32 - - ) - -132  - #LONG_BIT - 64 - - ) - -135  - ~ - -136 #ià -__WORDSIZE - == 64 - -137  - #LONG_BIT - 64 - - ) - -139  - #LONG_BIT - 32 - - ) - - @/usr/include/gnu/stubs.h - -6 #ià! -defšed - -__x86_64__ - - -7  - ~ - -9 #ià -defšed - -__x86_64__ - && defšed -__LP64__ - - -10  - ~ - -12 #ià -defšed - -__x86_64__ - && defšed -__ILP32__ - - -13  - ~ - - @/usr/include/linux/errno.h - -1  - ~ - - @/usr/include/linux/limits.h - -1 #iâdeà -_LINUX_LIMITS_H - - -2  - #_LINUX_LIMITS_H - - - ) - -4  - #NR_OPEN - 1024 - - ) - -6  - #NGROUPS_MAX - 65536 - - ) - -7  - #ARG_MAX - 131072 - - ) - -8  - #LINK_MAX - 127 - - ) - -9  - #MAX_CANON - 255 - - ) - -10  - #MAX_INPUT - 255 - - ) - -11  - #NAME_MAX - 255 - - ) - -12  - #PATH_MAX - 4096 - - ) - -13  - #PIPE_BUF - 4096 - - ) - -14  - #XATTR_NAME_MAX - 255 - - ) - -15  - #XATTR_SIZE_MAX - 65536 - - ) - -16  - #XATTR_LIST_MAX - 65536 - - ) - -18  - #RTSIG_MAX - 32 - - ) - - @/usr/include/linux/param.h - -1 #iâdeà -_LINUX_PARAM_H - - -2  - #_LINUX_PARAM_H - - - ) - -4  - ~ - - @/usr/include/stdc-predef.h - -18 #iâdef -_STDC_PREDEF_H - - -19  - #_STDC_PREDEF_H - 1 - - ) - -36 #ifdeà -__GCC_IEC_559 - - -37 #ià -__GCC_IEC_559 - > 0 - -38  - #__STDC_IEC_559__ - 1 - - ) - -41  - #__STDC_IEC_559__ - 1 - - ) - -44 #ifdeà -__GCC_IEC_559_COMPLEX - - -45 #ià -__GCC_IEC_559_COMPLEX - > 0 - -46  - #__STDC_IEC_559_COMPLEX__ - 1 - - ) - -49  - #__STDC_IEC_559_COMPLEX__ - 1 - - ) - -55  - #__STDC_ISO_10646__ - 201505L - - ) - -58  - #__STDC_NO_THREADS__ - 1 - - ) - - @/usr/include/sys/cdefs.h - -18 #iâdef -_SYS_CDEFS_H - - -19  - #_SYS_CDEFS_H - 1 - - ) - -22 #iâdeà -_FEATURES_H - - -23  - ~<ã©u»s.h -> - -29 #ià -defšed - -__GNUC__ - && !defšed -__STDC__ - - -34 #undeà -__P - - -35 #undeà -__PMT - - -37 #ifdeà -__GNUC__ - - -41 #ià -__GNUC_PREREQ - (4, 6è&& ! -defšed - -_LIBC - - -42  - #__LEAF - , -__Ëaf__ - - - ) - -43  - #__LEAF_ATTR - - `__©Œibu‹__ - (( -__Ëaf__ -)) - - ) - -45  - #__LEAF - - - ) - -46  - #__LEAF_ATTR - - - ) - -54 #ià! -defšed - -__ýlu¥lus - && -__GNUC_PREREQ - (3, 3) - -55  - #__THROW - - `__©Œibu‹__ - (( -__nÙhrow__ - -__LEAF -)) - - ) - -56  - #__THROWNL - - `__©Œibu‹__ - (( -__nÙhrow__ -)) - - ) - -57  - #__NTH -( -fù -è - `__©Œibu‹__ - (( -__nÙhrow__ - -__LEAF -)è - ) -fct - -59 #ià -defšed - -__ýlu¥lus - && -__GNUC_PREREQ - (2,8) - -60  - #__THROW - - `throw - () - - ) - -61  - #__THROWNL - - `throw - () - - ) - -62  - #__NTH -( -fù -è -__LEAF_ATTR - fù - `throw - () - - ) - -64  - #__THROW - - - ) - -65  - #__THROWNL - - - ) - -66  - #__NTH -( -fù -è - ) -fct - -72  - #__šlše - - - ) - -74  - #__THROW - - - ) - -75  - #__THROWNL - - - ) - -76  - #__NTH -( -fù -è - ) -fct - -82  - #__P -( -¬gs -è - ) -args - -83  - #__PMT -( -¬gs -è - ) -args - -88  - #__CONCAT -( -x -, -y -èx ## - ) -y - -89  - #__STRING -( -x -è#x - - ) - -92  - #__±r_t - * - - ) - -93  - #__lÚg_doubË_t -  - - ) - -97 #ifdef -__ýlu¥lus - - -98  - #__BEGIN_DECLS - "C" { - - ) - -99  - #__END_DECLS - } - - ) - -101  - #__BEGIN_DECLS - - - ) - -102  - #__END_DECLS - - - ) - -111 #ià -defšed - -__ýlu¥lus - && defšed -_GLIBCPP_USE_NAMESPACES - - -112  - #__BEGIN_NAMESPACE_STD - -Çme¥aû - -¡d - { - - ) - -113  - #__END_NAMESPACE_STD - } - - ) - -114  - #__USING_NAMESPACE_STD -( -Çme -è -usšg - -¡d -::Çme; - - ) - -115  - #__BEGIN_NAMESPACE_C99 - -Çme¥aû - -__c99 - { - - ) - -116  - #__END_NAMESPACE_C99 - } - - ) - -117  - #__USING_NAMESPACE_C99 -( -Çme -è -usšg - -__c99 -::Çme; - - ) - -122  - #__BEGIN_NAMESPACE_STD - - - ) - -123  - #__END_NAMESPACE_STD - - - ) - -124  - #__USING_NAMESPACE_STD -( -Çme -) - - ) - -125  - #__BEGIN_NAMESPACE_C99 - - - ) - -126  - #__END_NAMESPACE_C99 - - - ) - -127  - #__USING_NAMESPACE_C99 -( -Çme -) - - ) - -132  - #__bos -( -±r -è - `__bužtš_objeù_size - (±r, -__USE_FORTIFY_LEVEL - > 1) - - ) - -133  - #__bos0 -( -±r -è - `__bužtš_objeù_size - (±r, 0) - - ) - -135 #ià -__GNUC_PREREQ - (4,3) - -136  - #__w¬ndeþ -( -Çme -, -msg -) \ - -137  - `Çme - (è - `__©Œibu‹__ -(( - `__w¬nšg__ - ( -msg -))) - - ) - -138  - #__w¬Ç‰r -( -msg -è - `__©Œibu‹__ -(( - `__w¬nšg__ - (msg))) - - ) - -139  - #__”rÜdeþ -( -Çme -, -msg -) \ - -140  - `Çme - (è - `__©Œibu‹__ -(( - `__”rÜ__ - ( -msg -))) - - ) - -142  - #__w¬ndeþ -( -Çme -, -msg -è  - `Çme - () - - ) - -143  - #__w¬Ç‰r -( -msg -) - - ) - -144  - #__”rÜdeþ -( -Çme -, -msg -è  - `Çme - () - - ) - -148 #ià -__GNUC_PREREQ - (2,97) - -150  - #__æex¬r - [] - - ) - -152 #ifdeà -__GNUC__ - - -153  - #__æex¬r - [0] - - ) - -155 #ià -defšed - -__STDC_VERSION__ - && __STDC_VERSION__ >= 199901L - -156  - #__æex¬r - [] - - ) - -159  - #__æex¬r - [1] - - ) - -175 #ià -defšed - -__GNUC__ - && __GNUC__ >= 2 - -177  - #__REDIRECT -( -Çme -, -´Ùo -, -®Ÿs -èÇm´ÙØ - `__asm__ - ( - `__ASMNAME - (#®Ÿs)) - - ) - -178 #ifdeà -__ýlu¥lus - - -179  - #__REDIRECT_NTH -( -Çme -, -´Ùo -, -®Ÿs -) \ - -180 -Çme - -´Ùo - -__THROW - - `__asm__ - ( - `__ASMNAME - (#®Ÿs)) - - ) - -181  - #__REDIRECT_NTHNL -( -Çme -, -´Ùo -, -®Ÿs -) \ - -182 -Çme - -´Ùo - -__THROWNL - - `__asm__ - ( - `__ASMNAME - (#®Ÿs)) - - ) - -184  - #__REDIRECT_NTH -( -Çme -, -´Ùo -, -®Ÿs -) \ - -185 -Çme - -´Ùo - - `__asm__ - ( - `__ASMNAME - (#®Ÿs)è -__THROW - - - ) - -186  - #__REDIRECT_NTHNL -( -Çme -, -´Ùo -, -®Ÿs -) \ - -187 -Çme - -´Ùo - - `__asm__ - ( - `__ASMNAME - (#®Ÿs)è -__THROWNL - - - ) - -189  - #__ASMNAME -( -úame -è - `__ASMNAME2 - ( -__USER_LABEL_PREFIX__ -, cÇme) - - ) - -190  - #__ASMNAME2 -( -´efix -, -úame -è - `__STRING - (´efixè - ) -cname - -203 #ià! -defšed - -__GNUC__ - || __GNUC__ < 2 - -204  - #__©Œibu‹__ -( -xyz -è - - ) - -210 #ià -__GNUC_PREREQ - (2,96) - -211  - #__©Œibu‹_m®loc__ - - `__©Œibu‹__ - (( -__m®loc__ -)) - - ) - -213  - #__©Œibu‹_m®loc__ - - - ) - -218 #ià -__GNUC_PREREQ - (4, 3) - -219  - #__©Œibu‹_®loc_size__ -( -·¿ms -) \ - -220 - `__©Œibu‹__ - (( -__®loc_size__ - -·¿ms -)) - - ) - -222  - #__©Œibu‹_®loc_size__ -( -·¿ms -è - - ) - -228 #ià -__GNUC_PREREQ - (2,96) - -229  - #__©Œibu‹_pu»__ - - `__©Œibu‹__ - (( -__pu»__ -)) - - ) - -231  - #__©Œibu‹_pu»__ - - - ) - -235 #ià -__GNUC_PREREQ - (2,5) - -236  - #__©Œibu‹_cÚ¡__ - - `__©Œibu‹__ - (( -__cÚ¡__ -)) - - ) - -238  - #__©Œibu‹_cÚ¡__ - - - ) - -244 #ià -__GNUC_PREREQ - (3,1) - -245  - #__©Œibu‹_u£d__ - - `__©Œibu‹__ - (( -__u£d__ -)) - - ) - -246  - #__©Œibu‹_nošlše__ - - `__©Œibu‹__ - (( -__nošlše__ -)) - - ) - -248  - #__©Œibu‹_u£d__ - - `__©Œibu‹__ - (( -__unu£d__ -)) - - ) - -249  - #__©Œibu‹_nošlše__ - - - ) - -253 #ià -__GNUC_PREREQ - (3,2) - -254  - #__©Œibu‹_d•»ÿ‹d__ - - `__©Œibu‹__ - (( -__d•»ÿ‹d__ -)) - - ) - -256  - #__©Œibu‹_d•»ÿ‹d__ - - - ) - -265 #ià -__GNUC_PREREQ - (2,8) - -266  - #__©Œibu‹_fÜm©_¬g__ -( -x -è - `__©Œibu‹__ - (( - `__fÜm©_¬g__ - (x))) - - ) - -268  - #__©Œibu‹_fÜm©_¬g__ -( -x -è - - ) - -275 #ià -__GNUC_PREREQ - (2,97) - -276  - #__©Œibu‹_fÜm©_¡rfmÚ__ -( -a -, -b -) \ - -277 - `__©Œibu‹__ - (( - `__fÜm©__ - ( -__¡rfmÚ__ -, -a -, -b -))) - - ) - -279  - #__©Œibu‹_fÜm©_¡rfmÚ__ -( -a -, -b -è - - ) - -284 #ià -__GNUC_PREREQ - (3,3) - -285  - #__nÚnuÎ -( -·¿ms -è - `__©Œibu‹__ - (( -__nÚnuÎ__ -…¬ams)) - - ) - -287  - #__nÚnuÎ -( -·¿ms -) - - ) - -292 #ià -__GNUC_PREREQ - (3,4) - -293  - #__©Œibu‹_w¬n_unu£d_»suÉ__ - \ - -294 - `__©Œibu‹__ - (( -__w¬n_unu£d_»suÉ__ -)) - - ) - -295 #ià -__USE_FORTIFY_LEVEL - > 0 - -296  - #__wur - -__©Œibu‹_w¬n_unu£d_»suÉ__ - - - ) - -299  - #__©Œibu‹_w¬n_unu£d_»suÉ__ - - - ) - -301 #iâdeà -__wur - - -302  - #__wur - - - ) - -306 #ià -__GNUC_PREREQ - (3,2) - -307  - #__®ways_šlše - -__šlše - - `__©Œibu‹__ - (( -__®ways_šlše__ -)) - - ) - -309  - #__®ways_šlše - -__šlše - - - ) - -314 #ià -__GNUC_PREREQ - (4,3) - -315  - #__©Œibu‹_¬tificŸl__ - - `__©Œibu‹__ - (( -__¬tificŸl__ -)) - - ) - -317  - #__©Œibu‹_¬tificŸl__ - - - ) - -329 #ià(! -defšed - -__ýlu¥lus - || -__GNUC_PREREQ - (4,3) \ - -330 || ( -defšed - -__þªg__ - && (defšed -__GNUC_STDC_INLINE__ - \ - -331 || -defšed - -__GNUC_GNU_INLINE__ -))) - -332 #ià -defšed - -__GNUC_STDC_INLINE__ - || defšed -__ýlu¥lus - - -333  - #__ex‹º_šlše - -__šlše - - `__©Œibu‹__ - (( -__gnu_šlše__ -)) - - ) - -334  - #__ex‹º_®ways_šlše - \ - -335 -__®ways_šlše - - `__©Œibu‹__ - (( -__gnu_šlše__ -)) - - ) - -337  - #__ex‹º_šlše - -__šlše - - - ) - -338  - #__ex‹º_®ways_šlše - -__®ways_šlše - - - ) - -342 #ifdeà -__ex‹º_®ways_šlše - - -343  - #__fÜtify_funùiÚ - -__ex‹º_®ways_šlše - -__©Œibu‹_¬tificŸl__ - - - ) - -348 #ià -__GNUC_PREREQ - (4,3) - -349  - #__va_¬g_·ck -(è - `__bužtš_va_¬g_·ck - () - - ) - -350  - #__va_¬g_·ck_Ën -(è - `__bužtš_va_¬g_·ck_Ën - () - - ) - -357 #ià! -__GNUC_PREREQ - (2,8) - -358  - #__ex‹nsiÚ__ - - - ) - -362 #ià! -__GNUC_PREREQ - (2,92) - -363  - #__»¡riù - - - ) - -369 #ià -__GNUC_PREREQ - (3,1è&& ! -defšed - -__GNUG__ - - -370  - #__»¡riù_¬r - -__»¡riù - - - ) - -372 #ifdeà -__GNUC__ - - -373  - #__»¡riù_¬r - - - ) - -375 #ià -defšed - -__STDC_VERSION__ - && __STDC_VERSION__ >= 199901L - -376  - #__»¡riù_¬r - -»¡riù - - - ) - -379  - #__»¡riù_¬r - - - ) - -384 #ià -__GNUC__ - >= 3 - -385  - #__glibc_uÆik–y -( -cÚd -è - `__bužtš_ex³ù - ((cÚd), 0) - - ) - -386  - #__glibc_lik–y -( -cÚd -è - `__bužtš_ex³ù - ((cÚd), 1) - - ) - -388  - #__glibc_uÆik–y -( -cÚd -è(cÚd) - - ) - -389  - #__glibc_lik–y -( -cÚd -è(cÚd) - - ) - -392 #ià(! -defšed - -_Nܑuº - \ - -393 && ( -defšed - -__STDC_VERSION__ - ? __STDC_VERSION__ : 0) < 201112 \ - -394 && ! - $__GNUC_PREREQ - (4,7)) - -395 #ià - `__GNUC_PREREQ - (2,8) - -396  - #_Nܑuº - - `__©Œibu‹__ - (( -__nܑuº__ -)) - - ) - -398  - #_Nܑuº - - - ) - -402 #ià(! -defšed - -_Stic_as£¹ - && !defšed -__ýlu¥lus - \ - -403 && ( -defšed - -__STDC_VERSION__ - ? __STDC_VERSION__ : 0) < 201112 \ - -404 && (! - `__GNUC_PREREQ - (4, 6è|| -defšed - -__STRICT_ANSI__ -)) - -405  - #_Stic_as£¹ -( -ex´ -, -dŸgno¡ic -) \ - -406 (* - `__Stic_as£¹_funùiÚ - ()) \ - -407 [!! (¡ruù {  -__”rÜ_if_Ãg©ive -: ( -ex´ -è? 2 : -1; })] - - ) - -410  - ~ - -412 #ià -defšed - -__LONG_DOUBLE_MATH_OPTIONAL - && defšed -__NO_LONG_DOUBLE_MATH - - -413  - #__LDBL_COMPAT - 1 - - ) - -414 #ifdeà -__REDIRECT - - -415  - #__LDBL_REDIR1 -( -Çme -, -´Ùo -, -®Ÿs -è - `__REDIRECT - (Çme,…rÙo,‡lŸs) - - ) - -416  - #__LDBL_REDIR -( -Çme -, -´Ùo -) \ - -417 - `__LDBL_REDIR1 - ( -Çme -, -´Ùo -, -__Ædbl_ -##Çme) - - ) - -418  - #__LDBL_REDIR1_NTH -( -Çme -, -´Ùo -, -®Ÿs -è - `__REDIRECT_NTH - (Çme,…rÙo,‡lŸs) - - ) - -419  - #__LDBL_REDIR_NTH -( -Çme -, -´Ùo -) \ - -420 - `__LDBL_REDIR1_NTH - ( -Çme -, -´Ùo -, -__Ædbl_ -##Çme) - - ) - -421  - #__LDBL_REDIR1_DECL -( -Çme -, -®Ÿs -) \ - -422 - `__ty³of - ( -Çme -èÇm - `__asm - ( - `__ASMNAME - (#®Ÿs)); - - ) - -423  - #__LDBL_REDIR_DECL -( -Çme -) \ - -424 - `__ty³of - ( -Çme -èÇm - `__asm - ( - `__ASMNAME - ("__Ædbl_" #Çme)); - - ) - -425  - #__REDIRECT_LDBL -( -Çme -, -´Ùo -, -®Ÿs -) \ - -426 - `__LDBL_REDIR1 - ( -Çme -, -´Ùo -, -__Ædbl_ -## -®Ÿs -) - - ) - -427  - #__REDIRECT_NTH_LDBL -( -Çme -, -´Ùo -, -®Ÿs -) \ - -428 - `__LDBL_REDIR1_NTH - ( -Çme -, -´Ùo -, -__Ædbl_ -## -®Ÿs -) - - ) - -431 #ià! -defšed - -__LDBL_COMPAT - || !defšed -__REDIRECT - - -432  - #__LDBL_REDIR1 -( -Çme -, -´Ùo -, -®Ÿs -èÇm - ) -proto - -433  - #__LDBL_REDIR -( -Çme -, -´Ùo -èÇm - ) -proto - -434  - #__LDBL_REDIR1_NTH -( -Çme -, -´Ùo -, -®Ÿs -èÇm´ÙØ -__THROW - - - ) - -435  - #__LDBL_REDIR_NTH -( -Çme -, -´Ùo -èÇm´ÙØ -__THROW - - - ) - -436  - #__LDBL_REDIR_DECL -( -Çme -) - - ) - -437 #ifdeà -__REDIRECT - - -438  - #__REDIRECT_LDBL -( -Çme -, -´Ùo -, -®Ÿs -è - `__REDIRECT - (Çme,…rÙo,‡lŸs) - - ) - -439  - #__REDIRECT_NTH_LDBL -( -Çme -, -´Ùo -, -®Ÿs -) \ - -440 - `__REDIRECT_NTH - ( -Çme -, -´Ùo -, -®Ÿs -) - - ) - - @/usr/include/asm-generic/socket.h - -1 #iâdeà -__ASM_GENERIC_SOCKET_H - - -2  - #__ASM_GENERIC_SOCKET_H - - - ) - -4  - ~ - -7  - #SOL_SOCKET - 1 - - ) - -9  - #SO_DEBUG - 1 - - ) - -10  - #SO_REUSEADDR - 2 - - ) - -11  - #SO_TYPE - 3 - - ) - -12  - #SO_ERROR - 4 - - ) - -13  - #SO_DONTROUTE - 5 - - ) - -14  - #SO_BROADCAST - 6 - - ) - -15  - #SO_SNDBUF - 7 - - ) - -16  - #SO_RCVBUF - 8 - - ) - -17  - #SO_SNDBUFFORCE - 32 - - ) - -18  - #SO_RCVBUFFORCE - 33 - - ) - -19  - #SO_KEEPALIVE - 9 - - ) - -20  - #SO_OOBINLINE - 10 - - ) - -21  - #SO_NO_CHECK - 11 - - ) - -22  - #SO_PRIORITY - 12 - - ) - -23  - #SO_LINGER - 13 - - ) - -24  - #SO_BSDCOMPAT - 14 - - ) - -25  - #SO_REUSEPORT - 15 - - ) - -26 #iâdeà -SO_PASSCRED - - -27  - #SO_PASSCRED - 16 - - ) - -28  - #SO_PEERCRED - 17 - - ) - -29  - #SO_RCVLOWAT - 18 - - ) - -30  - #SO_SNDLOWAT - 19 - - ) - -31  - #SO_RCVTIMEO - 20 - - ) - -32  - #SO_SNDTIMEO - 21 - - ) - -36  - #SO_SECURITY_AUTHENTICATION - 22 - - ) - -37  - #SO_SECURITY_ENCRYPTION_TRANSPORT - 23 - - ) - -38  - #SO_SECURITY_ENCRYPTION_NETWORK - 24 - - ) - -40  - #SO_BINDTODEVICE - 25 - - ) - -43  - #SO_ATTACH_FILTER - 26 - - ) - -44  - #SO_DETACH_FILTER - 27 - - ) - -45  - #SO_GET_FILTER - -SO_ATTACH_FILTER - - - ) - -47  - #SO_PEERNAME - 28 - - ) - -48  - #SO_TIMESTAMP - 29 - - ) - -49  - #SCM_TIMESTAMP - -SO_TIMESTAMP - - - ) - -51  - #SO_ACCEPTCONN - 30 - - ) - -53  - #SO_PEERSEC - 31 - - ) - -54  - #SO_PASSSEC - 34 - - ) - -55  - #SO_TIMESTAMPNS - 35 - - ) - -56  - #SCM_TIMESTAMPNS - -SO_TIMESTAMPNS - - - ) - -58  - #SO_MARK - 36 - - ) - -60  - #SO_TIMESTAMPING - 37 - - ) - -61  - #SCM_TIMESTAMPING - -SO_TIMESTAMPING - - - ) - -63  - #SO_PROTOCOL - 38 - - ) - -64  - #SO_DOMAIN - 39 - - ) - -66  - #SO_RXQ_OVFL - 40 - - ) - -68  - #SO_WIFI_STATUS - 41 - - ) - -69  - #SCM_WIFI_STATUS - -SO_WIFI_STATUS - - - ) - -70  - #SO_PEEK_OFF - 42 - - ) - -73  - #SO_NOFCS - 43 - - ) - -75  - #SO_LOCK_FILTER - 44 - - ) - -77  - #SO_SELECT_ERR_QUEUE - 45 - - ) - -79  - #SO_BUSY_POLL - 46 - - ) - -81  - #SO_MAX_PACING_RATE - 47 - - ) - -83  - #SO_BPF_EXTENSIONS - 48 - - ) - -85  - #SO_INCOMING_CPU - 49 - - ) - -87  - #SO_ATTACH_BPF - 50 - - ) - -88  - #SO_DETACH_BPF - -SO_DETACH_FILTER - - - ) - - @/usr/include/asm/errno.h - -1  - ~ - - @/usr/include/asm/param.h - -1  - ~ - - @/usr/include/bits/local_lim.h - -24 #iâdeà -NR_OPEN - - -25  - #__undef_NR_OPEN - - - ) - -27 #iâdeà -LINK_MAX - - -28  - #__undef_LINK_MAX - - - ) - -30 #iâdeà -OPEN_MAX - - -31  - #__undef_OPEN_MAX - - - ) - -33 #iâdeà -ARG_MAX - - -34  - #__undef_ARG_MAX - - - ) - -38  - ~ - -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  - #_POSIX_THREAD_KEYS_MAX - 128 - - ) - -64  - #PTHREAD_KEYS_MAX - 1024 - - ) - -67  - #_POSIX_THREAD_DESTRUCTOR_ITERATIONS - 4 - - ) - -69  - #PTHREAD_DESTRUCTOR_ITERATIONS - -_POSIX_THREAD_DESTRUCTOR_ITERATIONS - - - ) - -72  - #_POSIX_THREAD_THREADS_MAX - 64 - - ) - -74 #undeà -PTHREAD_THREADS_MAX - - -78  - #AIO_PRIO_DELTA_MAX - 20 - - ) - -81  - #PTHREAD_STACK_MIN - 16384 - - ) - -84  - #DELAYTIMER_MAX - 2147483647 - - ) - -87  - #TTY_NAME_MAX - 32 - - ) - -90  - #LOGIN_NAME_MAX - 256 - - ) - -93  - #HOST_NAME_MAX - 64 - - ) - -96  - #MQ_PRIO_MAX - 32768 - - ) - -99  - #SEM_VALUE_MAX - (2147483647) - - ) - - @/usr/include/gconv.h - -22 #iâdeà -_GCONV_H - - -23  - #_GCONV_H - 1 - - ) - -25  - ~<ã©u»s.h -> - -26  - #__Ãed_mb¡©e_t - - - ) - -27  - #__Ãed_wšt_t - - - ) - -28  - ~ - -29  - #__Ãed_size_t - - - ) - -30  - #__Ãed_wch¬_t - - - ) - -31  - ~<¡ddef.h -> - -34  - #__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  - g__gcÚv_¡• -; - -66  - g__gcÚv_¡•_d©a -; - -67  - g__gcÚv_lßded_objeù -; - -71 (* - t__gcÚv_fù -è( - t__gcÚv_¡• - *,  - t__gcÚv_¡•_d©a - *, - -73 **, - tsize_t - *, , ); - -76  - $wšt_t - (* - t__gcÚv_btowc_fù -è( - t__gcÚv_¡• - *, ); - -79 (* - t__gcÚv_š™_fù -è( - t__gcÚv_¡• - *); - -80 (* - t__gcÚv_’d_fù -è( - t__gcÚv_¡• - *); - -84  - s__gcÚv_¡• - - -86  -__gcÚv_lßded_objeù - * -__shlib_hªdË -; - -87 cÚ¡ * -__modÇme -; - -89  -__couÁ” -; - -91 * -__äom_Çme -; - -92 * -__to_Çme -; - -94 -__gcÚv_fù - -__fù -; - -95 -__gcÚv_btowc_fù - -__btowc_fù -; - -96 -__gcÚv_š™_fù - -__š™_fù -; - -97 -__gcÚv_’d_fù - -__’d_fù -; - -101  -__mš_Ãeded_äom -; - -102  -__max_Ãeded_äom -; - -103  -__mš_Ãeded_to -; - -104  -__max_Ãeded_to -; - -107  -__¡©eful -; - -109 * -__d©a -; - -114  - s__gcÚv_¡•_d©a - - -116 * -__outbuf -; - -117 * -__outbuãnd -; - -121  -__æags -; - -125  -__švoÿtiÚ_couÁ” -; - -129  -__š‹º®_u£ -; - -131 -__mb¡©e_t - * -__¡©• -; - -132 -__mb¡©e_t - -__¡©e -; - -138  - s__gcÚv_šfo - - -140 -size_t - -__n¡•s -; - -141  -__gcÚv_¡• - * -__¡•s -; - -142 -__ex‹nsiÚ__ -  -__gcÚv_¡•_d©a - -__d©a - -__æex¬r -; - -143 } * - t__gcÚv_t -; - -146  - `__gcÚv_Œª¦™”©e - ( -__gcÚv_¡• - * -¡• -, - -147  -__gcÚv_¡•_d©a - * -¡•_d©a -, - -148 cÚ¡ * -šbuf¡¬t -, - -149 cÚ¡ ** -šbuå -, - -150 cÚ¡ * -šbuãnd -, - -151 ** -outbuf¡¬t -, - -152 -size_t - * -œ»v”sibË -); - - @/usr/include/gnu/stubs-32.h - -6 #ifdeà -_LIBC - - -7 #”rÜ -AµliÿtiÚs - -may - -nÙ - -defše - -the - -maüo - -_LIBC - - -10  - #__¡ub_chæags - - - ) - -11  - #__¡ub_ç‰ach - - - ) - -12  - #__¡ub_fchæags - - - ) - -13  - #__¡ub_fd‘ach - - - ) - -14  - #__¡ub_g‰y - - - ) - -15  - #__¡ub_lchmod - - - ) - -16  - #__¡ub_»voke - - - ) - -17  - #__¡ub_£Žogš - - - ) - -18  - #__¡ub_sig»tuº - - - ) - -19  - #__¡ub_s¡k - - - ) - -20  - #__¡ub_¡ty - - - ) - - @/usr/include/gnu/stubs-64.h - -6 #ifdeà -_LIBC - - -7 #”rÜ -AµliÿtiÚs - -may - -nÙ - -defše - -the - -maüo - -_LIBC - - -10  - #__¡ub___com·t_bdæush - - - ) - -11  - #__¡ub_chæags - - - ) - -12  - #__¡ub_ç‰ach - - - ) - -13  - #__¡ub_fchæags - - - ) - -14  - #__¡ub_fd‘ach - - - ) - -15  - #__¡ub_g‘msg - - - ) - -16  - #__¡ub_g‰y - - - ) - -17  - #__¡ub_lchmod - - - ) - -18  - #__¡ub_putmsg - - - ) - -19  - #__¡ub_»voke - - - ) - -20  - #__¡ub_£Žogš - - - ) - -21  - #__¡ub_sig»tuº - - - ) - -22  - #__¡ub_s¡k - - - ) - -23  - #__¡ub_¡ty - - - ) - - @/usr/include/gnu/stubs-x32.h - -6 #ifdeà -_LIBC - - -7 #”rÜ -AµliÿtiÚs - -may - -nÙ - -defše - -the - -maüo - -_LIBC - - -10  - #__¡ub___com·t_bdæush - - - ) - -11  - #__¡ub___com·t_ü—‹_moduË - - - ) - -12  - #__¡ub___com·t_g‘_k”Ãl_syms - - - ) - -13  - #__¡ub___com·t_qu”y_moduË - - - ) - -14  - #__¡ub___com·t_u£lib - - - ) - -15  - #__¡ub_chæags - - - ) - -16  - #__¡ub_ç‰ach - - - ) - -17  - #__¡ub_fchæags - - - ) - -18  - #__¡ub_fd‘ach - - - ) - -19  - #__¡ub_g‘msg - - - ) - -20  - #__¡ub_g‰y - - - ) - -21  - #__¡ub_lchmod - - - ) - -22  - #__¡ub_nfs£rvùl - - - ) - -23  - #__¡ub_putmsg - - - ) - -24  - #__¡ub_»voke - - - ) - -25  - #__¡ub_£Žogš - - - ) - -26  - #__¡ub_sig»tuº - - - ) - -27  - #__¡ub_s¡k - - - ) - -28  - #__¡ub_¡ty - - - ) - - @/usr/include/wchar.h - -23 #iâdeà -_WCHAR_H - - -25 #ià! -defšed - -__Ãed_mb¡©e_t - && !defšed -__Ãed_wšt_t - - -26  - #_WCHAR_H - 1 - - ) - -27  - ~<ã©u»s.h -> - -30 #ifdeà -_WCHAR_H - - -32  - #__Ãed___FILE - - - ) - -33 #ià -defšed - -__USE_UNIX98 - || defšed -__USE_XOPEN2K - - -34  - #__Ãed_FILE - - - ) - -36  - ~<¡dio.h -> - -38  - #__Ãed___va_li¡ - - - ) - -39  - ~<¡d¬g.h -> - -41  - ~ - -44  - #__Ãed_size_t - - - ) - -45  - #__Ãed_wch¬_t - - - ) - -46  - #__Ãed_NULL - - - ) - -48 #ià -defšed - -_WCHAR_H - || defšed -__Ãed_wšt_t - || !defšed -__WINT_TYPE__ - - -49 #undeà -__Ãed_wšt_t - - -50  - #__Ãed_wšt_t - - - ) - -51  - ~<¡ddef.h -> - -55 #iâdeà -_WINT_T - - -60  - #_WINT_T - - - ) - -61  - twšt_t -; - -65 #ià -defšed - -__ýlu¥lus - && defšed -_GLIBCPP_USE_NAMESPACES - \ - -66 && -defšed - -__WINT_TYPE__ - - -67 -__BEGIN_NAMESPACE_STD - - -68  -__WINT_TYPE__ - - twšt_t -; - -69 - g__END_NAMESPACE_STD - - -74 #ià -defšed - -__ýlu¥lus - && -__GNUC_PREREQ - (4, 4) - -75  - #__CORRECT_ISO_CPP_WCHAR_H_PROTO - - - ) - -79 #ià( -defšed - -_WCHAR_H - || defšed -__Ãed_mb¡©e_t -è&& !defšed -____mb¡©e_t_defšed - - -80  - #____mb¡©e_t_defšed - 1 - - ) - -84  - m__couÁ -; - -87 #ifdeà -__WINT_TYPE__ - - -88 -__WINT_TYPE__ - - m__wch -; - -90 -wšt_t - - m__wch -; - -92  - 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šed - - -104 -__BEGIN_NAMESPACE_C99 - - -106  -__mb¡©e_t - - tmb¡©e_t -; - -107 - g__END_NAMESPACE_C99 - - -108  - #__mb¡©e_t_defšed - 1 - - ) - -111 #ifdeà -__USE_GNU - - -112 - $__USING_NAMESPACE_C99 -( -mb¡©e_t -) - -115 #iâdeà -WCHAR_MIN - - -117  - #WCHAR_MIN - -__WCHAR_MIN - - - ) - -118  - #WCHAR_MAX - -__WCHAR_MAX - - - ) - -121 #iâdeà -WEOF - - -122  - #WEOF - (0xffffffffu) - - ) - -127 #ià -defšed - -__USE_XOPEN - && !defšed -__USE_UNIX98 - - -128  - ~ - -132 -__BEGIN_DECLS - - -134 -__BEGIN_NAMESPACE_STD - - -137  -tm -; - -138 -__END_NAMESPACE_STD - - -142 - $__USING_NAMESPACE_STD -( -tm -) - -145 -__BEGIN_NAMESPACE_STD - - -147 -wch¬_t - * - $wcsýy - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -148 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -) - -149 -__THROW - - `__nÚnuÎ - ((1, 2)); - -152 -wch¬_t - * - $wc¢ýy - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -153 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, -size_t - -__n -) - -154 -__THROW - - `__nÚnuÎ - ((1, 2)); - -157 -wch¬_t - * - $wcsÿt - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -158 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -) - -159 -__THROW - - `__nÚnuÎ - ((1, 2)); - -161 -wch¬_t - * - $wc¢ÿt - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -162 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, -size_t - -__n -) - -163 -__THROW - - `__nÚnuÎ - ((1, 2)); - -166  - $wcscmp - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -) - -167 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -169  - $wc¢cmp - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, -size_t - -__n -) - -170 -__THROW - -__©Œibu‹_pu»__ - - `__nÚnuÎ - ((1, 2)); - -171 -__END_NAMESPACE_STD - - -173 #ifdeà -__USE_XOPEN2K8 - - -175  - $wcsÿ£cmp - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -è -__THROW -; - -178  - $wc¢ÿ£cmp - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, - -179 -size_t - -__n -è -__THROW -; - -183  - ~ - -185  - $wcsÿ£cmp_l - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, - -186 -__loÿË_t - -__loc -è -__THROW -; - -188  - $wc¢ÿ£cmp_l - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, - -189 -size_t - -__n -, -__loÿË_t - -__loc -è -__THROW -; - -192 -__BEGIN_NAMESPACE_STD - - -195  - $wcscÞl - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -è -__THROW -; - -199 -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  - $wcscÞl_l - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, - -210 -__loÿË_t - -__loc -è -__THROW -; - -215 -size_t - - $wcsxäm_l - ( -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, - -216 -size_t - -__n -, -__loÿË_t - -__loc -è -__THROW -; - -219 -wch¬_t - * - $wcsdup - (cÚ¡ -wch¬_t - * -__s -è -__THROW - -__©Œibu‹_m®loc__ -; - -222 -__BEGIN_NAMESPACE_STD - - -224 #ifdeà -__CORRECT_ISO_CPP_WCHAR_H_PROTO - - -225 "C++" -wch¬_t - * - $wcschr - ( -wch¬_t - * -__wcs -, wch¬_ˆ -__wc -) - -226 -__THROW - - `__asm - ("wcschr"è -__©Œibu‹_pu»__ -; - -227 "C++" cÚ¡ -wch¬_t - * - $wcschr - (cÚ¡ -wch¬_t - * -__wcs -, wch¬_ˆ -__wc -) - -228 -__THROW - - `__asm - ("wcschr"è -__©Œibu‹_pu»__ -; - -230 -wch¬_t - * - $wcschr - (cÚ¡ -wch¬_t - * -__wcs -, wch¬_ˆ -__wc -) - -231 -__THROW - -__©Œibu‹_pu»__ -; - -234 #ifdeà -__CORRECT_ISO_CPP_WCHAR_H_PROTO - - -235 "C++" -wch¬_t - * - $wc¤chr - ( -wch¬_t - * -__wcs -, wch¬_ˆ -__wc -) - -236 -__THROW - - `__asm - ("wc¤chr"è -__©Œibu‹_pu»__ -; - -237 "C++" cÚ¡ -wch¬_t - * - $wc¤chr - (cÚ¡ -wch¬_t - * -__wcs -, wch¬_ˆ -__wc -) - -238 -__THROW - - `__asm - ("wc¤chr"è -__©Œibu‹_pu»__ -; - -240 -wch¬_t - * - $wc¤chr - (cÚ¡ -wch¬_t - * -__wcs -, wch¬_ˆ -__wc -) - -241 -__THROW - -__©Œibu‹_pu»__ -; - -243 -__END_NAMESPACE_STD - - -245 #ifdeà -__USE_GNU - - -248 -wch¬_t - * - $wcschºul - (cÚ¡ -wch¬_t - * -__s -, wch¬_ˆ -__wc -) - -249 -__THROW - -__©Œibu‹_pu»__ -; - -252 -__BEGIN_NAMESPACE_STD - - -255 -size_t - - $wcsc¥n - (cÚ¡ -wch¬_t - * -__wcs -, cÚ¡ wch¬_ˆ* -__»jeù -) - -256 -__THROW - -__©Œibu‹_pu»__ -; - -259 -size_t - - $wcs¥n - (cÚ¡ -wch¬_t - * -__wcs -, cÚ¡ wch¬_ˆ* -__acû± -) - -260 -__THROW - -__©Œibu‹_pu»__ -; - -262 #ifdeà -__CORRECT_ISO_CPP_WCHAR_H_PROTO - - -263 "C++" -wch¬_t - * - $wc¥brk - ( -wch¬_t - * -__wcs -, cÚ¡ wch¬_ˆ* -__acû± -) - -264 -__THROW - - `__asm - ("wc¥brk"è -__©Œibu‹_pu»__ -; - -265 "C++" cÚ¡ -wch¬_t - * - $wc¥brk - (cÚ¡ -wch¬_t - * -__wcs -, - -266 cÚ¡ -wch¬_t - * -__acû± -) - -267 -__THROW - - `__asm - ("wc¥brk"è -__©Œibu‹_pu»__ -; - -269 -wch¬_t - * - $wc¥brk - (cÚ¡ -wch¬_t - * -__wcs -, cÚ¡ wch¬_ˆ* -__acû± -) - -270 -__THROW - -__©Œibu‹_pu»__ -; - -273 #ifdeà -__CORRECT_ISO_CPP_WCHAR_H_PROTO - - -274 "C++" -wch¬_t - * - $wcs¡r - ( -wch¬_t - * -__hay¡ack -, cÚ¡ wch¬_ˆ* -__ÃedË -) - -275 -__THROW - - `__asm - ("wcs¡r"è -__©Œibu‹_pu»__ -; - -276 "C++" cÚ¡ -wch¬_t - * - $wcs¡r - (cÚ¡ -wch¬_t - * -__hay¡ack -, - -277 cÚ¡ -wch¬_t - * -__ÃedË -) - -278 -__THROW - - `__asm - ("wcs¡r"è -__©Œibu‹_pu»__ -; - -280 -wch¬_t - * - $wcs¡r - (cÚ¡ -wch¬_t - * -__hay¡ack -, cÚ¡ wch¬_ˆ* -__ÃedË -) - -281 -__THROW - -__©Œibu‹_pu»__ -; - -285 -wch¬_t - * - $wc¡ok - ( -wch¬_t - * -__»¡riù - -__s -, - -286 cÚ¡ -wch¬_t - * -__»¡riù - -__d–im -, - -287 -wch¬_t - ** -__»¡riù - -__±r -è -__THROW -; - -290 -size_t - - $wc¦’ - (cÚ¡ -wch¬_t - * -__s -è -__THROW - -__©Œibu‹_pu»__ -; - -291 -__END_NAMESPACE_STD - - -293 #ifdeà -__USE_XOPEN - - -295 #ifdeà -__CORRECT_ISO_CPP_WCHAR_H_PROTO - - -296 "C++" -wch¬_t - * - $wcswcs - ( -wch¬_t - * -__hay¡ack -, cÚ¡ wch¬_ˆ* -__ÃedË -) - -297 -__THROW - - `__asm - ("wcswcs"è -__©Œibu‹_pu»__ -; - -298 "C++" cÚ¡ -wch¬_t - * - $wcswcs - (cÚ¡ -wch¬_t - * -__hay¡ack -, - -299 cÚ¡ -wch¬_t - * -__ÃedË -) - -300 -__THROW - - `__asm - ("wcswcs"è -__©Œibu‹_pu»__ -; - -302 -wch¬_t - * - $wcswcs - (cÚ¡ -wch¬_t - * -__hay¡ack -, cÚ¡ wch¬_ˆ* -__ÃedË -) - -303 -__THROW - -__©Œibu‹_pu»__ -; - -307 #ifdeà -__USE_XOPEN2K8 - - -309 -size_t - - $wc¢Ën - (cÚ¡ -wch¬_t - * -__s -, -size_t - -__maxËn -) - -310 -__THROW - -__©Œibu‹_pu»__ -; - -314 -__BEGIN_NAMESPACE_STD - - -316 #ifdeà -__CORRECT_ISO_CPP_WCHAR_H_PROTO - - -317 "C++" -wch¬_t - * - $wmemchr - ( -wch¬_t - * -__s -, wch¬_ˆ -__c -, -size_t - -__n -) - -318 -__THROW - - `__asm - ("wmemchr"è -__©Œibu‹_pu»__ -; - -319 "C++" cÚ¡ -wch¬_t - * - $wmemchr - (cÚ¡ -wch¬_t - * -__s -, wch¬_ˆ -__c -, - -320 -size_t - -__n -) - -321 -__THROW - - `__asm - ("wmemchr"è -__©Œibu‹_pu»__ -; - -323 -wch¬_t - * - $wmemchr - (cÚ¡ -wch¬_t - * -__s -, wch¬_ˆ -__c -, -size_t - -__n -) - -324 -__THROW - -__©Œibu‹_pu»__ -; - -328  - $wmemcmp - (cÚ¡ -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, -size_t - -__n -) - -329 -__THROW - -__©Œibu‹_pu»__ -; - -332 -wch¬_t - * - $wmemýy - ( -wch¬_t - * -__»¡riù - -__s1 -, - -333 cÚ¡ -wch¬_t - * -__»¡riù - -__s2 -, -size_t - -__n -è -__THROW -; - -337 -wch¬_t - * - $wmemmove - ( -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, -size_t - -__n -) - -338 -__THROW -; - -341 -wch¬_t - * - $wmem£t - ( -wch¬_t - * -__s -, wch¬_ˆ -__c -, -size_t - -__n -è -__THROW -; - -342 -__END_NAMESPACE_STD - - -344 #ifdeà -__USE_GNU - - -347 -wch¬_t - * - $wmempýy - ( -wch¬_t - * -__»¡riù - -__s1 -, - -348 cÚ¡ -wch¬_t - * -__»¡riù - -__s2 -, -size_t - -__n -) - -349 -__THROW -; - -353 -__BEGIN_NAMESPACE_STD - - -356 -wšt_t - - $btowc - ( -__c -è -__THROW -; - -360  - $wùob - ( -wšt_t - -__c -è -__THROW -; - -364  - $mbsš™ - (cÚ¡ -mb¡©e_t - * -__ps -è -__THROW - -__©Œibu‹_pu»__ -; - -368 -size_t - - $mb¹owc - ( -wch¬_t - * -__»¡riù - -__pwc -, - -369 cÚ¡ * -__»¡riù - -__s -, -size_t - -__n -, - -370 -mb¡©e_t - * -__»¡riù - -__p -è -__THROW -; - -373 -size_t - - $wütomb - (* -__»¡riù - -__s -, -wch¬_t - -__wc -, - -374 -mb¡©e_t - * -__»¡riù - -__ps -è -__THROW -; - -377 -size_t - - $__mb¾’ - (cÚ¡ * -__»¡riù - -__s -, -size_t - -__n -, - -378 -mb¡©e_t - * -__»¡riù - -__ps -è -__THROW -; - -379 -size_t - - $mb¾’ - (cÚ¡ * -__»¡riù - -__s -, -size_t - -__n -, - -380 -mb¡©e_t - * -__»¡riù - -__ps -è -__THROW -; - -381 -__END_NAMESPACE_STD - - -383 #ifdeà -__USE_EXTERN_INLINES - - -389 -wšt_t - - $__btowc_®Ÿs - ( -__c -è - `__asm - ("btowc"); - -390 -__ex‹º_šlše - -wšt_t - - -391 - `__NTH - ( - $btowc - ( -__c -)) - -392 {  ( - `__bužtš_cÚ¡ªt_p - ( -__c -) && __c >= '\0' && __c <= '\x7f' - -393 ? ( -wšt_t -è -__c - : - `__btowc_®Ÿs - (__c)); - } -} - -395  - $__wùob_®Ÿs - ( -wšt_t - -__c -è - `__asm - ("wctob"); - -396 -__ex‹º_šlše -  - -397 - `__NTH - ( - $wùob - ( -wšt_t - -__wc -)) - -398 {  ( - `__bužtš_cÚ¡ªt_p - ( -__wc -è&& __wø>ð -L -'\0' && __wc <= L'\x7f' - -399 ? (è -__wc - : - `__wùob_®Ÿs - (__wc)); - } -} - -401 -__ex‹º_šlše - -size_t - - -402 -__NTH - ( - $mb¾’ - (cÚ¡ * -__»¡riù - -__s -, -size_t - -__n -, - -403 -mb¡©e_t - * -__»¡riù - -__ps -)) - -404 {  ( -__ps - !ð -NULL - - -405 ? - `mb¹owc - ( -NULL -, -__s -, -__n -, -__ps -è: - `__mb¾’ - (__s, __n, NULL)); - } -} - -408 -__BEGIN_NAMESPACE_STD - - -411 -size_t - - $mb¤towcs - ( -wch¬_t - * -__»¡riù - -__d¡ -, - -412 cÚ¡ ** -__»¡riù - -__¤c -, -size_t - -__Ën -, - -413 -mb¡©e_t - * -__»¡riù - -__ps -è -__THROW -; - -417 -size_t - - $wc¤tombs - (* -__»¡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 -size_t - - $mb¢¹owcs - ( -wch¬_t - * -__»¡riù - -__d¡ -, - -427 cÚ¡ ** -__»¡riù - -__¤c -, -size_t - -__nmc -, - -428 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -è -__THROW -; - -432 -size_t - - $wc¢¹ombs - (* -__»¡riù - -__d¡ -, - -433 cÚ¡ -wch¬_t - ** -__»¡riù - -__¤c -, - -434 -size_t - -__nwc -, size_ˆ -__Ën -, - -435 -mb¡©e_t - * -__»¡riù - -__ps -è -__THROW -; - -440 #ifdeà -__USE_XOPEN - - -442  - $wcwidth - ( -wch¬_t - -__c -è -__THROW -; - -446  - $wcswidth - (cÚ¡ -wch¬_t - * -__s -, -size_t - -__n -è -__THROW -; - -450 -__BEGIN_NAMESPACE_STD - - -453  - $wc¡od - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -454 -wch¬_t - ** -__»¡riù - -__’d±r -è -__THROW -; - -455 -__END_NAMESPACE_STD - - -457 #ifdeà -__USE_ISOC99 - - -458 -__BEGIN_NAMESPACE_C99 - - -460  - $wc¡of - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -461 -wch¬_t - ** -__»¡riù - -__’d±r -è -__THROW -; - -462  - $wc¡Þd - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -463 -wch¬_t - ** -__»¡riù - -__’d±r -è -__THROW -; - -464 -__END_NAMESPACE_C99 - - -468 -__BEGIN_NAMESPACE_STD - - -471  - $wc¡Þ - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -472 -wch¬_t - ** -__»¡riù - -__’d±r -,  -__ba£ -è -__THROW -; - -476  - $wc¡oul - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -477 -wch¬_t - ** -__»¡riù - -__’d±r -,  -__ba£ -) - -478 -__THROW -; - -479 -__END_NAMESPACE_STD - - -481 #ifdeà -__USE_ISOC99 - - -482 -__BEGIN_NAMESPACE_C99 - - -485 -__ex‹nsiÚ__ - - -486  - $wc¡Þl - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -487 -wch¬_t - ** -__»¡riù - -__’d±r -,  -__ba£ -) - -488 -__THROW -; - -492 -__ex‹nsiÚ__ - - -493  - $wc¡ouÎ - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -494 -wch¬_t - ** -__»¡riù - -__’d±r -, - -495  -__ba£ -è -__THROW -; - -496 -__END_NAMESPACE_C99 - - -499 #ifdeà -__USE_GNU - - -502 -__ex‹nsiÚ__ - - -503  - $wc¡oq - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -504 -wch¬_t - ** -__»¡riù - -__’d±r -,  -__ba£ -) - -505 -__THROW -; - -509 -__ex‹nsiÚ__ - - -510  - $wc¡ouq - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -511 -wch¬_t - ** -__»¡riù - -__’d±r -, - -512  -__ba£ -è -__THROW -; - -515 #ifdeà -__USE_GNU - - -529  - ~ - -533  - $wc¡Þ_l - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -534 -wch¬_t - ** -__»¡riù - -__’d±r -,  -__ba£ -, - -535 -__loÿË_t - -__loc -è -__THROW -; - -537  - $wc¡oul_l - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -538 -wch¬_t - ** -__»¡riù - -__’d±r -, - -539  -__ba£ -, -__loÿË_t - -__loc -è -__THROW -; - -541 -__ex‹nsiÚ__ - - -542  - $wc¡Þl_l - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -543 -wch¬_t - ** -__»¡riù - -__’d±r -, - -544  -__ba£ -, -__loÿË_t - -__loc -è -__THROW -; - -546 -__ex‹nsiÚ__ - - -547  - $wc¡ouÎ_l - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -548 -wch¬_t - ** -__»¡riù - -__’d±r -, - -549  -__ba£ -, -__loÿË_t - -__loc -) - -550 -__THROW -; - -552  - $wc¡od_l - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -553 -wch¬_t - ** -__»¡riù - -__’d±r -, -__loÿË_t - -__loc -) - -554 -__THROW -; - -556  - $wc¡of_l - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -557 -wch¬_t - ** -__»¡riù - -__’d±r -, -__loÿË_t - -__loc -) - -558 -__THROW -; - -560  - $wc¡Þd_l - (cÚ¡ -wch¬_t - * -__»¡riù - -__Ō -, - -561 -wch¬_t - ** -__»¡riù - -__’d±r -, - -562 -__loÿË_t - -__loc -è -__THROW -; - -566 #ifdeà -__USE_XOPEN2K8 - - -569 -wch¬_t - * - $wýýy - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -570 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -è -__THROW -; - -574 -wch¬_t - * - $wýnýy - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -575 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, -size_t - -__n -) - -576 -__THROW -; - -583 -__FILE - * - $ݒ_wmem¡»am - ( -wch¬_t - ** -__buæoc -, -size_t - * -__siz–oc -è -__THROW -; - -586 #ià -defšed - -__USE_ISOC95 - || defšed -__USE_UNIX98 - - -587 -__BEGIN_NAMESPACE_STD - - -590  - $fwide - ( -__FILE - * -__å -,  -__mode -è -__THROW -; - -597  - `fw´štf - ( -__FILE - * -__»¡riù - -__¡»am -, - -598 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...) - -604  - `w´štf - (cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...) - -607  - $sw´štf - ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__n -, - -608 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...) - -609 -__THROW - ; - -615  - `vfw´štf - ( -__FILE - * -__»¡riù - -__s -, - -616 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -617 -__gnuc_va_li¡ - -__¬g -) - -623  - `vw´štf - (cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -624 -__gnuc_va_li¡ - -__¬g -) - -628  - $vsw´štf - ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__n -, - -629 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -630 -__gnuc_va_li¡ - -__¬g -) - -631 -__THROW - ; - -638  - `fwsÿnf - ( -__FILE - * -__»¡riù - -__¡»am -, - -639 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...) - -645  - `wsÿnf - (cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...) - -648  - $swsÿnf - (cÚ¡ -wch¬_t - * -__»¡riù - -__s -, - -649 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...) - -650 -__THROW - ; - -652 #ià -defšed - -__USE_ISOC99 - && !defšed -__USE_GNU - \ - -653 && (! -defšed - -__LDBL_COMPAT - || !defšed -__REDIRECT -) \ - -654 && ( -defšed - -__STRICT_ANSI__ - || defšed -__USE_XOPEN2K -) - -655 #ifdeà -__REDIRECT - - -659  - `__REDIRECT - ( -fwsÿnf -, ( -__FILE - * -__»¡riù - -__¡»am -, - -660 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...), - -661 -__isoc99_fwsÿnf -) - -663  - `__REDIRECT - ( -wsÿnf -, (cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...), - -664 -__isoc99_wsÿnf -) - -666  - `__REDIRECT_NTH - ( -swsÿnf -, (cÚ¡ -wch¬_t - * -__»¡riù - -__s -, - -667 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -668 ...), -__isoc99_swsÿnf -) - -671  - `__isoc99_fwsÿnf - ( -__FILE - * -__»¡riù - -__¡»am -, - -672 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...); - -673  - `__isoc99_wsÿnf - (cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...); - -674  - $__isoc99_swsÿnf - (cÚ¡ -wch¬_t - * -__»¡riù - -__s -, - -675 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...) - -676 -__THROW -; - -677  - #fwsÿnf - -__isoc99_fwsÿnf - - - ) - -678  - #wsÿnf - -__isoc99_wsÿnf - - - ) - -679  - #swsÿnf - -__isoc99_swsÿnf - - - ) - -683 -__END_NAMESPACE_STD - - -686 #ifdeà -__USE_ISOC99 - - -687 -__BEGIN_NAMESPACE_C99 - - -692  - `vfwsÿnf - ( -__FILE - * -__»¡riù - -__s -, - -693 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -694 -__gnuc_va_li¡ - -__¬g -) - -700  - `vwsÿnf - (cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -701 -__gnuc_va_li¡ - -__¬g -) - -704  - $vswsÿnf - (cÚ¡ -wch¬_t - * -__»¡riù - -__s -, - -705 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -706 -__gnuc_va_li¡ - -__¬g -) - -707 -__THROW - ; - -709 #ià! -defšed - -__USE_GNU - \ - -710 && (! -defšed - -__LDBL_COMPAT - || !defšed -__REDIRECT -) \ - -711 && ( -defšed - -__STRICT_ANSI__ - || defšed -__USE_XOPEN2K -) - -712 #ifdeà -__REDIRECT - - -713  - `__REDIRECT - ( -vfwsÿnf -, ( -__FILE - * -__»¡riù - -__s -, - -714 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -715 -__gnuc_va_li¡ - -__¬g -), -__isoc99_vfwsÿnf -) - -717  - `__REDIRECT - ( -vwsÿnf -, (cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -718 -__gnuc_va_li¡ - -__¬g -), -__isoc99_vwsÿnf -) - -720  - `__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  - `__isoc99_vfwsÿnf - ( -__FILE - * -__»¡riù - -__s -, - -726 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -727 -__gnuc_va_li¡ - -__¬g -); - -728  - `__isoc99_vwsÿnf - (cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -729 -__gnuc_va_li¡ - -__¬g -); - -730  - $__isoc99_vswsÿnf - (cÚ¡ -wch¬_t - * -__»¡riù - -__s -, - -731 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -732 -__gnuc_va_li¡ - -__¬g -è -__THROW -; - -733  - #vfwsÿnf - -__isoc99_vfwsÿnf - - - ) - -734  - #vwsÿnf - -__isoc99_vwsÿnf - - - ) - -735  - #vswsÿnf - -__isoc99_vswsÿnf - - - ) - -739 -__END_NAMESPACE_C99 - - -743 -__BEGIN_NAMESPACE_STD - - -748 -wšt_t - - `fg‘wc - ( -__FILE - * -__¡»am -); - -749 -wšt_t - - `g‘wc - ( -__FILE - * -__¡»am -); - -755 -wšt_t - - `g‘wch¬ - (); - -762 -wšt_t - - `åutwc - ( -wch¬_t - -__wc -, -__FILE - * -__¡»am -); - -763 -wšt_t - - `putwc - ( -wch¬_t - -__wc -, -__FILE - * -__¡»am -); - -769 -wšt_t - - `putwch¬ - ( -wch¬_t - -__wc -); - -777 -wch¬_t - * - `fg‘ws - (wch¬_ˆ* -__»¡riù - -__ws -,  -__n -, - -778 -__FILE - * -__»¡riù - -__¡»am -); - -784  - `åutws - (cÚ¡ -wch¬_t - * -__»¡riù - -__ws -, - -785 -__FILE - * -__»¡riù - -__¡»am -); - -792 -wšt_t - - `ung‘wc - (wšt_ˆ -__wc -, -__FILE - * -__¡»am -); - -793 -__END_NAMESPACE_STD - - -796 #ifdeà -__USE_GNU - - -804 -wšt_t - - `g‘wc_uÆocked - ( -__FILE - * -__¡»am -); - -805 -wšt_t - - `g‘wch¬_uÆocked - (); - -813 -wšt_t - - `fg‘wc_uÆocked - ( -__FILE - * -__¡»am -); - -821 -wšt_t - - `åutwc_uÆocked - ( -wch¬_t - -__wc -, -__FILE - * -__¡»am -); - -830 -wšt_t - - `putwc_uÆocked - ( -wch¬_t - -__wc -, -__FILE - * -__¡»am -); - -831 -wšt_t - - `putwch¬_uÆocked - ( -wch¬_t - -__wc -); - -840 -wch¬_t - * - `fg‘ws_uÆocked - (wch¬_ˆ* -__»¡riù - -__ws -,  -__n -, - -841 -__FILE - * -__»¡riù - -__¡»am -); - -849  - `åutws_uÆocked - (cÚ¡ -wch¬_t - * -__»¡riù - -__ws -, - -850 -__FILE - * -__»¡riù - -__¡»am -); - -854 -__BEGIN_NAMESPACE_C99 - - -858 -size_t - - $wcsáime - ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__maxsize -, - -859 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -860 cÚ¡  -tm - * -__»¡riù - -__ -è -__THROW -; - -861 -__END_NAMESPACE_C99 - - -863 #ifdeà -__USE_GNU - - -864  - ~ - -868 -size_t - - $wcsáime_l - ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__maxsize -, - -869 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -870 cÚ¡  -tm - * -__»¡riù - -__ -, - -871 -__loÿË_t - -__loc -è -__THROW -; - -880 #ià -defšed - -__USE_UNIX98 - && !defšed -__USE_GNU - - -881  - #__Ãed_iswxxx - - - ) - -882  - ~ - -886 #ià -__USE_FORTIFY_LEVEL - > 0 && -defšed - -__fÜtify_funùiÚ - - -887  - ~ - -890 #ifdeà -__LDBL_COMPAT - - -891  - ~ - -894 -__END_DECLS - - -902 #undeà -__Ãed_mb¡©e_t - - -903 #undeà -__Ãed_wšt_t - - - @/usr/include/asm-generic/errno.h - -1 #iâdeà -_ASM_GENERIC_ERRNO_H - - -2  - #_ASM_GENERIC_ERRNO_H - - - ) - -4  - ~ - -6  - #EDEADLK - 35 - - ) - -7  - #ENAMETOOLONG - 36 - - ) - -8  - #ENOLCK - 37 - - ) - -17  - #ENOSYS - 38 - - ) - -19  - #ENOTEMPTY - 39 - - ) - -20  - #ELOOP - 40 - - ) - -21  - #EWOULDBLOCK - -EAGAIN - - - ) - -22  - #ENOMSG - 42 - - ) - -23  - #EIDRM - 43 - - ) - -24  - #ECHRNG - 44 - - ) - -25  - #EL2NSYNC - 45 - - ) - -26  - #EL3HLT - 46 - - ) - -27  - #EL3RST - 47 - - ) - -28  - #ELNRNG - 48 - - ) - -29  - #EUNATCH - 49 - - ) - -30  - #ENOCSI - 50 - - ) - -31  - #EL2HLT - 51 - - ) - -32  - #EBADE - 52 - - ) - -33  - #EBADR - 53 - - ) - -34  - #EXFULL - 54 - - ) - -35  - #ENOANO - 55 - - ) - -36  - #EBADRQC - 56 - - ) - -37  - #EBADSLT - 57 - - ) - -39  - #EDEADLOCK - -EDEADLK - - - ) - -41  - #EBFONT - 59 - - ) - -42  - #ENOSTR - 60 - - ) - -43  - #ENODATA - 61 - - ) - -44  - #ETIME - 62 - - ) - -45  - #ENOSR - 63 - - ) - -46  - #ENONET - 64 - - ) - -47  - #ENOPKG - 65 - - ) - -48  - #EREMOTE - 66 - - ) - -49  - #ENOLINK - 67 - - ) - -50  - #EADV - 68 - - ) - -51  - #ESRMNT - 69 - - ) - -52  - #ECOMM - 70 - - ) - -53  - #EPROTO - 71 - - ) - -54  - #EMULTIHOP - 72 - - ) - -55  - #EDOTDOT - 73 - - ) - -56  - #EBADMSG - 74 - - ) - -57  - #EOVERFLOW - 75 - - ) - -58  - #ENOTUNIQ - 76 - - ) - -59  - #EBADFD - 77 - - ) - -60  - #EREMCHG - 78 - - ) - -61  - #ELIBACC - 79 - - ) - -62  - #ELIBBAD - 80 - - ) - -63  - #ELIBSCN - 81 - - ) - -64  - #ELIBMAX - 82 - - ) - -65  - #ELIBEXEC - 83 - - ) - -66  - #EILSEQ - 84 - - ) - -67  - #ERESTART - 85 - - ) - -68  - #ESTRPIPE - 86 - - ) - -69  - #EUSERS - 87 - - ) - -70  - #ENOTSOCK - 88 - - ) - -71  - #EDESTADDRREQ - 89 - - ) - -72  - #EMSGSIZE - 90 - - ) - -73  - #EPROTOTYPE - 91 - - ) - -74  - #ENOPROTOOPT - 92 - - ) - -75  - #EPROTONOSUPPORT - 93 - - ) - -76  - #ESOCKTNOSUPPORT - 94 - - ) - -77  - #EOPNOTSUPP - 95 - - ) - -78  - #EPFNOSUPPORT - 96 - - ) - -79  - #EAFNOSUPPORT - 97 - - ) - -80  - #EADDRINUSE - 98 - - ) - -81  - #EADDRNOTAVAIL - 99 - - ) - -82  - #ENETDOWN - 100 - - ) - -83  - #ENETUNREACH - 101 - - ) - -84  - #ENETRESET - 102 - - ) - -85  - #ECONNABORTED - 103 - - ) - -86  - #ECONNRESET - 104 - - ) - -87  - #ENOBUFS - 105 - - ) - -88  - #EISCONN - 106 - - ) - -89  - #ENOTCONN - 107 - - ) - -90  - #ESHUTDOWN - 108 - - ) - -91  - #ETOOMANYREFS - 109 - - ) - -92  - #ETIMEDOUT - 110 - - ) - -93  - #ECONNREFUSED - 111 - - ) - -94  - #EHOSTDOWN - 112 - - ) - -95  - #EHOSTUNREACH - 113 - - ) - -96  - #EALREADY - 114 - - ) - -97  - #EINPROGRESS - 115 - - ) - -98  - #ESTALE - 116 - - ) - -99  - #EUCLEAN - 117 - - ) - -100  - #ENOTNAM - 118 - - ) - -101  - #ENAVAIL - 119 - - ) - -102  - #EISNAM - 120 - - ) - -103  - #EREMOTEIO - 121 - - ) - -104  - #EDQUOT - 122 - - ) - -106  - #ENOMEDIUM - 123 - - ) - -107  - #EMEDIUMTYPE - 124 - - ) - -108  - #ECANCELED - 125 - - ) - -109  - #ENOKEY - 126 - - ) - -110  - #EKEYEXPIRED - 127 - - ) - -111  - #EKEYREVOKED - 128 - - ) - -112  - #EKEYREJECTED - 129 - - ) - -115  - #EOWNERDEAD - 130 - - ) - -116  - #ENOTRECOVERABLE - 131 - - ) - -118  - #ERFKILL - 132 - - ) - -120  - #EHWPOISON - 133 - - ) - - @/usr/include/asm-generic/param.h - -1 #iâdeà -__ASM_GENERIC_PARAM_H - - -2  - #__ASM_GENERIC_PARAM_H - - - ) - -4 #iâdeà -HZ - - -5  - #HZ - 100 - - ) - -8 #iâdeà -EXEC_PAGESIZE - - -9  - #EXEC_PAGESIZE - 4096 - - ) - -12 #iâdeà -NOGROUP - - -13  - #NOGROUP - (-1) - - ) - -16  - #MAXHOSTNAMELEN - 64 - - ) - - @/usr/include/asm/sockios.h - -1  - ~ - - @/usr/include/bits/wchar-ldbl.h - -19 #iâdeà -_WCHAR_H - - -23 #ià -defšed - -__USE_ISOC95 - || defšed -__USE_UNIX98 - - -24 -__BEGIN_NAMESPACE_C99 - - -25 -__LDBL_REDIR_DECL - ( -fw´štf -); - -26 -__LDBL_REDIR_DECL - ( -w´štf -); - -27 -__LDBL_REDIR_DECL - ( -sw´štf -); - -28 -__LDBL_REDIR_DECL - ( -vfw´štf -); - -29 -__LDBL_REDIR_DECL - ( -vw´štf -); - -30 -__LDBL_REDIR_DECL - ( -vsw´štf -); - -31 #ià -defšed - -__USE_ISOC99 - && !defšed -__USE_GNU - \ - -32 && ! -defšed - - g__REDIRECT - \ - -33 && ( -defšed - - g__STRICT_ANSI__ - || defšed - 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šed - -__USE_GNU - && !defšed -__REDIRECT - \ - -49 && ( -defšed - -__STRICT_ANSI__ - || defšed -__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šed - -__fÜtify_funùiÚ - - -66 - $__LDBL_REDIR_DECL - ( -__sw´štf_chk -) - -67 - $__LDBL_REDIR_DECL - ( -__vsw´štf_chk -) - -68 #ià -__USE_FORTIFY_LEVEL - > 1 - -69 - $__LDBL_REDIR_DECL - ( -__fw´štf_chk -) - -70 - $__LDBL_REDIR_DECL - ( -__w´štf_chk -) - -71 - $__LDBL_REDIR_DECL - ( -__vfw´štf_chk -) - -72 - $__LDBL_REDIR_DECL - ( -__vw´štf_chk -) - - @/usr/include/bits/wchar2.h - -19 #iâdeà -_WCHAR_H - - -24 -wch¬_t - * - $__wmemýy_chk - ( -wch¬_t - * -__»¡riù - -__s1 -, - -25 cÚ¡ -wch¬_t - * -__»¡riù - -__s2 -, -size_t - -__n -, - -26 -size_t - -__ns1 -è -__THROW -; - -27 -wch¬_t - * - `__REDIRECT_NTH - ( -__wmemýy_®Ÿs -, - -28 ( -wch¬_t - * -__»¡riù - -__s1 -, - -29 cÚ¡ -wch¬_t - * -__»¡riù - -__s2 -, -size_t - -__n -), - -30 -wmemýy -); - -31 -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¬Ç‰r - ("wmemcpy called with†ength biggerhan size of destination " - -38 -__fÜtify_funùiÚ - -wch¬_t - * - -39 - `__NTH - ( - $wmemýy - ( -wch¬_t - * -__»¡riù - -__s1 -, cÚ¡ wch¬_ˆ*__»¡riù -__s2 -, - -40 -size_t - -__n -)) - -42 ià( - `__bos0 - ( -__s1 -è!ð( -size_t -) -1) - -44 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -)) - -45  - `__wmemýy_chk - ( -__s1 -, -__s2 -, -__n -, - -46 - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)); - -48 ià( -__n - > - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)) - -49  - `__wmemýy_chk_w¬n - ( -__s1 -, -__s2 -, -__n -, - -50 - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)); - -52  - `__wmemýy_®Ÿs - ( -__s1 -, -__s2 -, -__n -); - -53 - } -} - -56 -wch¬_t - * - $__wmemmove_chk - ( -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, - -57 -size_t - -__n -, size_ˆ -__ns1 -è -__THROW -; - -58 -wch¬_t - * - `__REDIRECT_NTH - ( -__wmemmove_®Ÿs -, (wch¬_ˆ* -__s1 -, - -59 cÚ¡ -wch¬_t - * -__s2 -, - -60 -size_t - -__n -), -wmemmove -); - -61 -wch¬_t - * - `__REDIRECT_NTH - ( -__wmemmove_chk_w¬n -, - -62 ( -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, - -63 -size_t - -__n -, size_ˆ -__ns1 -), -__wmemmove_chk -) - -64 - `__w¬Ç‰r - ("wmemmove called with†ength biggerhan size of destination " - -67 -__fÜtify_funùiÚ - -wch¬_t - * - -68 - `__NTH - ( - $wmemmove - ( -wch¬_t - * -__s1 -, cÚ¡ wch¬_ˆ* -__s2 -, -size_t - -__n -)) - -70 ià( - `__bos0 - ( -__s1 -è!ð( -size_t -) -1) - -72 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -)) - -73  - `__wmemmove_chk - ( -__s1 -, -__s2 -, -__n -, - -74 - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)); - -76 ià( -__n - > - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)) - -77  - `__wmemmove_chk_w¬n - ( -__s1 -, -__s2 -, -__n -, - -78 - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)); - -80  - `__wmemmove_®Ÿs - ( -__s1 -, -__s2 -, -__n -); - -81 - } -} - -84 #ifdeà -__USE_GNU - - -85 -wch¬_t - * - $__wmempýy_chk - ( -wch¬_t - * -__»¡riù - -__s1 -, - -86 cÚ¡ -wch¬_t - * -__»¡riù - -__s2 -, -size_t - -__n -, - -87 -size_t - -__ns1 -è -__THROW -; - -88 -wch¬_t - * - `__REDIRECT_NTH - ( -__wmempýy_®Ÿs -, - -89 ( -wch¬_t - * -__»¡riù - -__s1 -, - -90 cÚ¡ -wch¬_t - * -__»¡riù - -__s2 -, - -91 -size_t - -__n -), -wmempýy -); - -92 -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¬Ç‰r - ("wmempcpy called with†ength biggerhan size of destination " - -99 -__fÜtify_funùiÚ - -wch¬_t - * - -100 - `__NTH - ( - $wmempýy - ( -wch¬_t - * -__»¡riù - -__s1 -, cÚ¡ wch¬_ˆ*__»¡riù -__s2 -, - -101 -size_t - -__n -)) - -103 ià( - `__bos0 - ( -__s1 -è!ð( -size_t -) -1) - -105 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -)) - -106  - `__wmempýy_chk - ( -__s1 -, -__s2 -, -__n -, - -107 - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)); - -109 ià( -__n - > - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)) - -110  - `__wmempýy_chk_w¬n - ( -__s1 -, -__s2 -, -__n -, - -111 - `__bos0 - ( -__s1 -è/  ( -wch¬_t -)); - -113  - `__wmempýy_®Ÿs - ( -__s1 -, -__s2 -, -__n -); - -114 - } -} - -118 -wch¬_t - * - $__wmem£t_chk - ( -wch¬_t - * -__s -, wch¬_ˆ -__c -, -size_t - -__n -, - -119 -size_t - -__ns -è -__THROW -; - -120 -wch¬_t - * - `__REDIRECT_NTH - ( -__wmem£t_®Ÿs -, (wch¬_ˆ* -__s -, wch¬_ˆ -__c -, - -121 -size_t - -__n -), -wmem£t -); - -122 -wch¬_t - * - `__REDIRECT_NTH - ( -__wmem£t_chk_w¬n -, - -123 ( -wch¬_t - * -__s -, wch¬_ˆ -__c -, -size_t - -__n -, - -124 -size_t - -__ns -), -__wmem£t_chk -) - -125 - `__w¬Ç‰r - ("wmemset called with†ength biggerhan size of destination " - -128 -__fÜtify_funùiÚ - -wch¬_t - * - -129 - `__NTH - ( - $wmem£t - ( -wch¬_t - * -__s -, wch¬_ˆ -__c -, -size_t - -__n -)) - -131 ià( - `__bos0 - ( -__s -è!ð( -size_t -) -1) - -133 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -)) - -134  - `__wmem£t_chk - ( -__s -, -__c -, -__n -, - `__bos0 - (__sè/  ( -wch¬_t -)); - -136 ià( -__n - > - `__bos0 - ( -__s -è/  ( -wch¬_t -)) - -137  - `__wmem£t_chk_w¬n - ( -__s -, -__c -, -__n -, - -138 - `__bos0 - ( -__s -è/  ( -wch¬_t -)); - -140  - `__wmem£t_®Ÿs - ( -__s -, -__c -, -__n -); - -141 - } -} - -144 -wch¬_t - * - $__wcsýy_chk - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -145 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -146 -size_t - -__n -è -__THROW -; - -147 -wch¬_t - * - `__REDIRECT_NTH - ( -__wcsýy_®Ÿs -, - -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¬_ˆ*__»¡riù -__¤c -)) - -154 ià( - `__bos - ( -__de¡ -è!ð( -size_t -) -1) - -155  - `__wcsýy_chk - ( -__de¡ -, -__¤c -, - `__bos - (__de¡è/  ( -wch¬_t -)); - -156  - `__wcsýy_®Ÿs - ( -__de¡ -, -__¤c -); - -157 - } -} - -160 -wch¬_t - * - $__wýýy_chk - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -161 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -162 -size_t - -__de¡Ën -è -__THROW -; - -163 -wch¬_t - * - `__REDIRECT_NTH - ( -__wýýy_®Ÿs -, - -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¬_ˆ*__»¡riù -__¤c -)) - -170 ià( - `__bos - ( -__de¡ -è!ð( -size_t -) -1) - -171  - `__wýýy_chk - ( -__de¡ -, -__¤c -, - `__bos - (__de¡è/  ( -wch¬_t -)); - -172  - `__wýýy_®Ÿs - ( -__de¡ -, -__¤c -); - -173 - } -} - -176 -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 -wch¬_t - * - `__REDIRECT_NTH - ( -__wc¢ýy_®Ÿs -, - -180 ( -wch¬_t - * -__»¡riù - -__de¡ -, - -181 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -182 -size_t - -__n -), -wc¢ýy -); - -183 -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_ˆ -__de¡Ën -), -__wc¢ýy_chk -) - -187 - `__w¬Ç‰r - ("wcsncpy called with†ength biggerhan size of destination " - -190 -__fÜtify_funùiÚ - -wch¬_t - * - -191 - `__NTH - ( - $wc¢ýy - ( -wch¬_t - * -__»¡riù - -__de¡ -, cÚ¡ wch¬_ˆ*__»¡riù -__¤c -, - -192 -size_t - -__n -)) - -194 ià( - `__bos - ( -__de¡ -è!ð( -size_t -) -1) - -196 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -)) - -197  - `__wc¢ýy_chk - ( -__de¡ -, -__¤c -, -__n -, - -198 - `__bos - ( -__de¡ -è/  ( -wch¬_t -)); - -199 ià( -__n - > - `__bos - ( -__de¡ -è/  ( -wch¬_t -)) - -200  - `__wc¢ýy_chk_w¬n - ( -__de¡ -, -__¤c -, -__n -, - -201 - `__bos - ( -__de¡ -è/  ( -wch¬_t -)); - -203  - `__wc¢ýy_®Ÿs - ( -__de¡ -, -__¤c -, -__n -); - -204 - } -} - -207 -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 -wch¬_t - * - `__REDIRECT_NTH - ( -__wýnýy_®Ÿs -, - -211 ( -wch¬_t - * -__»¡riù - -__de¡ -, - -212 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -213 -size_t - -__n -), -wýnýy -); - -214 -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_ˆ -__de¡Ën -), -__wýnýy_chk -) - -218 - `__w¬Ç‰r - ("wcpncpy called with†ength biggerhan size of destination " - -221 -__fÜtify_funùiÚ - -wch¬_t - * - -222 - `__NTH - ( - $wýnýy - ( -wch¬_t - * -__»¡riù - -__de¡ -, cÚ¡ wch¬_ˆ*__»¡riù -__¤c -, - -223 -size_t - -__n -)) - -225 ià( - `__bos - ( -__de¡ -è!ð( -size_t -) -1) - -227 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -)) - -228  - `__wýnýy_chk - ( -__de¡ -, -__¤c -, -__n -, - -229 - `__bos - ( -__de¡ -è/  ( -wch¬_t -)); - -230 ià( -__n - > - `__bos - ( -__de¡ -è/  ( -wch¬_t -)) - -231  - `__wýnýy_chk_w¬n - ( -__de¡ -, -__¤c -, -__n -, - -232 - `__bos - ( -__de¡ -è/  ( -wch¬_t -)); - -234  - `__wýnýy_®Ÿs - ( -__de¡ -, -__¤c -, -__n -); - -235 - } -} - -238 -wch¬_t - * - $__wcsÿt_chk - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -239 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -240 -size_t - -__de¡Ën -è -__THROW -; - -241 -wch¬_t - * - `__REDIRECT_NTH - ( -__wcsÿt_®Ÿs -, - -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¬_ˆ*__»¡riù -__¤c -)) - -248 ià( - `__bos - ( -__de¡ -è!ð( -size_t -) -1) - -249  - `__wcsÿt_chk - ( -__de¡ -, -__¤c -, - `__bos - (__de¡è/  ( -wch¬_t -)); - -250  - `__wcsÿt_®Ÿs - ( -__de¡ -, -__¤c -); - -251 - } -} - -254 -wch¬_t - * - $__wc¢ÿt_chk - ( -wch¬_t - * -__»¡riù - -__de¡ -, - -255 cÚ¡ -wch¬_t - * -__»¡riù - -__¤c -, - -256 -size_t - -__n -, size_ˆ -__de¡Ën -è -__THROW -; - -257 -wch¬_t - * - `__REDIRECT_NTH - ( -__wc¢ÿt_®Ÿs -, - -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¬_ˆ*__»¡riù -__¤c -, - -264 -size_t - -__n -)) - -266 ià( - `__bos - ( -__de¡ -è!ð( -size_t -) -1) - -267  - `__wc¢ÿt_chk - ( -__de¡ -, -__¤c -, -__n -, - -268 - `__bos - ( -__de¡ -è/  ( -wch¬_t -)); - -269  - `__wc¢ÿt_®Ÿs - ( -__de¡ -, -__¤c -, -__n -); - -270 - } -} - -273  - $__sw´štf_chk - ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__n -, - -274  -__æag -, -size_t - -__s_Ën -, - -275 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...) - -276 -__THROW - ; - -278  - `__REDIRECT_NTH_LDBL - ( -__sw´štf_®Ÿs -, - -279 ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__n -, - -280 cÚ¡ -wch¬_t - * -__»¡riù - -__fmt -, ...), - -281 -sw´štf -); - -283 #ifdeà -__va_¬g_·ck - - -284 -__fÜtify_funùiÚ -  - -285 - `__NTH - ( - $sw´štf - ( -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  - `__sw´štf_chk - ( -__s -, -__n -, -__USE_FORTIFY_LEVEL - - 1, - -290 - `__bos - ( -__s -è/  ( -wch¬_t -), - -291 -__fmt -, - `__va_¬g_·ck - ()); - -292  - `__sw´štf_®Ÿs - ( -__s -, -__n -, -__fmt -, - `__va_¬g_·ck - ()); - -293 - } -} - -294 #–ià! -defšed - -__ýlu¥lus - - -296  - #sw´štf -( -s -, -n -, ...) \ - -297 ( - `__bos - ( -s -è!ð( -size_t -è-1 || -__USE_FORTIFY_LEVEL - > 1 \ - -298 ? - `__sw´štf_chk - ( -s -, -n -, -__USE_FORTIFY_LEVEL - - 1, \ - -299 - `__bos - ( -s -è/  ( -wch¬_t -), -__VA_ARGS__ -) \ - -300 : - `sw´štf - ( -s -, -n -, -__VA_ARGS__ -)) - - ) - -303  - $__vsw´štf_chk - ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__n -, - -304  -__æag -, -size_t - -__s_Ën -, - -305 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -306 -__gnuc_va_li¡ - -__¬g -) - -307 -__THROW - ; - -309  - `__REDIRECT_NTH_LDBL - ( -__vsw´štf_®Ÿs -, - -310 ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__n -, - -311 cÚ¡ -wch¬_t - * -__»¡riù - -__fmt -, - -312 -__gnuc_va_li¡ - -__­ -), -vsw´štf -); - -314 -__fÜtify_funùiÚ -  - -315 - `__NTH - ( - $vsw´štf - ( -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  - `__vsw´štf_chk - ( -__s -, -__n -, -__USE_FORTIFY_LEVEL - - 1, - -320 - `__bos - ( -__s -è/  ( -wch¬_t -), -__fmt -, -__­ -); - -321  - `__vsw´štf_®Ÿs - ( -__s -, -__n -, -__fmt -, -__­ -); - -322 - } -} - -325 #ià -__USE_FORTIFY_LEVEL - > 1 - -327  -__fw´štf_chk - ( -__FILE - * -__»¡riù - -__¡»am -,  -__æag -, - -328 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, ...); - -329  -__w´štf_chk - ( -__æag -, cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -331  -__vfw´štf_chk - ( -__FILE - * -__»¡riù - -__¡»am -,  -__æag -, - -332 cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -333 -__gnuc_va_li¡ - -__­ -); - -334  -__vw´štf_chk - ( -__æag -, cÚ¡ -wch¬_t - * -__»¡riù - -__fÜm© -, - -335 -__gnuc_va_li¡ - -__­ -); - -337 #ifdeà -__va_¬g_·ck - - -338 -__fÜtify_funùiÚ -  - -339 - $w´štf - (cÚ¡ -wch¬_t - * -__»¡riù - -__fmt -, ...) - -341  - `__w´štf_chk - ( -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - `__va_¬g_·ck - ()); - -342 - } -} - -344 -__fÜtify_funùiÚ -  - -345 - $fw´štf - ( -__FILE - * -__»¡riù - -__¡»am -, cÚ¡ -wch¬_t - *__»¡riù -__fmt -, ...) - -347  - `__fw´štf_chk - ( -__¡»am -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, - -348 - `__va_¬g_·ck - ()); - -349 - } -} - -350 #–ià! -defšed - -__ýlu¥lus - - -351  - #w´štf -(...) \ - -352 - `__w´štf_chk - ( -__USE_FORTIFY_LEVEL - - 1, -__VA_ARGS__ -) - - ) - -353  - #fw´štf -( -¡»am -, ...) \ - -354 - `__fw´štf_chk - ( -¡»am -, -__USE_FORTIFY_LEVEL - - 1, -__VA_ARGS__ -) - - ) - -357 -__fÜtify_funùiÚ -  - -358 - $vw´štf - (cÚ¡ -wch¬_t - * -__»¡riù - -__fmt -, -__gnuc_va_li¡ - -__­ -) - -360  - `__vw´štf_chk - ( -__USE_FORTIFY_LEVEL - - 1, -__fmt -, -__­ -); - -361 - } -} - -363 -__fÜtify_funùiÚ -  - -364 - $vfw´štf - ( -__FILE - * -__»¡riù - -__¡»am -, - -365 cÚ¡ -wch¬_t - * -__»¡riù - -__fmt -, -__gnuc_va_li¡ - -__­ -) - -367  - `__vfw´štf_chk - ( -__¡»am -, -__USE_FORTIFY_LEVEL - - 1, -__fmt -, -__­ -); - -368 - } -} - -372 -wch¬_t - * - $__fg‘ws_chk - ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__size -,  -__n -, - -373 -__FILE - * -__»¡riù - -__¡»am -è -__wur -; - -374 -wch¬_t - * - `__REDIRECT - ( -__fg‘ws_®Ÿs -, - -375 ( -wch¬_t - * -__»¡riù - -__s -,  -__n -, - -376 -__FILE - * -__»¡riù - -__¡»am -), -fg‘ws -è -__wur -; - -377 -wch¬_t - * - `__REDIRECT - ( -__fg‘ws_chk_w¬n -, - -378 ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__size -,  -__n -, - -379 -__FILE - * -__»¡riù - -__¡»am -), -__fg‘ws_chk -) - -380 -__wur - - `__w¬Ç‰r - ("fgetws called with bigger sizehan†ength " - -383 -__fÜtify_funùiÚ - -__wur - -wch¬_t - * - -384 - $fg‘ws - ( -wch¬_t - * -__»¡riù - -__s -,  -__n -, -__FILE - *__»¡riù -__¡»am -) - -386 ià( - `__bos - ( -__s -è!ð( -size_t -) -1) - -388 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -) || __n <= 0) - -389  - `__fg‘ws_chk - ( -__s -, - `__bos - (__sè/  ( -wch¬_t -), - -390 -__n -, -__¡»am -); - -392 ià(( -size_t -è -__n - > - `__bos - ( -__s -è/  ( -wch¬_t -)) - -393  - `__fg‘ws_chk_w¬n - ( -__s -, - `__bos - (__sè/  ( -wch¬_t -), - -394 -__n -, -__¡»am -); - -396  - `__fg‘ws_®Ÿs - ( -__s -, -__n -, -__¡»am -); - -397 - } -} - -399 #ifdeà -__USE_GNU - - -400 -wch¬_t - * - $__fg‘ws_uÆocked_chk - ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__size -, - -401  -__n -, -__FILE - * -__»¡riù - -__¡»am -) - -402 -__wur -; - -403 -wch¬_t - * - `__REDIRECT - ( -__fg‘ws_uÆocked_®Ÿs -, - -404 ( -wch¬_t - * -__»¡riù - -__s -,  -__n -, - -405 -__FILE - * -__»¡riù - -__¡»am -), -fg‘ws_uÆocked -) - -406 -__wur -; - -407 -wch¬_t - * - `__REDIRECT - ( -__fg‘ws_uÆocked_chk_w¬n -, - -408 ( -wch¬_t - * -__»¡riù - -__s -, -size_t - -__size -,  -__n -, - -409 -__FILE - * -__»¡riù - -__¡»am -), - -410 -__fg‘ws_uÆocked_chk -) - -411 -__wur - - `__w¬Ç‰r - ("fgetws_unlocked called with bigger sizehan†ength " - -414 -__fÜtify_funùiÚ - -__wur - -wch¬_t - * - -415 - $fg‘ws_uÆocked - ( -wch¬_t - * -__»¡riù - -__s -,  -__n -, -__FILE - *__»¡riù -__¡»am -) - -417 ià( - `__bos - ( -__s -è!ð( -size_t -) -1) - -419 ià(! - `__bužtš_cÚ¡ªt_p - ( -__n -) || __n <= 0) - -420  - `__fg‘ws_uÆocked_chk - ( -__s -, - `__bos - (__sè/  ( -wch¬_t -), - -421 -__n -, -__¡»am -); - -423 ià(( -size_t -è -__n - > - `__bos - ( -__s -è/  ( -wch¬_t -)) - -424  - `__fg‘ws_uÆocked_chk_w¬n - ( -__s -, - `__bos - (__sè/  ( -wch¬_t -), - -425 -__n -, -__¡»am -); - -427  - `__fg‘ws_uÆocked_®Ÿs - ( -__s -, -__n -, -__¡»am -); - -428 - } -} - -432 -size_t - - $__wütomb_chk - (* -__»¡riù - -__s -, -wch¬_t - -__wch¬ -, - -433 -mb¡©e_t - * -__»¡riù - -__p -, - -434 -size_t - -__buæ’ -è -__THROW - -__wur -; - -435 -size_t - - `__REDIRECT_NTH - ( -__wütomb_®Ÿs -, - -436 (* -__»¡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 - (* -__»¡riù - -__s -, -wch¬_t - -__wch¬ -, - -441 -mb¡©e_t - * -__»¡riù - -__ps -)) - -446  - #__WCHAR_MB_LEN_MAX - 16 - - ) - -447 #ià -defšed - -MB_LEN_MAX - && MB_LEN_MAX !ð -__WCHAR_MB_LEN_MAX - - -450 ià( - `__bos - ( -__s -è!ð( -size_t -è-1 && -__WCHAR_MB_LEN_MAX - > __bos (__s)) - -451  - `__wütomb_chk - ( -__s -, -__wch¬ -, -__ps -, - `__bos - (__s)); - -452  - `__wütomb_®Ÿs - ( -__s -, -__wch¬ -, -__ps -); - -453 - } -} - -456 -size_t - - $__mb¤towcs_chk - ( -wch¬_t - * -__»¡riù - -__d¡ -, - -457 cÚ¡ ** -__»¡riù - -__¤c -, - -458 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -, - -459 -size_t - -__d¡Ën -è -__THROW -; - -460 -size_t - - `__REDIRECT_NTH - ( -__mb¤towcs_®Ÿs -, - -461 ( -wch¬_t - * -__»¡riù - -__d¡ -, - -462 cÚ¡ ** -__»¡riù - -__¤c -, - -463 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -), - -464 -mb¤towcs -); - -465 -size_t - - `__REDIRECT_NTH - ( -__mb¤towcs_chk_w¬n -, - -466 ( -wch¬_t - * -__»¡riù - -__d¡ -, - -467 cÚ¡ ** -__»¡riù - -__¤c -, - -468 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -, - -469 -size_t - -__d¡Ën -), -__mb¤towcs_chk -) - -470 - `__w¬Ç‰r - ("mbsrtowcs called with dst buffer smallerhan†en " - -473 -__fÜtify_funùiÚ - -size_t - - -474 - `__NTH - ( - $mb¤towcs - ( -wch¬_t - * -__»¡riù - -__d¡ -, cÚ¡ **__»¡riù -__¤c -, - -475 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -)) - -477 ià( - `__bos - ( -__d¡ -è!ð( -size_t -) -1) - -479 ià(! - `__bužtš_cÚ¡ªt_p - ( -__Ën -)) - -480  - `__mb¤towcs_chk - ( -__d¡ -, -__¤c -, -__Ën -, -__ps -, - -481 - `__bos - ( -__d¡ -è/  ( -wch¬_t -)); - -483 ià( -__Ën - > - `__bos - ( -__d¡ -è/  ( -wch¬_t -)) - -484  - `__mb¤towcs_chk_w¬n - ( -__d¡ -, -__¤c -, -__Ën -, -__ps -, - -485 - `__bos - ( -__d¡ -è/  ( -wch¬_t -)); - -487  - `__mb¤towcs_®Ÿs - ( -__d¡ -, -__¤c -, -__Ën -, -__ps -); - -488 - } -} - -491 -size_t - - $__wc¤tombs_chk - (* -__»¡riù - -__d¡ -, - -492 cÚ¡ -wch¬_t - ** -__»¡riù - -__¤c -, - -493 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -, - -494 -size_t - -__d¡Ën -è -__THROW -; - -495 -size_t - - `__REDIRECT_NTH - ( -__wc¤tombs_®Ÿs -, - -496 (* -__»¡riù - -__d¡ -, - -497 cÚ¡ -wch¬_t - ** -__»¡riù - -__¤c -, - -498 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -), - -499 -wc¤tombs -); - -500 -size_t - - `__REDIRECT_NTH - ( -__wc¤tombs_chk_w¬n -, - -501 (* -__»¡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¬Ç‰r - ("wcsrtombs called with dst buffer smallerhan†en"); - -507 -__fÜtify_funùiÚ - -size_t - - -508 - `__NTH - ( - $wc¤tombs - (* -__»¡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žtš_cÚ¡ªt_p - ( -__Ën -)) - -514  - `__wc¤tombs_chk - ( -__d¡ -, -__¤c -, -__Ën -, -__ps -, - `__bos - (__dst)); - -516 ià( -__Ën - > - `__bos - ( -__d¡ -)) - -517  - `__wc¤tombs_chk_w¬n - ( -__d¡ -, -__¤c -, -__Ën -, -__ps -, - `__bos - (__dst)); - -519  - `__wc¤tombs_®Ÿs - ( -__d¡ -, -__¤c -, -__Ën -, -__ps -); - -520 - } -} - -523 #ifdeà -__USE_GNU - - -524 -size_t - - $__mb¢¹owcs_chk - ( -wch¬_t - * -__»¡riù - -__d¡ -, - -525 cÚ¡ ** -__»¡riù - -__¤c -, -size_t - -__nmc -, - -526 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -, - -527 -size_t - -__d¡Ën -è -__THROW -; - -528 -size_t - - `__REDIRECT_NTH - ( -__mb¢¹owcs_®Ÿs -, - -529 ( -wch¬_t - * -__»¡riù - -__d¡ -, - -530 cÚ¡ ** -__»¡riù - -__¤c -, -size_t - -__nmc -, - -531 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -), - -532 -mb¢¹owcs -); - -533 -size_t - - `__REDIRECT_NTH - ( -__mb¢¹owcs_chk_w¬n -, - -534 ( -wch¬_t - * -__»¡riù - -__d¡ -, - -535 cÚ¡ ** -__»¡riù - -__¤c -, -size_t - -__nmc -, - -536 -size_t - -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -, - -537 -size_t - -__d¡Ën -), -__mb¢¹owcs_chk -) - -538 - `__w¬Ç‰r - ("mbsnrtowcs called with dst buffer smallerhan†en " - -541 -__fÜtify_funùiÚ - -size_t - - -542 - `__NTH - ( - $mb¢¹owcs - ( -wch¬_t - * -__»¡riù - -__d¡ -, cÚ¡ **__»¡riù -__¤c -, - -543 -size_t - -__nmc -, size_ˆ -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -)) - -545 ià( - `__bos - ( -__d¡ -è!ð( -size_t -) -1) - -547 ià(! - `__bužtš_cÚ¡ªt_p - ( -__Ën -)) - -548  - `__mb¢¹owcs_chk - ( -__d¡ -, -__¤c -, -__nmc -, -__Ën -, -__ps -, - -549 - `__bos - ( -__d¡ -è/  ( -wch¬_t -)); - -551 ià( -__Ën - > - `__bos - ( -__d¡ -è/  ( -wch¬_t -)) - -552  - `__mb¢¹owcs_chk_w¬n - ( -__d¡ -, -__¤c -, -__nmc -, -__Ën -, -__ps -, - -553 - `__bos - ( -__d¡ -è/  ( -wch¬_t -)); - -555  - `__mb¢¹owcs_®Ÿs - ( -__d¡ -, -__¤c -, -__nmc -, -__Ën -, -__ps -); - -556 - } -} - -559 -size_t - - $__wc¢¹ombs_chk - (* -__»¡riù - -__d¡ -, - -560 cÚ¡ -wch¬_t - ** -__»¡riù - -__¤c -, - -561 -size_t - -__nwc -, size_ˆ -__Ën -, - -562 -mb¡©e_t - * -__»¡riù - -__ps -, -size_t - -__d¡Ën -) - -563 -__THROW -; - -564 -size_t - - `__REDIRECT_NTH - ( -__wc¢¹ombs_®Ÿs -, - -565 (* -__»¡riù - -__d¡ -, - -566 cÚ¡ -wch¬_t - ** -__»¡riù - -__¤c -, - -567 -size_t - -__nwc -, size_ˆ -__Ën -, - -568 -mb¡©e_t - * -__»¡riù - -__ps -), -wc¢¹ombs -); - -569 -size_t - - `__REDIRECT_NTH - ( -__wc¢¹ombs_chk_w¬n -, - -570 (* -__»¡riù - -__d¡ -, - -571 cÚ¡ -wch¬_t - ** -__»¡riù - -__¤c -, - -572 -size_t - -__nwc -, size_ˆ -__Ën -, - -573 -mb¡©e_t - * -__»¡riù - -__ps -, - -574 -size_t - -__d¡Ën -), -__wc¢¹ombs_chk -) - -575 - `__w¬Ç‰r - ("wcsnrtombs called with dst buffer smallerhan†en"); - -577 -__fÜtify_funùiÚ - -size_t - - -578 - `__NTH - ( - $wc¢¹ombs - (* -__»¡riù - -__d¡ -, cÚ¡ -wch¬_t - **__»¡riù -__¤c -, - -579 -size_t - -__nwc -, size_ˆ -__Ën -, -mb¡©e_t - * -__»¡riù - -__ps -)) - -581 ià( - `__bos - ( -__d¡ -è!ð( -size_t -) -1) - -583 ià(! - `__bužtš_cÚ¡ªt_p - ( -__Ën -)) - -584  - `__wc¢¹ombs_chk - ( -__d¡ -, -__¤c -, -__nwc -, -__Ën -, -__ps -, - -585 - `__bos - ( -__d¡ -)); - -587 ià( -__Ën - > - `__bos - ( -__d¡ -)) - -588  - `__wc¢¹ombs_chk_w¬n - ( -__d¡ -, -__¤c -, -__nwc -, -__Ën -, -__ps -, - -589 - `__bos - ( -__d¡ -)); - -591  - `__wc¢¹ombs_®Ÿs - ( -__d¡ -, -__¤c -, -__nwc -, -__Ën -, -__ps -); - -592 - } -} - - @/usr/include/wctype.h - -23 #iâdeà -_WCTYPE_H - - -25  - ~<ã©u»s.h -> - -26  - ~ - -28 #iâdeà -__Ãed_iswxxx - - -29  - #_WCTYPE_H - 1 - - ) - -32  - #__Ãed_wšt_t - - - ) - -33  - ~ - -37 #iâdeà -WEOF - - -38  - #WEOF - (0xffffffffu) - - ) - -41 #undeà -__Ãed_iswxxx - - -46 #iâdeà -__iswxxx_defšed - - -47  - #__iswxxx_defšed - 1 - - ) - -49 -__BEGIN_NAMESPACE_C99 - - -52  - twùy³_t -; - -53 - g__END_NAMESPACE_C99 - - -55 #iâdeà -_ISwb™ - - -60  - ~<’dŸn.h -> - -61 #ià -__BYTE_ORDER - =ð -__BIG_ENDIAN - - -62  - #_ISwb™ -( -b™ -è(1 << (b™)) - - ) - -64  - #_ISwb™ -( -b™ -) \ - -65 (( -b™ -) < 8 ? () ((1UL << (bit)) << 24) \ - -66 : (( -b™ -) < 16 ? () ((1UL << (bit)) << 8) \ - -67 : (( -b™ -) < 24 ? () ((1UL << (bit)) >> 8) \ - -68 : (è((1UL << ( -b™ -)è>> 24)))) - - ) - -73 - m__ISwuµ” - = 0, - -74 - m__ISwlow” - = 1, - -75 - m__ISw®pha - = 2, - -76 - m__ISwdig™ - = 3, - -77 - m__ISwxdig™ - = 4, - -78 - m__ISw¥aû - = 5, - -79 - m__ISw´št - = 6, - -80 - m__ISwg¿ph - = 7, - -81 - m__ISwbÏnk - = 8, - -82 - m__ISwúŒl - = 9, - -83 - m__ISwpunù - = 10, - -84 - m__ISw®num - = 11, - -86 - m_ISwuµ” - = -_ISwb™ - ( -__ISwuµ” -), - -87 - m_ISwlow” - = -_ISwb™ - ( -__ISwlow” -), - -88 - m_ISw®pha - = -_ISwb™ - ( -__ISw®pha -), - -89 - m_ISwdig™ - = -_ISwb™ - ( -__ISwdig™ -), - -90 - m_ISwxdig™ - = -_ISwb™ - ( -__ISwxdig™ -), - -91 - m_ISw¥aû - = -_ISwb™ - ( -__ISw¥aû -), - -92 - m_ISw´št - = -_ISwb™ - ( -__ISw´št -), - -93 - m_ISwg¿ph - = -_ISwb™ - ( -__ISwg¿ph -), - -94 - m_ISwbÏnk - = -_ISwb™ - ( -__ISwbÏnk -), - -95 - m_ISwúŒl - = -_ISwb™ - ( -__ISwúŒl -), - -96 - m_ISwpunù - = -_ISwb™ - ( -__ISwpunù -), - -97 - m_ISw®num - = -_ISwb™ - ( -__ISw®num -) - -102 -__BEGIN_DECLS - - -104 -__BEGIN_NAMESPACE_C99 - - -111  - $isw®num - ( -wšt_t - -__wc -è -__THROW -; - -117  - $isw®pha - ( -wšt_t - -__wc -è -__THROW -; - -120  - $iswúŒl - ( -wšt_t - -__wc -è -__THROW -; - -124  - $iswdig™ - ( -wšt_t - -__wc -è -__THROW -; - -128  - $iswg¿ph - ( -wšt_t - -__wc -è -__THROW -; - -133  - $iswlow” - ( -wšt_t - -__wc -è -__THROW -; - -136  - $isw´št - ( -wšt_t - -__wc -è -__THROW -; - -141  - $iswpunù - ( -wšt_t - -__wc -è -__THROW -; - -146  - $isw¥aû - ( -wšt_t - -__wc -è -__THROW -; - -151  - $iswuµ” - ( -wšt_t - -__wc -è -__THROW -; - -156  - $iswxdig™ - ( -wšt_t - -__wc -è -__THROW -; - -161 #ifdeà -__USE_ISOC99 - - -162  - $iswbÏnk - ( -wšt_t - -__wc -è -__THROW -; - -171 -wùy³_t - - $wùy³ - (cÚ¡ * -__´Ý”ty -è -__THROW -; - -175  - $iswùy³ - ( -wšt_t - -__wc -, -wùy³_t - -__desc -è -__THROW -; - -176 -__END_NAMESPACE_C99 - - -183 -__BEGIN_NAMESPACE_C99 - - -186 cÚ¡ - t__št32_t - * - twù¿ns_t -; - -187 -__END_NAMESPACE_C99 - - -188 #ifdeà -__USE_GNU - - -189 - $__USING_NAMESPACE_C99 -( -wù¿ns_t -) - -192 -__BEGIN_NAMESPACE_C99 - - -194 -wšt_t - - $towlow” - ( -wšt_t - -__wc -è -__THROW -; - -197 -wšt_t - - $towuµ” - ( -wšt_t - -__wc -è -__THROW -; - -198 -__END_NAMESPACE_C99 - - -200 -__END_DECLS - - -207 #ifdeà -_WCTYPE_H - - -213 -__BEGIN_DECLS - - -215 -__BEGIN_NAMESPACE_C99 - - -218 -wù¿ns_t - - $wù¿ns - (cÚ¡ * -__´Ý”ty -è -__THROW -; - -221 -wšt_t - - $towù¿ns - ( -wšt_t - -__wc -, -wù¿ns_t - -__desc -è -__THROW -; - -222 -__END_NAMESPACE_C99 - - -224 #ifdeà -__USE_XOPEN2K8 - - -226  - ~ - -230  - $isw®num_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -236  - $isw®pha_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -239  - $iswúŒl_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -243  - $iswdig™_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -247  - $iswg¿ph_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -252  - $iswlow”_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -255  - $isw´št_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -260  - $iswpunù_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -265  - $isw¥aû_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -270  - $iswuµ”_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -275  - $iswxdig™_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -280  - $iswbÏnk_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -284 -wùy³_t - - $wùy³_l - (cÚ¡ * -__´Ý”ty -, -__loÿË_t - -__loÿË -) - -285 -__THROW -; - -289  - $iswùy³_l - ( -wšt_t - -__wc -, -wùy³_t - -__desc -, -__loÿË_t - -__loÿË -) - -290 -__THROW -; - -298 -wšt_t - - $towlow”_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -301 -wšt_t - - $towuµ”_l - ( -wšt_t - -__wc -, -__loÿË_t - -__loÿË -è -__THROW -; - -305 -wù¿ns_t - - $wù¿ns_l - (cÚ¡ * -__´Ý”ty -, -__loÿË_t - -__loÿË -) - -306 -__THROW -; - -309 -wšt_t - - $towù¿ns_l - ( -wšt_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  - #_ASM_GENERIC_ERRNO_BASE_H - - - ) - -4  - #EPERM - 1 - - ) - -5  - #ENOENT - 2 - - ) - -6  - #ESRCH - 3 - - ) - -7  - #EINTR - 4 - - ) - -8  - #EIO - 5 - - ) - -9  - #ENXIO - 6 - - ) - -10  - #E2BIG - 7 - - ) - -11  - #ENOEXEC - 8 - - ) - -12  - #EBADF - 9 - - ) - -13  - #ECHILD - 10 - - ) - -14  - #EAGAIN - 11 - - ) - -15  - #ENOMEM - 12 - - ) - -16  - #EACCES - 13 - - ) - -17  - #EFAULT - 14 - - ) - -18  - #ENOTBLK - 15 - - ) - -19  - #EBUSY - 16 - - ) - -20  - #EEXIST - 17 - - ) - -21  - #EXDEV - 18 - - ) - -22  - #ENODEV - 19 - - ) - -23  - #ENOTDIR - 20 - - ) - -24  - #EISDIR - 21 - - ) - -25  - #EINVAL - 22 - - ) - -26  - #ENFILE - 23 - - ) - -27  - #EMFILE - 24 - - ) - -28  - #ENOTTY - 25 - - ) - -29  - #ETXTBSY - 26 - - ) - -30  - #EFBIG - 27 - - ) - -31  - #ENOSPC - 28 - - ) - -32  - #ESPIPE - 29 - - ) - -33  - #EROFS - 30 - - ) - -34  - #EMLINK - 31 - - ) - -35  - #EPIPE - 32 - - ) - -36  - #EDOM - 33 - - ) - -37  - #ERANGE - 34 - - ) - - @/usr/include/asm-generic/sockios.h - -1 #iâdeà -__ASM_GENERIC_SOCKIOS_H - - -2  - #__ASM_GENERIC_SOCKIOS_H - - - ) - -5  - #FIOSETOWN - 0x8901 - - ) - -6  - #SIOCSPGRP - 0x8902 - - ) - -7  - #FIOGETOWN - 0x8903 - - ) - -8  - #SIOCGPGRP - 0x8904 - - ) - -9  - #SIOCATMARK - 0x8905 - - ) - -10  - #SIOCGSTAMP - 0x8906 - - ) - -11  - #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 -- 2.16.6