mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 08:38:45 +02:00 
			
		
		
		
	 a0d13aac70
			
		
	
	
		a0d13aac70
		
	
	
	
	
		
			
			The rust rbtree exposes a map-like interface over keys and values, backed by the kernel red-black tree implementation. Values can be inserted, deleted, and retrieved from a `RBTree` by key. This base abstraction is used by binder to store key/value pairs and perform lookups, for example the patch "[PATCH RFC 03/20] rust_binder: add threading support" in the binder RFC [1]. Link: https://lore.kernel.org/rust-for-linux/20231101-rust-binder-v1-3-08ba9197f637@google.com/ [1] Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Tested-by: Alice Ryhl <aliceryhl@google.com> Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Reviewed-by: Benno Lossin <benno.lossin@proton.me> Signed-off-by: Matt Gilbride <mattgilbride@google.com> Link: https://lore.kernel.org/r/20240822-b4-rbtree-v12-1-014561758a57@google.com [ Updated link to docs.kernel.org. - Miguel ] Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			626 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			626 B
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| /*
 | |
|  * Non-trivial C macros cannot be used in Rust. Similarly, inlined C functions
 | |
|  * cannot be called either. This file explicitly creates functions ("helpers")
 | |
|  * that wrap those so that they can be called from Rust.
 | |
|  *
 | |
|  * Sorted alphabetically.
 | |
|  */
 | |
| 
 | |
| #include "blk.c"
 | |
| #include "bug.c"
 | |
| #include "build_assert.c"
 | |
| #include "build_bug.c"
 | |
| #include "err.c"
 | |
| #include "kunit.c"
 | |
| #include "mutex.c"
 | |
| #include "page.c"
 | |
| #include "rbtree.c"
 | |
| #include "refcount.c"
 | |
| #include "signal.c"
 | |
| #include "slab.c"
 | |
| #include "spinlock.c"
 | |
| #include "task.c"
 | |
| #include "uaccess.c"
 | |
| #include "wait.c"
 | |
| #include "workqueue.c"
 |