From 720998394c5d613529ce616b333c0de5da1b8de4 Mon Sep 17 00:00:00 2001 From: Deepak S Date: Thu, 15 Jun 2017 23:23:29 -0700 Subject: 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_cgĒ±_commŚ.h -" - -37  - ~"p–še_ałiŚs_commŚ.h -" - -38  - ~"p–še_cgĒ±_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  -cgĒ±_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_cgĒ± - * -p_Ēt -, - -464  -p–še_cgĒ±_’Œ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  -cgĒ±_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_cgĒ±_’Œ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_cgĒ±_’Œ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 --> -Ē±DrŻ³dPktCouĮ -++; - -664 #ifdeą -CGNAPT_DEBUGGING - - -665 -p_Ēt --> -Ē±DrŻ³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_cgĒ±_’Œ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_cgĒ±_’Œ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_cgĒ±_’Œ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 --> -Ē±DrŻ³dPktCouĮ -++; - -811 #ifdeą -CGNAPT_DEBUGGING - - -812 -p_Ēt --> -Ē±DrŻ³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_cgĒ± - * -p_Ēt -, - -95  -p–še_cgĒ±_’Œ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 - - $cgĒ±_ł_“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 - -cgĒ±_ł_“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 -- cgit 1.2.3-korg