aboutsummaryrefslogtreecommitdiff
path: root/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
commit1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch)
tree7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs
parent5ecd8cf2cba827454317368b68571df0d13d7842 (diff)
downloadfparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz
fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs')
-rw-r--r--vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs201
1 files changed, 201 insertions, 0 deletions
diff --git a/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs b/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs
new file mode 100644
index 0000000..4046ec3
--- /dev/null
+++ b/vendor/libc/src/unix/bsd/freebsdlike/freebsd/x86.rs
@@ -0,0 +1,201 @@
+pub type c_char = i8;
+pub type c_long = i32;
+pub type c_ulong = u32;
+pub type wchar_t = i32;
+pub type time_t = i32;
+pub type suseconds_t = i32;
+pub type register_t = i32;
+
+s_no_extra_traits! {
+ pub struct mcontext_t {
+ pub mc_onstack: register_t,
+ pub mc_gs: register_t,
+ pub mc_fs: register_t,
+ pub mc_es: register_t,
+ pub mc_ds: register_t,
+ pub mc_edi: register_t,
+ pub mc_esi: register_t,
+ pub mc_ebp: register_t,
+ pub mc_isp: register_t,
+ pub mc_ebx: register_t,
+ pub mc_edx: register_t,
+ pub mc_ecx: register_t,
+ pub mc_eax: register_t,
+ pub mc_trapno: register_t,
+ pub mc_err: register_t,
+ pub mc_eip: register_t,
+ pub mc_cs: register_t,
+ pub mc_eflags: register_t,
+ pub mc_esp: register_t,
+ pub mc_ss: register_t,
+ pub mc_len: ::c_int,
+ pub mc_fpformat: ::c_int,
+ pub mc_ownedfp: ::c_int,
+ pub mc_flags: register_t,
+ pub mc_fpstate: [[::c_int; 32]; 4],
+ pub mc_fsbase: register_t,
+ pub mc_gsbase: register_t,
+ pub mc_xfpustate: register_t,
+ pub mc_xfpustate_len: register_t,
+ pub mc_spare2: [::c_int; 4],
+ }
+}
+
+s! {
+ pub struct stat {
+ pub st_dev: ::dev_t,
+ pub st_ino: ::ino_t,
+ pub st_mode: ::mode_t,
+ pub st_nlink: ::nlink_t,
+ pub st_uid: ::uid_t,
+ pub st_gid: ::gid_t,
+ pub st_rdev: ::dev_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,
+ pub st_size: ::off_t,
+ pub st_blocks: ::blkcnt_t,
+ pub st_blksize: ::blksize_t,
+ pub st_flags: ::fflags_t,
+ pub st_gen: u32,
+ pub st_lspare: i32,
+ pub st_birthtime: ::time_t,
+ pub st_birthtime_nsec: ::c_long,
+ __unused: [u8; 8],
+ }
+
+ pub struct ucontext_t {
+ pub uc_sigmask: ::sigset_t,
+ pub uc_mcontext: ::mcontext_t,
+ pub uc_link: *mut ::ucontext_t,
+ pub uc_stack: ::stack_t,
+ pub uc_flags: ::c_int,
+ __spare__: [::c_int; 4],
+ }
+}
+
+// should be pub(crate), but that requires Rust 1.18.0
+cfg_if! {
+ if #[cfg(libc_const_size_of)] {
+ #[doc(hidden)]
+ pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_long>() - 1;
+ } else {
+ #[doc(hidden)]
+ pub const _ALIGNBYTES: usize = 4 - 1;
+ }
+}
+
+cfg_if! {
+ if #[cfg(feature = "extra_traits")] {
+ impl PartialEq for mcontext_t {
+ fn eq(&self, other: &mcontext_t) -> bool {
+ self.mc_onstack == other.mc_onstack &&
+ self.mc_gs == other.mc_gs &&
+ self.mc_fs == other.mc_fs &&
+ self.mc_es == other.mc_es &&
+ self.mc_ds == other.mc_ds &&
+ self.mc_edi == other.mc_edi &&
+ self.mc_esi == other.mc_esi &&
+ self.mc_ebp == other.mc_ebp &&
+ self.mc_isp == other.mc_isp &&
+ self.mc_ebx == other.mc_ebx &&
+ self.mc_edx == other.mc_edx &&
+ self.mc_ecx == other.mc_ecx &&
+ self.mc_eax == other.mc_eax &&
+ self.mc_trapno == other.mc_trapno &&
+ self.mc_err == other.mc_err &&
+ self.mc_eip == other.mc_eip &&
+ self.mc_cs == other.mc_cs &&
+ self.mc_eflags == other.mc_eflags &&
+ self.mc_esp == other.mc_esp &&
+ self.mc_ss == other.mc_ss &&
+ self.mc_len == other.mc_len &&
+ self.mc_fpformat == other.mc_fpformat &&
+ self.mc_ownedfp == other.mc_ownedfp &&
+ self.mc_flags == other.mc_flags &&
+ self.mc_fpstate.iter().zip(other.mc_fpstate.iter()).all(|(a, b)| a == b) &&
+ self.mc_fsbase == other.mc_fsbase &&
+ self.mc_gsbase == other.mc_gsbase &&
+ self.mc_xfpustate == other.mc_xfpustate &&
+ self.mc_xfpustate_len == other.mc_xfpustate_len &&
+ self.mc_spare2.iter().zip(other.mc_spare2.iter()).all(|(a, b)| a == b)
+ }
+ }
+ impl Eq for mcontext_t {}
+ impl ::fmt::Debug for mcontext_t {
+ fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result {
+ f.debug_struct("mcontext_t")
+ .field("mc_onstack", &self.mc_onstack)
+ .field("mc_gs", &self.mc_gs)
+ .field("mc_fs", &self.mc_fs)
+ .field("mc_es", &self.mc_es)
+ .field("mc_ds", &self.mc_ds)
+ .field("mc_edi", &self.mc_edi)
+ .field("mc_esi", &self.mc_esi)
+ .field("mc_ebp", &self.mc_ebp)
+ .field("mc_isp", &self.mc_isp)
+ .field("mc_ebx", &self.mc_ebx)
+ .field("mc_edx", &self.mc_edx)
+ .field("mc_ecx", &self.mc_ecx)
+ .field("mc_eax", &self.mc_eax)
+ .field("mc_trapno", &self.mc_trapno)
+ .field("mc_err", &self.mc_err)
+ .field("mc_eip", &self.mc_eip)
+ .field("mc_cs", &self.mc_cs)
+ .field("mc_eflags", &self.mc_eflags)
+ .field("mc_esp", &self.mc_esp)
+ .field("mc_ss", &self.mc_ss)
+ .field("mc_len", &self.mc_len)
+ .field("mc_fpformat", &self.mc_fpformat)
+ .field("mc_ownedfp", &self.mc_ownedfp)
+ .field("mc_flags", &self.mc_flags)
+ .field("mc_fpstate", &self.mc_fpstate)
+ .field("mc_fsbase", &self.mc_fsbase)
+ .field("mc_gsbase", &self.mc_gsbase)
+ .field("mc_xfpustate", &self.mc_xfpustate)
+ .field("mc_xfpustate_len", &self.mc_xfpustate_len)
+ .field("mc_spare2", &self.mc_spare2)
+ .finish()
+ }
+ }
+ impl ::hash::Hash for mcontext_t {
+ fn hash<H: ::hash::Hasher>(&self, state: &mut H) {
+ self.mc_onstack.hash(state);
+ self.mc_gs.hash(state);
+ self.mc_fs.hash(state);
+ self.mc_es.hash(state);
+ self.mc_ds.hash(state);
+ self.mc_edi.hash(state);
+ self.mc_esi.hash(state);
+ self.mc_ebp.hash(state);
+ self.mc_isp.hash(state);
+ self.mc_ebx.hash(state);
+ self.mc_edx.hash(state);
+ self.mc_ecx.hash(state);
+ self.mc_eax.hash(state);
+ self.mc_trapno.hash(state);
+ self.mc_err.hash(state);
+ self.mc_eip.hash(state);
+ self.mc_cs.hash(state);
+ self.mc_eflags.hash(state);
+ self.mc_esp.hash(state);
+ self.mc_ss.hash(state);
+ self.mc_len.hash(state);
+ self.mc_fpformat.hash(state);
+ self.mc_ownedfp.hash(state);
+ self.mc_flags.hash(state);
+ self.mc_fpstate.hash(state);
+ self.mc_fsbase.hash(state);
+ self.mc_gsbase.hash(state);
+ self.mc_xfpustate.hash(state);
+ self.mc_xfpustate_len.hash(state);
+ self.mc_spare2.hash(state);
+ }
+ }
+ }
+}
+
+pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4