From patchwork Thu Feb 8 01:00:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 127236 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp1005732ljc; Wed, 7 Feb 2018 17:05:23 -0800 (PST) X-Google-Smtp-Source: AH8x227gkxtx4nXonpXVSKIchalsqvC0M5Gh+tSD2zyux5/ANEvU/MOduHW6cseZqBrxDuAmPCRY X-Received: by 10.200.28.46 with SMTP id a43mr13244198qtk.280.1518051922939; Wed, 07 Feb 2018 17:05:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518051922; cv=none; d=google.com; s=arc-20160816; b=loEyI+EWbbdB1kLgRTf6n9FiPV7s6mhgTA59pyj/R1ocbd+Ef6ZorG+At8rOwkiyrf B3f7EblvQdV4s1YknRJx/+kNNL3nqt2soI7freyGO9fFeo9X0DIlOkrd7TQPpUlr7fmw jKRddYYnKQ0EMoO1Gm4z4FJ5JgwvtG9fo+W4tOa2Gq8O2uXm83xyOrb2jb8ayJrEHLGw BkUTZATSysyuWyj2yPEqNk7AmxpKzxpnRJ+AeMD6dz0nu8gqjoVZ9BOD0FpL1pmE04YM 7SCfb7ylZu1rFNTy5+rqiB47aAnPxfqErfnlzNO1to5sraVpqmtIWSnYb8G2FPfH6J9a C6Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=+e5zAX6VKs42RZr9ODEA7JmyisSOsYN11yXbrZijoNo=; b=rsqRpyEXWBOL1kMNXYmr0KylpKaKzTBXeRMp3wLZaW/ESIYhorLFUKznwL6VPDFlMA ECtXTaq6x3qZ8KqigniYT2ZhVI2MmrJGruiWSQkEGwu0oUBXgROOu499hPczXC/VC15N Keq/KYlhJ5sE9cMqoLi9fY1O1okSWihjPVZx+y+5nyw8iTb1RJIA1MkSmIaMzxUi1MVH jSGVCy5a3q5W6UclQP1qjJ53Q0vJuIuciMAP7MuWZZe45SMc8jRjfZtnQR1IU9LHFRLv Zyr8eRzBJH+PAIOCQiXvfUflpzk5If8qQ1STu9WZ0f5K0fyFDZeWI1ucTf5bp6rf5Bis xxCQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (ec2-54-197-127-237.compute-1.amazonaws.com. [54.197.127.237]) by mx.google.com with ESMTP id g10si459510qkb.245.2018.02.07.17.05.22; Wed, 07 Feb 2018 17:05:22 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) client-ip=54.197.127.237; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id 8C0E7607C7; Thu, 8 Feb 2018 01:05:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 3A7B86179E; Thu, 8 Feb 2018 01:01:06 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 154996176F; Thu, 8 Feb 2018 01:00:58 +0000 (UTC) Received: from forward103j.mail.yandex.net (forward103j.mail.yandex.net [5.45.198.246]) by lists.linaro.org (Postfix) with ESMTPS id DBD5260953 for ; Thu, 8 Feb 2018 01:00:18 +0000 (UTC) Received: from mxback11j.mail.yandex.net (mxback11j.mail.yandex.net [IPv6:2a02:6b8:0:1619::84]) by forward103j.mail.yandex.net (Yandex) with ESMTP id 1B46C34C5B54 for ; Thu, 8 Feb 2018 04:00:17 +0300 (MSK) Received: from smtp4j.mail.yandex.net (smtp4j.mail.yandex.net [2a02:6b8:0:1619::15:6]) by mxback11j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id CWllBwAbWH-0HESQsRB; Thu, 08 Feb 2018 04:00:17 +0300 Received: by smtp4j.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id xqwqDwrtMO-0GneIji6; Thu, 08 Feb 2018 04:00:16 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Thu, 8 Feb 2018 04:00:15 +0300 Message-Id: <1518051615-20882-2-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518051615-20882-1-git-send-email-odpbot@yandex.ru> References: <1518051615-20882-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 449 Subject: [lng-odp] [PATCH v5 1/1] build: add version script for libodp-linux.so X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Dmitry Eremin-Solenikov For ABI-compat case provide version script declaring all public symbols (and their versions). For now all symbols are reset to version 1.17 (latest public release). API and ABI checking will be set up to ease maintaining of version script. Signed-off-by: Dmitry Eremin-Solenikov --- /** Email created from pull request 449 (lumag:visibility) ** https://github.com/Linaro/odp/pull/449 ** Patch: https://github.com/Linaro/odp/pull/449.patch ** Base sha: 257b08b35ceea41bad5a7f1c626496cf111e657a ** Merge commit sha: c07aaf8a79effa3cd4526a63fad4850f422096dc **/ platform/Makefile.inc | 6 +- platform/libodp-linux.map | 600 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 605 insertions(+), 1 deletion(-) create mode 100644 platform/libodp-linux.map diff --git a/platform/Makefile.inc b/platform/Makefile.inc index a39cf69bb..b65e12cd4 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -8,8 +8,12 @@ lib_LTLIBRARIES = $(LIB)/libodp-linux.la AM_LDFLAGS = -version-number '$(ODP_LIBSO_VERSION)' +VERSION_SCRIPT = $(srcdir)/../libodp-linux.map +EXTRA_DIST = $(VERSION_SCRIPT) + if ODP_ABI_COMPAT -AM_LDFLAGS += -export-symbols-regex '^(_deprecated)?odp_' +AM_LDFLAGS += -Wl,--version-script=$(VERSION_SCRIPT) +EXTRA___LIB__libodp_linux_la_DEPENDENCIES = $(VERSION_SCRIPT) else AM_LDFLAGS += -export-symbols-regex '^(_deprecated)?_?odp_' endif diff --git a/platform/libodp-linux.map b/platform/libodp-linux.map new file mode 100644 index 000000000..868a5e3ad --- /dev/null +++ b/platform/libodp-linux.map @@ -0,0 +1,600 @@ +LIBODP_LINUX_1.17 { + global: + odp_atomic_add_rel_u32; + odp_atomic_add_rel_u64; + odp_atomic_add_u32; + odp_atomic_add_u64; + odp_atomic_cas_acq_rel_u32; + odp_atomic_cas_acq_rel_u64; + odp_atomic_cas_acq_u32; + odp_atomic_cas_acq_u64; + odp_atomic_cas_rel_u32; + odp_atomic_cas_rel_u64; + odp_atomic_cas_u32; + odp_atomic_cas_u64; + odp_atomic_dec_u32; + odp_atomic_dec_u64; + odp_atomic_fetch_add_u32; + odp_atomic_fetch_add_u64; + odp_atomic_fetch_dec_u32; + odp_atomic_fetch_dec_u64; + odp_atomic_fetch_inc_u32; + odp_atomic_fetch_inc_u64; + odp_atomic_fetch_sub_u32; + odp_atomic_fetch_sub_u64; + odp_atomic_inc_u32; + odp_atomic_inc_u64; + odp_atomic_init_u32; + odp_atomic_init_u64; + odp_atomic_load_acq_u32; + odp_atomic_load_acq_u64; + odp_atomic_load_u32; + odp_atomic_load_u64; + odp_atomic_lock_free_u64; + odp_atomic_max_u32; + odp_atomic_max_u64; + odp_atomic_min_u32; + odp_atomic_min_u64; + odp_atomic_store_rel_u32; + odp_atomic_store_rel_u64; + odp_atomic_store_u32; + odp_atomic_store_u64; + odp_atomic_sub_rel_u32; + odp_atomic_sub_rel_u64; + odp_atomic_sub_u32; + odp_atomic_sub_u64; + odp_atomic_xchg_u32; + odp_atomic_xchg_u64; + odp_barrier_init; + odp_barrier_wait; + odp_be_to_cpu_16; + odp_be_to_cpu_32; + odp_be_to_cpu_64; + odp_buffer_addr; + odp_buffer_alloc; + odp_buffer_alloc_multi; + odp_buffer_free; + odp_buffer_free_multi; + odp_buffer_from_event; + odp_buffer_is_valid; + odp_buffer_pool; + odp_buffer_print; + odp_buffer_size; + odp_buffer_to_event; + odp_buffer_to_u64; + odp_chksum_ones_comp16; + odp_cls_capability; + odp_cls_cos_create; + odp_cls_cos_num_queue; + odp_cls_cos_param_init; + odp_cls_cos_pool; + odp_cls_cos_pool_set; + odp_cls_cos_queues; + odp_cls_pmr_create; + odp_cls_pmr_destroy; + odp_cls_pmr_param_init; + odp_cos_destroy; + odp_cos_drop; + odp_cos_drop_set; + odp_cos_queue; + odp_cos_queue_set; + odp_cos_to_u64; + odp_cos_with_l2_priority; + odp_cos_with_l3_qos; + odp_cpu_count; + odp_cpu_cycles; + odp_cpu_cycles_diff; + odp_cpu_cycles_max; + odp_cpu_cycles_resolution; + odp_cpu_hz; + odp_cpu_hz_id; + odp_cpu_hz_max; + odp_cpu_hz_max_id; + odp_cpu_id; + odp_cpumask_all_available; + odp_cpumask_and; + odp_cpumask_clr; + odp_cpumask_copy; + odp_cpumask_count; + odp_cpumask_default_control; + odp_cpumask_default_worker; + odp_cpumask_equal; + odp_cpumask_first; + odp_cpumask_from_str; + odp_cpumask_isset; + odp_cpumask_last; + odp_cpumask_next; + odp_cpumask_or; + odp_cpumask_set; + odp_cpumask_setall; + odp_cpumask_to_str; + odp_cpumask_xor; + odp_cpumask_zero; + odp_cpu_model_str; + odp_cpu_model_str_id; + odp_cpu_to_be_16; + odp_cpu_to_be_32; + odp_cpu_to_be_64; + odp_cpu_to_le_16; + odp_cpu_to_le_32; + odp_cpu_to_le_64; + odp_crypto_auth_capability; + odp_crypto_capability; + odp_crypto_cipher_capability; + odp_crypto_compl_free; + odp_crypto_compl_from_event; + odp_crypto_compl_result; + odp_crypto_compl_to_event; + odp_crypto_compl_to_u64; + odp_crypto_op; + odp_crypto_op_enq; + odp_crypto_operation; + odp_crypto_packet_from_event; + odp_crypto_packet_to_event; + odp_crypto_result; + odp_crypto_session_create; + odp_crypto_session_destroy; + odp_crypto_session_param_init; + odp_crypto_session_to_u64; + odp_errno; + odp_errno_print; + odp_errno_str; + odp_errno_zero; + odp_event_filter_packet; + odp_event_free; + odp_event_free_multi; + odp_event_free_sp; + odp_event_subtype; + odp_event_to_u64; + odp_event_type; + odp_event_type_multi; + odp_event_types; + odp_hash_crc32c; + odp_init_global; + odp_init_local; + odp_init_param_init; + odp_ipsec_auth_capability; + odp_ipsec_capability; + odp_ipsec_cipher_capability; + odp_ipsec_config; + odp_ipsec_config_init; + odp_ipsec_in; + odp_ipsec_in_enq; + odp_ipsec_out; + odp_ipsec_out_enq; + odp_ipsec_out_inline; + odp_ipsec_packet_from_event; + odp_ipsec_packet_to_event; + odp_ipsec_result; + odp_ipsec_sa_context; + odp_ipsec_sa_create; + odp_ipsec_sa_destroy; + odp_ipsec_sa_disable; + odp_ipsec_sa_mtu_update; + odp_ipsec_sa_param_init; + odp_ipsec_sa_to_u64; + odp_ipsec_status; + odp_le_to_cpu_16; + odp_le_to_cpu_32; + odp_le_to_cpu_64; + odp_mb_acquire; + odp_mb_full; + odp_mb_release; + odp_memcmp; + odp_memcpy; + odp_memset; + odp_override_abort; + odp_override_log; + odp_packet_add_data; + odp_packet_align; + odp_packet_alloc; + odp_packet_alloc_multi; + odp_packet_buf_len; + odp_packet_color; + odp_packet_color_set; + odp_packet_concat; + odp_packet_copy; + odp_packet_copy_data; + odp_packet_copy_from_mem; + odp_packet_copy_from_pkt; + odp_packet_copy_part; + odp_packet_copy_to_mem; + odp_packet_data; + odp_packet_drop_eligible; + odp_packet_drop_eligible_set; + odp_packet_extend_head; + odp_packet_extend_tail; + odp_packet_first_seg; + odp_packet_flow_hash; + odp_packet_flow_hash_set; + odp_packet_free; + odp_packet_free_multi; + odp_packet_free_sp; + odp_packet_from_event; + odp_packet_from_event_multi; + odp_packet_has_arp; + odp_packet_has_arp_set; + odp_packet_has_error; + odp_packet_has_eth; + odp_packet_has_eth_bcast; + odp_packet_has_eth_bcast_set; + odp_packet_has_eth_mcast; + odp_packet_has_eth_mcast_set; + odp_packet_has_eth_set; + odp_packet_has_flow_hash; + odp_packet_has_flow_hash_clr; + odp_packet_has_icmp; + odp_packet_has_icmp_set; + odp_packet_has_ip_bcast; + odp_packet_has_ip_bcast_set; + odp_packet_has_ipfrag; + odp_packet_has_ipfrag_set; + odp_packet_has_ip_mcast; + odp_packet_has_ip_mcast_set; + odp_packet_has_ipopt; + odp_packet_has_ipopt_set; + odp_packet_has_ipsec; + odp_packet_has_ipsec_set; + odp_packet_has_ipv4; + odp_packet_has_ipv4_set; + odp_packet_has_ipv6; + odp_packet_has_ipv6_set; + odp_packet_has_jumbo; + odp_packet_has_jumbo_set; + odp_packet_has_l2; + odp_packet_has_l2_error; + odp_packet_has_l2_set; + odp_packet_has_l3; + odp_packet_has_l3_error; + odp_packet_has_l3_set; + odp_packet_has_l4; + odp_packet_has_l4_error; + odp_packet_has_l4_set; + odp_packet_has_ref; + odp_packet_has_sctp; + odp_packet_has_sctp_set; + odp_packet_has_tcp; + odp_packet_has_tcp_set; + odp_packet_has_ts; + odp_packet_has_ts_clr; + odp_packet_has_udp; + odp_packet_has_udp_set; + odp_packet_has_vlan; + odp_packet_has_vlan_qinq; + odp_packet_has_vlan_qinq_set; + odp_packet_has_vlan_set; + odp_packet_head; + odp_packet_headroom; + odp_packet_input; + odp_packet_input_index; + odp_packet_is_segmented; + odp_packet_is_valid; + odp_packet_l2_offset; + odp_packet_l2_offset_set; + odp_packet_l2_ptr; + odp_packet_l3_chksum_insert; + odp_packet_l3_chksum_status; + odp_packet_l3_offset; + odp_packet_l3_offset_set; + odp_packet_l3_ptr; + odp_packet_l4_chksum_insert; + odp_packet_l4_chksum_status; + odp_packet_l4_offset; + odp_packet_l4_offset_set; + odp_packet_l4_ptr; + odp_packet_last_seg; + odp_packet_len; + odp_packet_move_data; + odp_packet_next_seg; + odp_packet_num_segs; + odp_packet_offset; + odp_packet_ones_comp; + odp_packet_parse; + odp_packet_parse_multi; + odp_packet_pool; + odp_packet_prefetch; + odp_packet_print; + odp_packet_print_data; + odp_packet_pull_head; + odp_packet_pull_tail; + odp_packet_push_head; + odp_packet_push_tail; + odp_packet_ref; + odp_packet_ref_pkt; + odp_packet_ref_static; + odp_packet_rem_data; + odp_packet_reset; + odp_packet_seg_data; + odp_packet_seg_data_len; + odp_packet_seg_len; + odp_packet_seg_to_u64; + odp_packet_shaper_len_adjust; + odp_packet_shaper_len_adjust_set; + odp_packet_split; + odp_packet_tail; + odp_packet_tailroom; + odp_packet_to_event; + odp_packet_to_event_multi; + odp_packet_to_u64; + odp_packet_trunc_head; + odp_packet_trunc_tail; + odp_packet_ts; + odp_packet_ts_set; + odp_packet_user_area; + odp_packet_user_area_size; + odp_packet_user_ptr; + odp_packet_user_ptr_set; + odp_pktin_event_queue; + odp_pktin_maxlen; + odp_pktin_queue; + odp_pktin_queue_config; + odp_pktin_queue_param_init; + odp_pktin_recv; + odp_pktin_recv_mq_tmo; + odp_pktin_recv_tmo; + odp_pktin_ts_from_ns; + odp_pktin_ts_res; + odp_pktin_wait_time; + odp_pktio_capability; + odp_pktio_close; + odp_pktio_config; + odp_pktio_config_init; + odp_pktio_default_cos_set; + odp_pktio_error_cos_set; + odp_pktio_headroom_set; + odp_pktio_index; + odp_pktio_info; + odp_pktio_link_status; + odp_pktio_lookup; + odp_pktio_mac_addr; + odp_pktio_mac_addr_set; + odp_pktio_max_index; + odp_pktio_open; + odp_pktio_param_init; + odp_pktio_print; + odp_pktio_promisc_mode; + odp_pktio_promisc_mode_set; + odp_pktio_skip_set; + odp_pktio_start; + odp_pktio_stats; + odp_pktio_stats_reset; + odp_pktio_stop; + odp_pktio_to_u64; + odp_pktout_event_queue; + odp_pktout_maxlen; + odp_pktout_queue; + odp_pktout_queue_config; + odp_pktout_queue_param_init; + odp_pktout_send; + odp_pmr_to_u64; + odp_pool_capability; + odp_pool_create; + odp_pool_destroy; + odp_pool_info; + odp_pool_lookup; + odp_pool_param_init; + odp_pool_print; + odp_pool_to_u64; + odp_queue_capability; + odp_queue_context; + odp_queue_context_set; + odp_queue_create; + odp_queue_deq; + odp_queue_deq_multi; + odp_queue_destroy; + odp_queue_enq; + odp_queue_enq_multi; + odp_queue_info; + odp_queue_lock_count; + odp_queue_lookup; + odp_queue_param_init; + odp_queue_sched_group; + odp_queue_sched_prio; + odp_queue_sched_type; + odp_queue_to_u64; + odp_queue_type; + odp_random_data; + odp_random_max_kind; + odp_random_test_data; + odp_rwlock_init; + odp_rwlock_read_lock; + odp_rwlock_read_trylock; + odp_rwlock_read_unlock; + odp_rwlock_recursive_init; + odp_rwlock_recursive_read_lock; + odp_rwlock_recursive_read_trylock; + odp_rwlock_recursive_read_unlock; + odp_rwlock_recursive_write_lock; + odp_rwlock_recursive_write_trylock; + odp_rwlock_recursive_write_unlock; + odp_rwlock_write_lock; + odp_rwlock_write_trylock; + odp_rwlock_write_unlock; + odp_schedule; + odp_schedule_group_create; + odp_schedule_group_destroy; + odp_schedule_group_info; + odp_schedule_group_join; + odp_schedule_group_leave; + odp_schedule_group_lookup; + odp_schedule_group_thrmask; + odp_schedule_multi; + odp_schedule_num_prio; + odp_schedule_order_lock; + odp_schedule_order_unlock; + odp_schedule_order_unlock_lock; + odp_schedule_pause; + odp_schedule_prefetch; + odp_schedule_release_atomic; + odp_schedule_release_ordered; + odp_schedule_resume; + odp_schedule_wait_time; + odp_shm_addr; + odp_shm_capability; + odp_shm_free; + odp_shm_import; + odp_shm_info; + odp_shm_lookup; + odp_shm_print; + odp_shm_print_all; + odp_shm_reserve; + odp_shm_to_u64; + odp_spinlock_init; + odp_spinlock_is_locked; + odp_spinlock_lock; + odp_spinlock_recursive_init; + odp_spinlock_recursive_is_locked; + odp_spinlock_recursive_lock; + odp_spinlock_recursive_trylock; + odp_spinlock_recursive_unlock; + odp_spinlock_trylock; + odp_spinlock_unlock; + odp_sys_cache_line_size; + odp_sys_huge_page_size; + odp_sys_huge_page_size_all; + odp_sys_info_print; + odp_sys_page_size; + odp_term_global; + odp_term_local; + odp_thread_count; + odp_thread_count_max; + odp_thread_id; + odp_thread_type; + odp_thrmask_and; + odp_thrmask_clr; + odp_thrmask_control; + odp_thrmask_copy; + odp_thrmask_count; + odp_thrmask_equal; + odp_thrmask_first; + odp_thrmask_from_str; + odp_thrmask_isset; + odp_thrmask_last; + odp_thrmask_next; + odp_thrmask_or; + odp_thrmask_set; + odp_thrmask_setall; + odp_thrmask_to_str; + odp_thrmask_worker; + odp_thrmask_xor; + odp_thrmask_zero; + odp_ticketlock_init; + odp_ticketlock_is_locked; + odp_ticketlock_lock; + odp_ticketlock_trylock; + odp_ticketlock_unlock; + odp_time_cmp; + odp_time_diff; + odp_time_diff_ns; + odp_time_global; + odp_time_global_from_ns; + odp_time_global_res; + odp_time_local; + odp_time_local_from_ns; + odp_time_local_res; + odp_timeout_alloc; + odp_timeout_free; + odp_timeout_fresh; + odp_timeout_from_event; + odp_timeout_tick; + odp_timeout_timer; + odp_timeout_to_event; + odp_timeout_to_u64; + odp_timeout_user_ptr; + odp_timer_alloc; + odp_timer_cancel; + odp_timer_capability; + odp_timer_current_tick; + odp_timer_free; + odp_timer_ns_to_tick; + odp_timer_pool_create; + odp_timer_pool_destroy; + odp_timer_pool_info; + odp_timer_pool_start; + odp_timer_pool_to_u64; + odp_timer_set_abs; + odp_timer_set_rel; + odp_timer_tick_to_ns; + odp_timer_to_u64; + odp_time_sum; + odp_time_to_ns; + odp_time_wait_ns; + odp_time_wait_until; + odp_tm_capabilities; + odp_tm_capability; + odp_tm_create; + odp_tm_destroy; + odp_tm_drop_prec_marking; + odp_tm_ecn_marking; + odp_tm_egress_init; + odp_tm_enq; + odp_tm_enq_with_cnt; + odp_tm_find; + odp_tm_is_idle; + odp_tm_node_connect; + odp_tm_node_context; + odp_tm_node_context_set; + odp_tm_node_create; + odp_tm_node_destroy; + odp_tm_node_disconnect; + odp_tm_node_fanin_info; + odp_tm_node_info; + odp_tm_node_lookup; + odp_tm_node_params_init; + odp_tm_node_sched_config; + odp_tm_node_shaper_config; + odp_tm_node_threshold_config; + odp_tm_node_wred_config; + odp_tm_priority_query; + odp_tm_priority_threshold_config; + odp_tm_queue_connect; + odp_tm_queue_context; + odp_tm_queue_context_set; + odp_tm_queue_create; + odp_tm_queue_destroy; + odp_tm_queue_disconnect; + odp_tm_queue_info; + odp_tm_queue_params_init; + odp_tm_queue_query; + odp_tm_queue_sched_config; + odp_tm_queue_shaper_config; + odp_tm_queue_threshold_config; + odp_tm_queue_wred_config; + odp_tm_requirements_init; + odp_tm_sched_create; + odp_tm_sched_destroy; + odp_tm_sched_lookup; + odp_tm_sched_params_init; + odp_tm_sched_params_read; + odp_tm_sched_params_update; + odp_tm_shaper_create; + odp_tm_shaper_destroy; + odp_tm_shaper_lookup; + odp_tm_shaper_params_init; + odp_tm_shaper_params_read; + odp_tm_shaper_params_update; + odp_tm_stats_print; + odp_tm_threshold_create; + odp_tm_threshold_destroy; + odp_tm_threshold_params_init; + odp_tm_thresholds_lookup; + odp_tm_thresholds_params_read; + odp_tm_thresholds_params_update; + odp_tm_total_query; + odp_tm_total_threshold_config; + odp_tm_vlan_marking; + odp_tm_wred_create; + odp_tm_wred_destroy; + odp_tm_wred_lookup; + odp_tm_wred_params_init; + odp_tm_wred_params_read; + odp_tm_wred_params_update; + odp_version_api_str; + odp_version_impl_name; + odp_version_impl_str; + +local: + *; + + _odp_*; +};