Files
Joel Fernandes f9f0b4a1f3 rust: interop: Add list module for C linked list interface
Add a new module `kernel::interop::list` for working with C's doubly
circular linked lists. Provide low-level iteration over list nodes.

Typed iteration over actual items is provided with a `clist_create`
macro to assist in creation of the `CList` type.

Cc: Nikola Djukic <[email protected]>
Reviewed-by: Daniel Almeida <[email protected]>
Reviewed-by: Alexandre Courbot <[email protected]>
Reviewed-by: Alice Ryhl <[email protected]>
Acked-by: Alexandre Courbot <[email protected]>
Acked-by: Gary Guo <[email protected]>
Acked-by: Miguel Ojeda <[email protected]>
Signed-off-by: Joel Fernandes <[email protected]>
Link: https://patch.msgid.link/[email protected]
[ * Remove stray empty comment and double blank line in doctest,
  * Improve wording and fix a few typos,
  * Use markdown emphasis instead of caps,
  * Move interop/mod.rs to interop.rs.

    - Danilo ]
Signed-off-by: Danilo Krummrich <[email protected]>
2026-03-23 20:29:28 +01:00

18 lines
352 B
C

// SPDX-License-Identifier: GPL-2.0
/*
* Helpers for C circular doubly linked list implementation.
*/
#include <linux/list.h>
__rust_helper void rust_helper_INIT_LIST_HEAD(struct list_head *list)
{
INIT_LIST_HEAD(list);
}
__rust_helper void rust_helper_list_add_tail(struct list_head *new, struct list_head *head)
{
list_add_tail(new, head);
}