mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 22:04:21 +00:00
std.c: adding freebsd's kinfo_proc type.
This commit is contained in:
parent
297b5d1074
commit
3dd0afe787
1 changed files with 186 additions and 0 deletions
|
|
@ -64,6 +64,7 @@ pub extern "c" fn getpid() pid_t;
|
||||||
|
|
||||||
pub extern "c" fn kinfo_getfile(pid: pid_t, cntp: *c_int) ?[*]kinfo_file;
|
pub extern "c" fn kinfo_getfile(pid: pid_t, cntp: *c_int) ?[*]kinfo_file;
|
||||||
pub extern "c" fn kinfo_getvmmap(pid: pid_t, cntp: *c_int) ?[*]kinfo_vmentry;
|
pub extern "c" fn kinfo_getvmmap(pid: pid_t, cntp: *c_int) ?[*]kinfo_vmentry;
|
||||||
|
pub extern "c" fn kinfo_getproc(pid: pid_t) ?[*]kinfo_proc;
|
||||||
|
|
||||||
pub extern "c" fn cpuset_getaffinity(level: cpulevel_t, which: cpuwhich_t, id: id_t, setsize: usize, mask: *cpuset_t) c_int;
|
pub extern "c" fn cpuset_getaffinity(level: cpulevel_t, which: cpuwhich_t, id: id_t, setsize: usize, mask: *cpuset_t) c_int;
|
||||||
pub extern "c" fn cpuset_setaffinity(level: cpulevel_t, which: cpuwhich_t, id: id_t, setsize: usize, mask: *const cpuset_t) c_int;
|
pub extern "c" fn cpuset_setaffinity(level: cpulevel_t, which: cpuwhich_t, id: id_t, setsize: usize, mask: *const cpuset_t) c_int;
|
||||||
|
|
@ -676,6 +677,191 @@ comptime {
|
||||||
std.debug.assert(@sizeOf(kinfo_vmentry) == KINFO_VMENTRY_SIZE);
|
std.debug.assert(@sizeOf(kinfo_vmentry) == KINFO_VMENTRY_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub const WMESGLEN = 8;
|
||||||
|
pub const LOCKNAMELEN = 8;
|
||||||
|
pub const TDNAMLEN = 16;
|
||||||
|
pub const COMMLEN = 19;
|
||||||
|
pub const MAXCOMLEN = 19;
|
||||||
|
pub const KI_EMULNAMELEN = 16;
|
||||||
|
pub const KI_NGROUPS = 16;
|
||||||
|
pub const LOGNAMELEN = 17;
|
||||||
|
pub const LOGINCLASSLEN = 17;
|
||||||
|
|
||||||
|
pub const KI_NSPARE_INT = 2;
|
||||||
|
pub const KI_NSPARE_LONG = 12;
|
||||||
|
pub const KI_NSPARE_PTR = 5;
|
||||||
|
|
||||||
|
pub const RUSAGE_SELF = 0;
|
||||||
|
pub const RUSAGE_CHILDREN = -1;
|
||||||
|
pub const RUSAGE_THREAD = 1;
|
||||||
|
|
||||||
|
pub const proc = opaque {};
|
||||||
|
pub const thread = opaque {};
|
||||||
|
pub const vnode = opaque {};
|
||||||
|
pub const filedesc = opaque {};
|
||||||
|
pub const pwddesc = opaque {};
|
||||||
|
pub const vmspace = opaque {};
|
||||||
|
pub const pcb = opaque {};
|
||||||
|
pub const lwpid_t = i32;
|
||||||
|
pub const fixpt_t = u32;
|
||||||
|
pub const vm_size_t = usize;
|
||||||
|
pub const segsz_t = isize;
|
||||||
|
|
||||||
|
pub const itimerval = extern struct {
|
||||||
|
interval: timeval,
|
||||||
|
value: timeval,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub const pstats = extern struct {
|
||||||
|
cru: rusage,
|
||||||
|
timer: [3]itimerval,
|
||||||
|
prof: extern struct {
|
||||||
|
base: u8,
|
||||||
|
size: c_ulong,
|
||||||
|
off: c_ulong,
|
||||||
|
scale: c_ulong,
|
||||||
|
},
|
||||||
|
start: timeval,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub const user = extern struct {
|
||||||
|
stats: pstats,
|
||||||
|
kproc: kinfo_proc,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub const pargs = extern struct {
|
||||||
|
ref: c_uint,
|
||||||
|
length: c_uint,
|
||||||
|
args: [1]u8,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub const priority = extern struct {
|
||||||
|
class: u8,
|
||||||
|
level: u8,
|
||||||
|
native: u8,
|
||||||
|
user: u8,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub const rusage = extern struct {
|
||||||
|
utime: timeval,
|
||||||
|
stime: timeval,
|
||||||
|
maxrss: c_long,
|
||||||
|
ixrss: c_long,
|
||||||
|
idrss: c_long,
|
||||||
|
isrss: c_long,
|
||||||
|
minflt: c_long,
|
||||||
|
majflt: c_long,
|
||||||
|
nswap: c_long,
|
||||||
|
inblock: c_long,
|
||||||
|
oublock: c_long,
|
||||||
|
msgsnd: c_long,
|
||||||
|
msgrcv: c_long,
|
||||||
|
nsignals: c_long,
|
||||||
|
nvcsw: c_long,
|
||||||
|
nivcsw: c_long,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub const kinfo_proc = extern struct {
|
||||||
|
structsize: c_int,
|
||||||
|
layout: c_int,
|
||||||
|
args: *pargs,
|
||||||
|
paddr: *proc,
|
||||||
|
addr: *user,
|
||||||
|
tracep: *vnode,
|
||||||
|
textvp: *vnode,
|
||||||
|
fd: *filedesc,
|
||||||
|
vmspace: *vmspace,
|
||||||
|
wchan: ?*const anyopaque,
|
||||||
|
pid: pid_t,
|
||||||
|
ppid: pid_t,
|
||||||
|
pgid: pid_t,
|
||||||
|
tpgid: pid_t,
|
||||||
|
sid: pid_t,
|
||||||
|
tsid: pid_t,
|
||||||
|
jobc: c_short,
|
||||||
|
spare_short1: c_short,
|
||||||
|
tdev_freebsd11: u32,
|
||||||
|
siglist: sigset_t,
|
||||||
|
sigmask: sigset_t,
|
||||||
|
sigignore: sigset_t,
|
||||||
|
sigcatch: sigset_t,
|
||||||
|
uid: uid_t,
|
||||||
|
ruid: uid_t,
|
||||||
|
svuid: uid_t,
|
||||||
|
rgid: gid_t,
|
||||||
|
svgid: gid_t,
|
||||||
|
ngroups: c_short,
|
||||||
|
spare_short2: c_short,
|
||||||
|
groups: [KI_NGROUPS]gid_t,
|
||||||
|
size: vm_size_t,
|
||||||
|
rssize: segsz_t,
|
||||||
|
swrss: segsz_t,
|
||||||
|
tsize: segsz_t,
|
||||||
|
dsize: segsz_t,
|
||||||
|
ssize: segsz_t,
|
||||||
|
xstat: c_ushort,
|
||||||
|
acflag: c_ushort,
|
||||||
|
pctcpu: fixpt_t,
|
||||||
|
estcpu: c_uint,
|
||||||
|
slptime: c_uint,
|
||||||
|
swtime: c_uint,
|
||||||
|
cow: c_uint,
|
||||||
|
runtime: u64,
|
||||||
|
start: timeval,
|
||||||
|
childtime: timeval,
|
||||||
|
flag: c_long,
|
||||||
|
kiflag: c_long,
|
||||||
|
traceflag: c_int,
|
||||||
|
stat: u8,
|
||||||
|
nice: i8,
|
||||||
|
lock: u8,
|
||||||
|
rqindex: u8,
|
||||||
|
oncpu_old: u8,
|
||||||
|
lastcpu_old: u8,
|
||||||
|
tdname: [TDNAMLEN + 1]u8,
|
||||||
|
wmesg: [WMESGLEN + 1]u8,
|
||||||
|
login: [LOGNAMELEN + 1]u8,
|
||||||
|
lockname: [LOCKNAMELEN + 1]u8,
|
||||||
|
comm: [COMMLEN + 1]u8,
|
||||||
|
emul: [KI_EMULNAMELEN + 1]u8,
|
||||||
|
loginclass: [LOGINCLASSLEN + 1]u8,
|
||||||
|
moretdname: [MAXCOMLEN - TDNAMLEN + 1]u8,
|
||||||
|
sparestrings: [46]u8,
|
||||||
|
spareints: [KI_NSPARE_INT]c_int,
|
||||||
|
tdev: u64,
|
||||||
|
oncpu: c_int,
|
||||||
|
lastcpu: c_int,
|
||||||
|
tracer: c_int,
|
||||||
|
flag2: c_int,
|
||||||
|
fibnum: c_int,
|
||||||
|
cr_flags: c_uint,
|
||||||
|
jid: c_int,
|
||||||
|
numthreads: c_int,
|
||||||
|
tid: lwpid_t,
|
||||||
|
pri: priority,
|
||||||
|
rusage: rusage,
|
||||||
|
rusage_ch: rusage,
|
||||||
|
pcb: *pcb,
|
||||||
|
stack: ?*anyopaque,
|
||||||
|
udata: ?*anyopaque,
|
||||||
|
tdaddr: *thread,
|
||||||
|
pd: *pwddesc,
|
||||||
|
spareptrs: [KI_NSPARE_PTR]?*anyopaque,
|
||||||
|
sparelongs: [KI_NSPARE_LONG]c_long,
|
||||||
|
sflag: c_long,
|
||||||
|
tdflag: c_long,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub const KINFO_PROC_SIZE = switch (builtin.cpu.arch) {
|
||||||
|
.x86 => 768,
|
||||||
|
.arm => 816,
|
||||||
|
else => 1088,
|
||||||
|
};
|
||||||
|
|
||||||
|
comptime {
|
||||||
|
assert(@sizeOf(kinfo_proc) == KINFO_PROC_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
pub const CTL = struct {
|
pub const CTL = struct {
|
||||||
pub const KERN = 1;
|
pub const KERN = 1;
|
||||||
pub const DEBUG = 5;
|
pub const DEBUG = 5;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue