pub type c_char = i8;
pub type wchar_t = i32;
pub type nlink_t = u64;
pub type blksize_t = ::c_long;
pub type __u64 = ::c_ulonglong;
s! {
pub struct stat {
pub st_dev: ::dev_t,
pub st_ino: ::ino_t,
pub st_nlink: ::nlink_t,
pub st_mode: ::mode_t,
pub st_uid: ::uid_t,
pub st_gid: ::gid_t,
__pad0: ::c_int,
pub st_rdev: ::dev_t,
pub st_size: ::off_t,
pub st_blksize: ::blksize_t,
pub st_blocks: ::blkcnt_t,
pub st_atime: ::time_t,
pub st_atime_nsec: ::c_long,
pub st_mtime: ::time_t,
pub st_mtime_nsec: ::c_long,
pub st_ctime: ::time_t,
pub st_ctime_nsec: ::c_long,
__unused: [::c_long; 3 ],
}
pub struct stat64 {
pub st_dev: ::dev_t,
pub st_ino: ::ino64_t,
pub st_nlink: ::nlink_t,
pub st_mode: ::mode_t,
pub st_uid: ::uid_t,
pub st_gid: ::gid_t,
__pad0: ::c_int,
pub st_rdev: ::dev_t,
pub st_size: ::off_t,
pub st_blksize: ::blksize_t,
pub st_blocks: ::blkcnt64_t,
pub st_atime: ::time_t,
pub st_atime_nsec: ::c_long,
pub st_mtime: ::time_t,
pub st_mtime_nsec: ::c_long,
pub st_ctime: ::time_t,
pub st_ctime_nsec: ::c_long,
__reserved: [::c_long; 3 ],
}
pub struct mcontext_t {
__private: [u64; 32 ],
}
pub struct ipc_perm {
pub __ipc_perm_key: ::key_t,
pub uid: ::uid_t,
pub gid: ::gid_t,
pub cuid: ::uid_t,
pub cgid: ::gid_t,
pub mode: ::mode_t,
pub __seq: ::c_int,
__unused1: ::c_long,
__unused2: ::c_long
}
}
s_no_extra_traits! {
pub struct ucontext_t {
pub uc_flags: ::c_ulong,
pub uc_link: *mut ucontext_t,
pub uc_stack: ::stack_t,
pub uc_mcontext: mcontext_t,
pub uc_sigmask: ::sigset_t,
__private: [u8; 512 ],
}
}
cfg_if! {
if #[ cfg(feature = "extra_traits" )] {
impl PartialEq for ucontext_t {
fn eq(&self , other: &ucontext_t) -> bool {
self .uc_flags == other.uc_flags
&& self .uc_link == other.uc_link
&& self .uc_stack == other.uc_stack
&& self .uc_mcontext == other.uc_mcontext
&& self .uc_sigmask == other.uc_sigmask
&& self
.__private
.iter()
.zip(other.__private.iter())
.all(|(a,b)| a == b)
}
}
impl Eq for ucontext_t {}
impl ::fmt::Debug for ucontext_t {
fn fmt(&self , f: &mut ::fmt::Formatter) -> ::fmt::Result {
f.debug_struct("ucontext_t" )
.field("uc_flags" , &self .uc_flags)
.field("uc_link" , &self .uc_link)
.field("uc_stack" , &self .uc_stack)
.field("uc_mcontext" , &self .uc_mcontext)
.field("uc_sigmask" , &self .uc_sigmask)
// FIXME: .field("__private", &self.__private)
.finish()
}
}
impl ::hash::Hash for ucontext_t {
fn hash<H: ::hash::Hasher>(&self , state: &mut H) {
self .uc_flags.hash(state);
self .uc_link.hash(state);
self .uc_stack.hash(state);
self .uc_mcontext.hash(state);
self .uc_sigmask.hash(state);
self .__private.hash(state);
}
}
}
}
// offsets in user_regs_structs, from sys/reg.h
pub const R15: ::c_int = 0 ;
pub const R14: ::c_int = 1 ;
pub const R13: ::c_int = 2 ;
pub const R12: ::c_int = 3 ;
pub const RBP: ::c_int = 4 ;
pub const RBX: ::c_int = 5 ;
pub const R11: ::c_int = 6 ;
pub const R10: ::c_int = 7 ;
pub const R9: ::c_int = 8 ;
pub const R8: ::c_int = 9 ;
pub const RAX: ::c_int = 10 ;
pub const RCX: ::c_int = 11 ;
pub const RDX: ::c_int = 12 ;
pub const RSI: ::c_int = 13 ;
pub const RDI: ::c_int = 14 ;
pub const ORIG_RAX: ::c_int = 15 ;
pub const RIP: ::c_int = 16 ;
pub const CS: ::c_int = 17 ;
pub const EFLAGS: ::c_int = 18 ;
pub const RSP: ::c_int = 19 ;
pub const SS: ::c_int = 20 ;
pub const FS_BASE: ::c_int = 21 ;
pub const GS_BASE: ::c_int = 22 ;
pub const DS: ::c_int = 23 ;
pub const ES: ::c_int = 24 ;
pub const FS: ::c_int = 25 ;
pub const GS: ::c_int = 26 ;
pub const MAP_32BIT: ::c_int = 0 x0040;
pub const SIGSTKSZ: ::size_t = 8192 ;
pub const MINSIGSTKSZ: ::size_t = 2048 ;
Messung V0.5 in Prozent C=99 H=100 G=99
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-25)
¤
*© Formatika GbR, Deutschland