Files
RedBear-OS/src/header/sys_procfs/mod.rs
T

67 lines
1.6 KiB
Rust

#[cfg(target_arch = "aarch64")]
use crate::header::arch_aarch64_user::{elf_fpregset_t, elf_gregset_t};
#[cfg(target_arch = "riscv64")]
use crate::header::arch_riscv64_user::{elf_fpregset_t, elf_gregset_t};
#[cfg(target_arch = "x86_64")]
use crate::header::arch_x64_user::{elf_fpregset_t, elf_gregset_t};
use crate::platform::types::{
c_char, c_int, c_long, c_short, c_uint, c_ulong, c_void, pid_t, size_t,
};
pub const ELF_PRARGSZ: size_t = 80;
#[repr(C)]
pub struct elf_siginfo {
pub si_signo: c_int,
pub si_code: c_int,
pub si_errno: c_int,
}
#[repr(C)]
pub struct time {
pub tv_sec: c_long,
pub tv_usec: c_long,
}
#[repr(C)]
pub struct elf_prstatus {
pub pr_info: elf_siginfo,
pub pr_cursig: c_short,
pub pr_sigpend: c_ulong,
pub pr_sighold: c_ulong,
pub pr_pid: pid_t,
pub pr_ppid: pid_t,
pub pr_pgrp: pid_t,
pub pr_sid: pid_t,
pub pr_utime: time,
pub pr_stime: time,
pub pr_cutime: time,
pub pr_cstime: time,
pub pr_reg: elf_gregset_t,
pub pr_fpvalid: c_int,
}
#[repr(C)]
pub struct elf_prpsinfo {
pub pr_state: c_char,
pub pr_sname: c_char,
pub pr_zomb: c_char,
pub pr_nice: c_char,
pub pr_flag: c_uint,
pub pr_uid: c_uint,
pub pr_gid: c_uint,
pub pr_pid: c_int,
pub pr_ppid: c_int,
pub pr_pgrp: c_int,
pub pr_sid: c_int,
pub pr_fname: [c_char; 16],
pub pr_psargs: [c_char; ELF_PRARGSZ],
}
pub type psaddr_t = *mut c_void;
pub type prgregset_t = *mut elf_gregset_t;
pub type prfpregset_t = elf_fpregset_t;
pub type lwpid_t = pid_t;
pub type prstatus_t = elf_prstatus;
pub type prpsinfo_t = elf_prpsinfo;