1 // SPDX-FileCopyrightText: 2009 Paul E. McKenney, IBM Corporation. 2 // SPDX-FileCopyrightText: 2009 Mathieu Desnoyers <mathieu.desnoyers (at) efficios.com> 3 // 4 // SPDX-License-Identifier: LGPL-2.1-or-later 5 6 /* 7 * Userspace RCU header -- name mapping to allow multiple flavors to be 8 * used in the same executable. 9 * 10 * LGPL-compatible code should include this header with : 11 * 12 * #define _LGPL_SOURCE 13 * #include <urcu.h> 14 * 15 * IBM's contributions to this file may be relicensed under LGPLv2 or later. 16 */ 17 18 #define rcu_read_lock urcu_mb_read_lock 19 #define _rcu_read_lock _urcu_mb_read_lock 20 #define rcu_read_unlock urcu_mb_read_unlock 21 #define _rcu_read_unlock _urcu_mb_read_unlock 22 #define rcu_read_ongoing urcu_mb_read_ongoing 23 #define _rcu_read_ongoing _urcu_mb_read_ongoing 24 #define rcu_quiescent_state urcu_mb_quiescent_state 25 #define _rcu_quiescent_state _urcu_mb_quiescent_state 26 #define rcu_thread_offline urcu_mb_thread_offline 27 #define rcu_thread_online urcu_mb_thread_online 28 #define rcu_register_thread urcu_mb_register_thread 29 #define rcu_unregister_thread urcu_mb_unregister_thread 30 #define rcu_init urcu_mb_init 31 #define rcu_exit urcu_mb_exit 32 #define synchronize_rcu urcu_mb_synchronize_rcu 33 #define rcu_reader urcu_mb_reader 34 #define rcu_gp urcu_mb_gp 35 36 #define get_cpu_call_rcu_data urcu_mb_get_cpu_call_rcu_data 37 #define get_call_rcu_thread urcu_mb_get_call_rcu_thread 38 #define create_call_rcu_data urcu_mb_create_call_rcu_data 39 #define set_cpu_call_rcu_data urcu_mb_set_cpu_call_rcu_data 40 #define get_default_call_rcu_data urcu_mb_get_default_call_rcu_data 41 #define get_call_rcu_data urcu_mb_get_call_rcu_data 42 #define get_thread_call_rcu_data urcu_mb_get_thread_call_rcu_data 43 #define set_thread_call_rcu_data urcu_mb_set_thread_call_rcu_data 44 #define create_all_cpu_call_rcu_data urcu_mb_create_all_cpu_call_rcu_data 45 #define free_all_cpu_call_rcu_data urcu_mb_free_all_cpu_call_rcu_data 46 #define call_rcu urcu_mb_call_rcu 47 #define call_rcu_data_free urcu_mb_call_rcu_data_free 48 #define call_rcu_before_fork urcu_mb_call_rcu_before_fork 49 #define call_rcu_after_fork_parent urcu_mb_call_rcu_after_fork_parent 50 #define call_rcu_after_fork_child urcu_mb_call_rcu_after_fork_child 51 #define rcu_barrier urcu_mb_barrier 52 53 #define defer_rcu urcu_mb_defer_rcu 54 #define rcu_defer_register_thread urcu_mb_defer_register_thread 55 #define rcu_defer_unregister_thread urcu_mb_defer_unregister_thread 56 #define rcu_defer_barrier urcu_mb_defer_barrier 57 #define rcu_defer_barrier_thread urcu_mb_defer_barrier_thread 58 #define rcu_defer_exit urcu_mb_defer_exit 59 60 #define rcu_flavor urcu_mb_flavor 61 62 #define urcu_register_rculfhash_atfork \ 63 urcu_mb_register_rculfhash_atfork 64 #define urcu_unregister_rculfhash_atfork \ 65 urcu_mb_unregister_rculfhash_atfork 66 67 #define start_poll_synchronize_rcu urcu_mb_start_poll_synchronize_rcu 68 #define poll_state_synchronize_rcu urcu_mb_poll_state_synchronize_rcu 69 70 71 /* Compat identifiers for prior undocumented multiflavor usage */ 72 #ifndef URCU_NO_COMPAT_IDENTIFIERS 73 74 #define rcu_dereference_mb urcu_mb_dereference 75 #define rcu_cmpxchg_pointer_mb urcu_mb_cmpxchg_pointer 76 #define rcu_xchg_pointer_mb urcu_mb_xchg_pointer 77 #define rcu_set_pointer_mb urcu_mb_set_pointer 78 79 #define rcu_mb_before_fork urcu_mb_before_fork 80 #define rcu_mb_after_fork_parent urcu_mb_after_fork_parent 81 #define rcu_mb_after_fork_child urcu_mb_after_fork_child 82 83 #define rcu_read_lock_mb urcu_mb_read_lock 84 #define _rcu_read_lock_mb _urcu_mb_read_lock 85 #define rcu_read_unlock_mb urcu_mb_read_unlock 86 #define _rcu_read_unlock_mb _urcu_mb_read_unlock 87 #define rcu_read_ongoing_mb urcu_mb_read_ongoing 88 #define _rcu_read_ongoing_mb _urcu_mb_read_ongoing 89 #define rcu_register_thread_mb urcu_mb_register_thread 90 #define rcu_unregister_thread_mb urcu_mb_unregister_thread 91 #define rcu_init_mb urcu_mb_init 92 #define rcu_exit_mb urcu_mb_exit 93 #define synchronize_rcu_mb urcu_mb_synchronize_rcu 94 #define rcu_reader_mb urcu_mb_reader 95 #define rcu_gp_mb urcu_mb_gp 96 97 #define get_cpu_call_rcu_data_mb urcu_mb_get_cpu_call_rcu_data 98 #define get_call_rcu_thread_mb urcu_mb_get_call_rcu_thread 99 #define create_call_rcu_data_mb urcu_mb_create_call_rcu_data 100 #define set_cpu_call_rcu_data_mb urcu_mb_set_cpu_call_rcu_data 101 #define get_default_call_rcu_data_mb urcu_mb_get_default_call_rcu_data 102 #define get_call_rcu_data_mb urcu_mb_get_call_rcu_data 103 #define get_thread_call_rcu_data_mb urcu_mb_get_thread_call_rcu_data 104 #define set_thread_call_rcu_data_mb urcu_mb_set_thread_call_rcu_data 105 #define create_all_cpu_call_rcu_data_mb urcu_mb_create_all_cpu_call_rcu_data 106 #define free_all_cpu_call_rcu_data_mb urcu_mb_free_all_cpu_call_rcu_data 107 #define call_rcu_mb urcu_mb_call_rcu 108 #define call_rcu_data_free_mb urcu_mb_call_rcu_data_free 109 #define call_rcu_before_fork_mb urcu_mb_call_rcu_before_fork 110 #define call_rcu_after_fork_parent_mb urcu_mb_call_rcu_after_fork_parent 111 #define call_rcu_after_fork_child_mb urcu_mb_call_rcu_after_fork_child 112 #define rcu_barrier_mb urcu_mb_barrier 113 114 #define defer_rcu_mb urcu_mb_defer_rcu 115 #define rcu_defer_register_thread_mb urcu_mb_defer_register_thread 116 #define rcu_defer_unregister_thread_mb urcu_mb_defer_unregister_thread 117 #define rcu_defer_barrier_mb urcu_mb_defer_barrier 118 #define rcu_defer_barrier_thread_mb urcu_mb_defer_barrier_thread 119 #define rcu_defer_exit_mb urcu_mb_defer_exit 120 121 #define rcu_flavor_mb urcu_mb_flavor 122 123 #define urcu_register_rculfhash_atfork_mb \ 124 urcu_mb_register_rculfhash_atfork 125 #define urcu_unregister_rculfhash_atfork_mb \ 126 urcu_mb_unregister_rculfhash_atfork 127 128 #endif /* URCU_NO_COMPAT_IDENTIFIERS */ 129