@@ -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