nt_list/single_list/
traits.rs

1// Copyright 2022 Colin Finck <colin@reactos.org>
2// SPDX-License-Identifier: MIT OR Apache-2.0
3
4use crate::private::Sealed;
5use crate::traits::NtListType;
6
7/// Designates a list as an NT singly linked list (`SINGLE_LIST_ENTRY` structure of the Windows NT API).
8///
9/// You usually want to use `#[derive(NtSingleList)]` to implement [`NtTypedList`] with type set to `NtSingleList`.
10///
11/// [`NtTypedList`]: crate::traits::NtTypedList
12pub enum NtSingleList {}
13
14/// Singly linked list type (`SINGLE_LIST_ENTRY` structure of the Windows NT API)
15impl NtListType for NtSingleList {}
16impl Sealed for NtSingleList {}
17
18/// Designates an empty enum as a singly linked list.
19///
20/// Technically, this macro implements [`NtTypedList`] with type set to [`enum@NtSingleList`].
21///
22/// [`NtTypedList`]: crate::traits::NtTypedList
23pub use nt_list_macros::NtSingleList;