Skip to content

Commit a1df065

Browse files
Add documentation for kinfo_proc fields
1 parent 83ffbee commit a1df065

File tree

1 file changed

+88
-0
lines changed
  • src/unix/bsd/freebsdlike/freebsd

1 file changed

+88
-0
lines changed

src/unix/bsd/freebsdlike/freebsd/mod.rs

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,112 +315,200 @@ s! {
315315
}
316316

317317
pub struct kinfo_proc {
318+
/// Size of this structure.
318319
pub ki_structsize: ::c_int,
320+
/// Reserved: layout identifier.
319321
pub ki_layout: ::c_int,
322+
/// Address of command arguments.
320323
pub ki_args: *mut pargs,
321324
// This is normally "struct proc".
325+
/// Address of proc.
322326
pub ki_paddr: *mut ::c_void,
323327
// This is normally "struct user".
328+
/// Kernel virtual address of u-area.
324329
pub ki_addr: *mut ::c_void,
325330
// This is normally "struct vnode".
331+
/// Pointer to trace file.
326332
pub ki_tracep: *mut ::c_void,
327333
// This is normally "struct vnode".
334+
/// Pointer to executable file.
328335
pub ki_textvp: *mut ::c_void,
329336
// This is normally "struct filedesc".
337+
/// Pointer to open file info.
330338
pub ki_fd: *mut ::c_void,
331339
// This is normally "struct vmspace".
340+
/// Pointer to kernel vmspace struct.
332341
pub ki_vmspace: *mut ::c_void,
342+
/// Sleep address.
333343
#[cfg(freebsd13)]
334344
pub ki_wchan: *const ::c_void,
345+
/// Sleep address.
335346
#[cfg(not(freebsd13))]
336347
pub ki_wchan: *mut ::c_void,
348+
/// Process identifier.
337349
pub ki_pid: ::pid_t,
350+
/// Parent process ID.
338351
pub ki_ppid: ::pid_t,
352+
/// Process group ID.
339353
pub ki_pgid: ::pid_t,
354+
/// tty process group ID.
340355
pub ki_tpgid: ::pid_t,
356+
/// Process session ID.
341357
pub ki_sid: ::pid_t,
358+
/// Terminal session ID.
342359
pub ki_tsid: ::pid_t,
360+
/// Job control counter.
343361
pub ki_jobc: ::c_short,
362+
/// Unused (just here for alignment).
344363
pub ki_spare_short1: ::c_short,
364+
/// Controlling tty dev.
345365
#[cfg(any(freebsd12, freebsd13))]
346366
pub ki_tdev_freebsd11: u32,
367+
/// Controlling tty dev.
347368
#[cfg(freebsd11)]
348369
pub ki_tdev: ::dev_t,
370+
/// Signals arrived but not delivered.
349371
pub ki_siglist: ::sigset_t,
372+
/// Current signal mask.
350373
pub ki_sigmask: ::sigset_t,
374+
/// Signals being ignored.
351375
pub ki_sigignore: ::sigset_t,
376+
/// Signals being caught by user.
352377
pub ki_sigcatch: ::sigset_t,
378+
/// Effective user ID.
353379
pub ki_uid: ::uid_t,
380+
/// Real user ID.
354381
pub ki_ruid: ::uid_t,
382+
/// Saved effective user ID.
355383
pub ki_svuid: ::uid_t,
384+
/// Real group ID.
356385
pub ki_rgid: ::gid_t,
386+
/// Saved effective group ID.
357387
pub ki_svgid: ::gid_t,
388+
/// Number of groups.
358389
pub ki_ngroups: ::c_short,
390+
/// Unused (just here for alignment).
359391
pub ki_spare_short2: ::c_short,
392+
/// Groups.
360393
pub ki_groups: [::gid_t; ::KI_NGROUPS],
394+
/// Virtual size.
361395
pub ki_size: ::vm_size_t,
396+
/// Current resident set size in pages.
362397
pub ki_rssize: segsz_t,
398+
/// Resident set size before last swap.
363399
pub ki_swrss: segsz_t,
400+
/// Text size (pages) XXX.
364401
pub ki_tsize: segsz_t,
402+
/// Data size (pages) XXX.
365403
pub ki_dsize: segsz_t,
404+
/// Stack size (pages).
366405
pub ki_ssize: segsz_t,
406+
/// Exit status for wait & stop signal.
367407
pub ki_xstat: ::u_short,
408+
/// Accounting flags.
368409
pub ki_acflag: ::u_short,
410+
/// %cpu for process during `ki_swtime`.
369411
pub ki_pctcpu: fixpt_t,
412+
/// Time averaged value of `ki_cpticks`.
370413
pub ki_estcpu: u_int,
414+
/// Time since last blocked.
371415
pub ki_slptime: u_int,
416+
/// Time swapped in or out.
372417
pub ki_swtime: u_int,
418+
/// Number of copy-on-write faults.
373419
pub ki_cow: u_int,
420+
/// Real time in microsec.
374421
pub ki_runtime: u64,
422+
/// Starting time.
375423
pub ki_start: ::timeval,
424+
/// Time used by process children.
376425
pub ki_childtime: ::timeval,
426+
/// P_* flags.
377427
pub ki_flag: ::c_long,
428+
/// KI_* flags (below).
378429
pub ki_kiflag: ::c_long,
430+
/// Kernel trace points.
379431
pub ki_traceflag: ::c_int,
432+
/// S* process status.
380433
pub ki_stat: ::c_char,
434+
/// Process "nice" value.
381435
pub ki_nice: i8, // signed char
436+
/// Process lock (prevent swap) count.
382437
pub ki_lock: ::c_char,
438+
/// Run queue index.
383439
pub ki_rqindex: ::c_char,
440+
/// Which cpu we are on.
384441
pub ki_oncpu_old: ::c_uchar,
442+
/// Last cpu we were on.
385443
pub ki_lastcpu_old: ::c_uchar,
444+
/// Thread name.
386445
pub ki_tdname: [::c_char; TDNAMLEN + 1],
446+
/// Wchan message.
387447
pub ki_wmesg: [::c_char; ::WMESGLEN + 1],
448+
/// Setlogin name.
388449
pub ki_login: [::c_char; ::LOGNAMELEN + 1],
450+
/// Lock name.
389451
pub ki_lockname: [::c_char; ::LOCKNAMELEN + 1],
452+
/// Command name.
390453
pub ki_comm: [::c_char; ::COMMLEN + 1],
454+
/// Emulation name.
391455
pub ki_emul: [::c_char; ::KI_EMULNAMELEN + 1],
456+
/// Login class.
392457
pub ki_loginclass: [::c_char; ::LOGINCLASSLEN + 1],
458+
/// More thread name.
393459
pub ki_moretdname: [::c_char; ::MAXCOMLEN - ::TDNAMLEN + 1],
460+
/// Spare string space.
394461
pub ki_sparestrings: [[::c_char; 23]; 2], // little hack to allow PartialEq
462+
/// Spare room for growth.
395463
pub ki_spareints: [::c_int; ::KI_NSPARE_INT],
464+
/// Controlling tty dev.
396465
#[cfg(freebsd13)]
397466
pub ki_tdev: u64,
467+
/// Controlling tty dev.
398468
#[cfg(freebsd12)]
399469
pub ki_tdev: ::dev_t,
470+
/// Which cpu we are on.
400471
pub ki_oncpu: ::c_int,
472+
/// Last cpu we were on.
401473
pub ki_lastcpu: ::c_int,
474+
/// PID of tracing process.
402475
pub ki_tracer: ::c_int,
476+
/// P2_* flags.
403477
pub ki_flag2: ::c_int,
478+
/// Default FIB number.
404479
pub ki_fibnum: ::c_int,
480+
/// Credential flags.
405481
pub ki_cr_flags: u_int,
482+
/// Process jail ID.
406483
pub ki_jid: ::c_int,
484+
/// Number of threads in total.
407485
pub ki_numthreads: ::c_int,
486+
// Thread ID.
408487
pub ki_tid: lwpid_t,
488+
/// Process priority.
409489
pub ki_pri: priority,
490+
/// Process rusage statistics.
410491
pub ki_rusage: ::rusage,
492+
/// rusage of children processes.
411493
pub ki_rusage_ch: ::rusage,
412494
// This is normally "struct pcb".
495+
/// Kernel virtual addr of pcb.
413496
pub ki_pcb: *mut ::c_void,
497+
/// Kernel virtual addr of stack.
414498
pub ki_kstack: *mut ::c_void,
499+
/// User convenience pointer.
415500
pub ki_udata: *mut ::c_void,
416501
// This is normally "struct thread".
417502
pub ki_tdaddr: *mut ::c_void,
418503
// This is normally "struct pwddesc".
504+
/// Pointer to process paths info.
419505
#[cfg(freebsd13)]
420506
pub ki_pd: *mut ::c_void,
421507
pub ki_spareptrs: [*mut ::c_void; ::KI_NSPARE_PTR],
422508
pub ki_sparelongs: [::c_long; ::KI_NSPARE_LONG],
509+
/// PS_* flags.
423510
pub ki_sflag: ::c_long,
511+
/// kthread flag.
424512
pub ki_tdflags: ::c_long,
425513
}
426514

0 commit comments

Comments
 (0)