From patchwork Thu Feb 8 02:00:13 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: 127244 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp1040373ljc; Wed, 7 Feb 2018 18:02:39 -0800 (PST) X-Google-Smtp-Source: AH8x2269GT7iHB+GoIWV0bxaTBnuq0PlPAiwoEM0+4O4PATCJzMz2eGMQ8pExEQ0WDZcjUwYnp21 X-Received: by 10.237.46.132 with SMTP id k4mr12664174qtd.325.1518055359753; Wed, 07 Feb 2018 18:02:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518055359; cv=none; d=google.com; s=arc-20160816; b=KXWssa9wwhVgeBvRu0cI4HSxIR+5fBJ8bzmYzzdvBSPQNGRBRYHKNnYTqr3CGYvZqY AgfItAzfwNHdJ8sKlNnBenCXOAfGBCiCCgtbxK9CsLPJiuw8RLoisUrjyPufR7l3LdwE qhz6XBh8gVhk5vrLx7jga5lobFPp/W+fdOGLG4EGveLBAeB0SpNgbfOIm9w5wlWrwHep 7MWxWychU3/Se2gG+YAY1vKvN6U7MI47kWL4XXLyj5xtbI6GXVDu+WPgSdPPn3W3Ww80 rmwK+ExO71wf8wwRlbXM+euupKjQzXYa14WEeI3F+OjmRC8kIQoYyszyf8CGPaqM8+Bq 4mCA== 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=1LmW0SKU7Bb7TMdqHCKRwytCONZuDLb4h09BMrfpJ60=; b=zgdL71w2PgVKAAqfwvzTPmpum4JqPlrnqtvapVeUGZGyKrDUyw+AlUV73eq3uB+IcQ nPwHgcTl6vVrnxE2dkKrojuJhKHL/+pVQzJAszS63MDaos+ce9FHwsyTsahLWSrS/yAJ 4ivEjFE4k+9Ez4kvHgKHsEPs3Jjkn7QaMfHrsJax0P57md24NTXbgX6Fcoy2850x79qe aUCF1+RS/ihnI3UWTACuLCHEze4/8bhYfpg7a5cjXFjUxhkvE+k8KCuKynIMa+RPFHD7 Og4dcqP1t0uFduSa8TVI/mOp+xg4sXP7sHaunT9xuly+RGDTHQBeKiHhNb0/Z5ZwxsXC jjug== 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 x132si387365qkb.381.2018.02.07.18.02.39; Wed, 07 Feb 2018 18:02:39 -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 5D3066174D; Thu, 8 Feb 2018 02:02:39 +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 60E21617A9; Thu, 8 Feb 2018 02:00:45 +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 2B9DC6050B; Thu, 8 Feb 2018 02:00:39 +0000 (UTC) Received: from forward103j.mail.yandex.net (forward103j.mail.yandex.net [5.45.198.246]) by lists.linaro.org (Postfix) with ESMTPS id 1E9C56050B for ; Thu, 8 Feb 2018 02:00:16 +0000 (UTC) Received: from mxback3g.mail.yandex.net (mxback3g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:164]) by forward103j.mail.yandex.net (Yandex) with ESMTP id 915FA34C3148 for ; Thu, 8 Feb 2018 05:00:14 +0300 (MSK) Received: from smtp3o.mail.yandex.net (smtp3o.mail.yandex.net [2a02:6b8:0:1a2d::27]) by mxback3g.mail.yandex.net (nwsmtp/Yandex) with ESMTP id HuCMh9bc6C-0ED87RnP; Thu, 08 Feb 2018 05:00:14 +0300 Received: by smtp3o.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id yYcQXqYzFU-0DRmtfRk; Thu, 08 Feb 2018 05:00:13 +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 05:00:13 +0300 Message-Id: <1518055213-23904-2-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518055213-23904-1-git-send-email-odpbot@yandex.ru> References: <1518055213-23904-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 449 Subject: [lng-odp] [PATCH v6 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: b47f839015cb7b0c690bd1d309a5c131feb266b2 **/ platform/Makefile.inc | 8 +- platform/libodp-linux.map | 600 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 606 insertions(+), 2 deletions(-) create mode 100644 platform/libodp-linux.map diff --git a/platform/Makefile.inc b/platform/Makefile.inc index a39cf69bb..4a14dc719 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 @@ -19,4 +23,4 @@ AM_CFLAGS += $(VISIBILITY_CFLAGS) AM_CFLAGS += @PTHREAD_CFLAGS@ -EXTRA_DIST = doc/platform_specific.dox +EXTRA_DIST += doc/platform_specific.dox 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_*; +};