1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! `FreeBSDProcessTable.c` — NOT yet ported (blocked on substrate).
//!
//! Every `pub fn` below is an honest `todo!()` placeholder named after its
//! C counterpart. The file is blocked on unported substrate:
//! - `ProcessTable_goThroughEntries` and the `FreeBSDProcessTable_*` scan
//! helpers need `libkvm` (`kvm_getprocs`) plus the `kinfo_proc` struct
//! (absent from `libc`) modeled.
//! - `ProcessTable_getProcess` (stub in `processtable.rs`) and the
//! `FreeBSDProcess` object struct are required to build each row.
//! - `ProcessTable_new` / `_delete` additionally need the `FreeBSDProcessTable`
//! object struct and `Object_setClass` machinery.
//!
//! `gen_port_report.py` counts these `todo!()` bodies as *stubbed*, not
//! *ported*, so the scaffold does not inflate coverage.
/// TODO: port of `ProcessTable* ProcessTable_new(Machine* host, Hashtable* pidMatchList` from `FreeBSDProcessTable.c:45`.
/// TODO: port of `void ProcessTable_delete(Object* cast` from `FreeBSDProcessTable.c:56`.
/// TODO: port of `static void FreeBSDProcessTable_updateExe(const struct kinfo_proc* kproc, Process* proc` from `FreeBSDProcessTable.c:62`.
/// TODO: port of `static void FreeBSDProcessTable_updateCwd(const struct kinfo_proc* kproc, Process* proc` from `FreeBSDProcessTable.c:79`.
/// TODO: port of `static void FreeBSDProcessTable_updateProcessName(kvm_t* kd, const struct kinfo_proc* kproc, Process* proc` from `FreeBSDProcessTable.c:103`.
/// TODO: port of `static char* FreeBSDProcessTable_readJailName(const struct kinfo_proc* kproc` from `FreeBSDProcessTable.c:135`.
/// TODO: port of `void ProcessTable_goThroughEntries(ProcessTable* super` from `FreeBSDProcessTable.c:160`.