Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -402,6 +402,21 @@ macro_rules! offset_of {
}};
}

/// Defines constants with an accompanying doc comment pointing out their
/// instability, and links to the crate documentation for usage guidelines.
macro_rules! ct {
($($it:item)+) => {
$(
/// This constant, among others often used in C for the purposes of denoting the
/// latest value or limit in a set of constants, is likely to change upstream.
/// For correct usage, see the [crate-level documentation][docs].
///
/// [docs]: index.html#usage-recommendations
$it
)+
};
}

#[cfg(test)]
mod tests {
use core::any::TypeId;
Expand Down
10 changes: 8 additions & 2 deletions src/unix/linux_like/linux_l4re_shared.rs
Original file line number Diff line number Diff line change
Expand Up @@ -690,7 +690,10 @@ pub const EI_CLASS: usize = 4;
pub const ELFCLASSNONE: u8 = 0;
pub const ELFCLASS32: u8 = 1;
pub const ELFCLASS64: u8 = 2;
pub const ELFCLASSNUM: usize = 3;

ct! {
pub const ELFCLASSNUM: usize = 3;
}

pub const EI_DATA: usize = 5;
pub const ELFDATANONE: u8 = 0;
Expand Down Expand Up @@ -821,7 +824,10 @@ pub const EM_ALPHA: u16 = 0x9026;
// elf.h - Legal values for e_version (version).
pub const EV_NONE: u32 = 0;
pub const EV_CURRENT: u32 = 1;
pub const EV_NUM: u32 = 2;

ct! {
pub const EV_NUM: u32 = 2;
}

// elf.h - Legal values for p_type (segment type).
pub const PT_NULL: u32 = 0;
Expand Down