Up

module Procfs

: sig

Process and system stats

#
type bigint = Big_int.big_int
#
val input_all_with_reused_buffer : unit -> (string -> string) Core.Std.Staged.t
#
module Process : sig
#
module Inode : sig
#
type t
#
val of_string : string -> t
#
val to_string : t -> string
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Limits : sig
#
module Rlimit : sig
#
type value = [
| `unlimited
| `limited of bigint
]
#
type t = {
# soft
: value;
# hard
: value;
}
#
val hard : t -> value
#
val soft : t -> value
#
module Fields : sig
#
val names : string list
#
val hard : (t, value) Fieldslib.Field.t
#
val soft : (t, value) Fieldslib.Field.t
#
val fold : init:'acc__ -> soft:('acc__ -> (t, value) Fieldslib.Field.t -> 'acc__) -> hard:('acc__ -> (t, value) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : soft:((t, value) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> value) * 'compile_acc__) -> hard:((t, value) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> value) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : soft:value -> hard:value -> t
#
val map : soft:((t, value) Fieldslib.Field.t -> value) -> hard:((t, value) Fieldslib.Field.t -> value) -> t
#
val iter : soft:((t, value) Fieldslib.Field.t -> unit) -> hard:((t, value) Fieldslib.Field.t -> unit) -> unit
#
val for_all : soft:((t, value) Fieldslib.Field.t -> bool) -> hard:((t, value) Fieldslib.Field.t -> bool) -> bool
#
val exists : soft:((t, value) Fieldslib.Field.t -> bool) -> hard:((t, value) Fieldslib.Field.t -> bool) -> bool
#
val to_list : soft:((t, value) Fieldslib.Field.t -> 'elem__) -> hard:((t, value) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> soft:((t, value) Fieldslib.Field.t -> t -> value -> unit) -> hard:((t, value) Fieldslib.Field.t -> t -> value -> unit) -> unit
#
val fold : t -> init:'acc__ -> soft:('acc__ -> (t, value) Fieldslib.Field.t -> t -> value -> 'acc__) -> hard:('acc__ -> (t, value) Fieldslib.Field.t -> t -> value -> 'acc__) -> 'acc__
end
end
#
val value_of_sexp : Sexplib.Sexp.t -> value
#
val __value_of_sexp__ : Sexplib.Sexp.t -> value
#
val sexp_of_value : value -> Sexplib.Sexp.t
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
type t = {
# cpu_time
: Rlimit.t;
# file_size
: Rlimit.t;
# data_size
: Rlimit.t;
# stack_size
: Rlimit.t;
# core_file_size
: Rlimit.t;
# resident_set
: Rlimit.t;
# processes
: Rlimit.t;
# open_files
: Rlimit.t;
# locked_memory
: Rlimit.t;
# address_space
: Rlimit.t;
# file_locks
: Rlimit.t;
# pending_signals
: Rlimit.t;
# msgqueue_size
: Rlimit.t;
# nice_priority
: Rlimit.t;
# realtime_priority
: Rlimit.t;
}
#
val realtime_priority : t -> Rlimit.t
#
val nice_priority : t -> Rlimit.t
#
val msgqueue_size : t -> Rlimit.t
#
val pending_signals : t -> Rlimit.t
#
val file_locks : t -> Rlimit.t
#
val address_space : t -> Rlimit.t
#
val locked_memory : t -> Rlimit.t
#
val open_files : t -> Rlimit.t
#
val processes : t -> Rlimit.t
#
val resident_set : t -> Rlimit.t
#
val core_file_size : t -> Rlimit.t
#
val stack_size : t -> Rlimit.t
#
val data_size : t -> Rlimit.t
#
val file_size : t -> Rlimit.t
#
val cpu_time : t -> Rlimit.t
#
module Fields : sig
#
val names : string list
#
val realtime_priority : (t, Rlimit.t) Fieldslib.Field.t
#
val nice_priority : (t, Rlimit.t) Fieldslib.Field.t
#
val msgqueue_size : (t, Rlimit.t) Fieldslib.Field.t
#
val pending_signals : (t, Rlimit.t) Fieldslib.Field.t
#
val file_locks : (t, Rlimit.t) Fieldslib.Field.t
#
val address_space : (t, Rlimit.t) Fieldslib.Field.t
#
val locked_memory : (t, Rlimit.t) Fieldslib.Field.t
#
val open_files : (t, Rlimit.t) Fieldslib.Field.t
#
val processes : (t, Rlimit.t) Fieldslib.Field.t
#
val resident_set : (t, Rlimit.t) Fieldslib.Field.t
#
val core_file_size : (t, Rlimit.t) Fieldslib.Field.t
#
val stack_size : (t, Rlimit.t) Fieldslib.Field.t
#
val data_size : (t, Rlimit.t) Fieldslib.Field.t
#
val file_size : (t, Rlimit.t) Fieldslib.Field.t
#
val cpu_time : (t, Rlimit.t) Fieldslib.Field.t
#
val fold : init:'acc__ -> cpu_time:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> file_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> data_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> stack_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> core_file_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> resident_set:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> processes:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> open_files:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> locked_memory:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> address_space:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> file_locks:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> pending_signals:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> msgqueue_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> nice_priority:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> realtime_priority:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : cpu_time:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> file_size:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> data_size:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> stack_size:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> core_file_size:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> resident_set:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> processes:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> open_files:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> locked_memory:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> address_space:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> file_locks:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> pending_signals:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> msgqueue_size:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> nice_priority:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> realtime_priority:((t, Rlimit.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Rlimit.t) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : cpu_time:Rlimit.t -> file_size:Rlimit.t -> data_size:Rlimit.t -> stack_size:Rlimit.t -> core_file_size:Rlimit.t -> resident_set:Rlimit.t -> processes:Rlimit.t -> open_files:Rlimit.t -> locked_memory:Rlimit.t -> address_space:Rlimit.t -> file_locks:Rlimit.t -> pending_signals:Rlimit.t -> msgqueue_size:Rlimit.t -> nice_priority:Rlimit.t -> realtime_priority:Rlimit.t -> t
#
val map : cpu_time:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> file_size:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> data_size:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> stack_size:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> core_file_size:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> resident_set:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> processes:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> open_files:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> locked_memory:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> address_space:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> file_locks:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> pending_signals:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> msgqueue_size:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> nice_priority:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> realtime_priority:((t, Rlimit.t) Fieldslib.Field.t -> Rlimit.t) -> t
#
val iter : cpu_time:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> file_size:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> data_size:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> stack_size:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> core_file_size:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> resident_set:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> processes:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> open_files:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> locked_memory:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> address_space:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> file_locks:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> pending_signals:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> msgqueue_size:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> nice_priority:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> realtime_priority:((t, Rlimit.t) Fieldslib.Field.t -> unit) -> unit
#
val for_all : cpu_time:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> file_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> data_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> stack_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> core_file_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> resident_set:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> processes:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> open_files:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> locked_memory:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> address_space:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> file_locks:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> pending_signals:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> msgqueue_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> nice_priority:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> realtime_priority:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> bool
#
val exists : cpu_time:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> file_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> data_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> stack_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> core_file_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> resident_set:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> processes:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> open_files:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> locked_memory:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> address_space:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> file_locks:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> pending_signals:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> msgqueue_size:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> nice_priority:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> realtime_priority:((t, Rlimit.t) Fieldslib.Field.t -> bool) -> bool
#
val to_list : cpu_time:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> file_size:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> data_size:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> stack_size:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> core_file_size:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> resident_set:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> processes:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> open_files:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> locked_memory:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> address_space:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> file_locks:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> pending_signals:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> msgqueue_size:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> nice_priority:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> realtime_priority:((t, Rlimit.t) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> cpu_time:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> file_size:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> data_size:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> stack_size:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> core_file_size:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> resident_set:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> processes:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> open_files:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> locked_memory:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> address_space:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> file_locks:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> pending_signals:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> msgqueue_size:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> nice_priority:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> realtime_priority:((t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> unit) -> unit
#
val fold : t -> init:'acc__ -> cpu_time:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> file_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> data_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> stack_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> core_file_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> resident_set:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> processes:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> open_files:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> locked_memory:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> address_space:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> file_locks:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> pending_signals:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> msgqueue_size:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> nice_priority:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> realtime_priority:('acc__ -> (t, Rlimit.t) Fieldslib.Field.t -> t -> Rlimit.t -> 'acc__) -> 'acc__
end
end
#
val of_string : string -> t
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Stat : sig
#
type t = {
# comm
: string;(*The filename of the executable*)
# state
: char;(*One character from the string "RSDZTW"*)
# ppid
: Core.Std.Pid.t option;(*The PID of the parent.*)
# pgrp
: Core.Std.Pid.t option;(*The process group ID of the process.*)
# session
: int;(*The session ID of the process.*)
# tty_nr
: int;(*The tty the process uses.*)
# tpgid
: int;(*The process group ID of the process which currently owns the tty...*)
# flags
: bigint;(*The kernel flags word of the process.*)
# minflt
: bigint;(*The number of minor faults the process has made which have not required loading a memory page from disk.*)
# cminflt
: bigint;(*The number of minor faults that the process’s waited-for children have made.*)
# majflt
: bigint;(*The number of major faults the process has made which have required loading a page from disk.*)
# cmajflt
: bigint;(*The number of major faults that the process’s waited-for children have made.*)
# utime
: bigint;(*The number of jiffies that this process has been scheduled in user mode.*)
# stime
: bigint;(*The number of jiffies that this process has been scheduled in kernel mode.*)
# cutime
: bigint;(*The number of jiffies that this process’s waited-for children have been scheduled in user mode.*)
# cstime
: bigint;(*The number of jiffies that this process’s waited-for children have been scheduled in kernel mode.*)
# priority
: bigint;(*The standard nice value, plus fifteen. The value is never negative in the kernel.*)
# nice
: bigint;(*The nice value ranges from 19 to -19*)
# unused
: bigint;(*placeholder for removed field*)
# itrealvalue
: bigint;(*The time in jiffies before the next SIGALRM is sent to the process due to an interval timer.*)
# starttime
: bigint;(*The time in jiffies the process started after system boot.*)
# vsize
: bigint;(*Virtual memory size in bytes.*)
# rss
: bigint;(*Resident Set Size: number of pages the process has in real memory.*)
# rlim
: bigint;(*Current limit in bytes on the rss of the process.*)
# startcode
: bigint;(*The address above which program text can run.*)
# endcode
: bigint;(*The address below which program text can run.*)
# startstack
: bigint;(*The address of the start of the stack.*)
# kstkesp
: bigint;(*The current value of esp (stack pointer)*)
# kstkeip
: bigint;(*The current value of eip (instruction pointer)*)
# signal
: bigint;(*The bitmap of pending signals.*)
# blocked
: bigint;(*The bitmap of blocked signals.*)
# sigignore
: bigint;(*The bitmap of ignored signals.*)
# sigcatch
: bigint;(*The bitmap of caught signals.*)
# wchan
: bigint;(*This is the "channel" in which the process is waiting. Address of a system call.*)
# nswap
: bigint;(*(no longer maintained)*)
# cnswap
: bigint;(*(no longer maintained)*)
# exit_signal
: int;(*Signal sent to parent when we die.*)
# processor
: int;(*CPU number last executed on.*)
# rt_priority
: bigint;(*Real-time scheduling priority.*)
# policy
: bigint;(*Scheduling policy*)
}
#
val policy : t -> bigint
#
val rt_priority : t -> bigint
#
val processor : t -> int
#
val exit_signal : t -> int
#
val cnswap : t -> bigint
#
val nswap : t -> bigint
#
val wchan : t -> bigint
#
val sigcatch : t -> bigint
#
val sigignore : t -> bigint
#
val blocked : t -> bigint
#
val signal : t -> bigint
#
val kstkeip : t -> bigint
#
val kstkesp : t -> bigint
#
val startstack : t -> bigint
#
val endcode : t -> bigint
#
val startcode : t -> bigint
#
val rlim : t -> bigint
#
val rss : t -> bigint
#
val vsize : t -> bigint
#
val starttime : t -> bigint
#
val itrealvalue : t -> bigint
#
val unused : t -> bigint
#
val nice : t -> bigint
#
val priority : t -> bigint
#
val cstime : t -> bigint
#
val cutime : t -> bigint
#
val stime : t -> bigint
#
val utime : t -> bigint
#
val cmajflt : t -> bigint
#
val majflt : t -> bigint
#
val cminflt : t -> bigint
#
val minflt : t -> bigint
#
val flags : t -> bigint
#
val tpgid : t -> int
#
val tty_nr : t -> int
#
val session : t -> int
#
val pgrp : t -> Core.Std.Pid.t option
#
val ppid : t -> Core.Std.Pid.t option
#
val state : t -> char
#
val comm : t -> string
#
module Fields : sig
#
val names : string list
#
val policy : (t, bigint) Fieldslib.Field.t
#
val rt_priority : (t, bigint) Fieldslib.Field.t
#
val processor : (t, int) Fieldslib.Field.t
#
val exit_signal : (t, int) Fieldslib.Field.t
#
val cnswap : (t, bigint) Fieldslib.Field.t
#
val nswap : (t, bigint) Fieldslib.Field.t
#
val wchan : (t, bigint) Fieldslib.Field.t
#
val sigcatch : (t, bigint) Fieldslib.Field.t
#
val sigignore : (t, bigint) Fieldslib.Field.t
#
val blocked : (t, bigint) Fieldslib.Field.t
#
val signal : (t, bigint) Fieldslib.Field.t
#
val kstkeip : (t, bigint) Fieldslib.Field.t
#
val kstkesp : (t, bigint) Fieldslib.Field.t
#
val startstack : (t, bigint) Fieldslib.Field.t
#
val endcode : (t, bigint) Fieldslib.Field.t
#
val startcode : (t, bigint) Fieldslib.Field.t
#
val rlim : (t, bigint) Fieldslib.Field.t
#
val rss : (t, bigint) Fieldslib.Field.t
#
val vsize : (t, bigint) Fieldslib.Field.t
#
val starttime : (t, bigint) Fieldslib.Field.t
#
val itrealvalue : (t, bigint) Fieldslib.Field.t
#
val unused : (t, bigint) Fieldslib.Field.t
#
val nice : (t, bigint) Fieldslib.Field.t
#
val priority : (t, bigint) Fieldslib.Field.t
#
val cstime : (t, bigint) Fieldslib.Field.t
#
val cutime : (t, bigint) Fieldslib.Field.t
#
val stime : (t, bigint) Fieldslib.Field.t
#
val utime : (t, bigint) Fieldslib.Field.t
#
val cmajflt : (t, bigint) Fieldslib.Field.t
#
val majflt : (t, bigint) Fieldslib.Field.t
#
val cminflt : (t, bigint) Fieldslib.Field.t
#
val minflt : (t, bigint) Fieldslib.Field.t
#
val flags : (t, bigint) Fieldslib.Field.t
#
val tpgid : (t, int) Fieldslib.Field.t
#
val tty_nr : (t, int) Fieldslib.Field.t
#
val session : (t, int) Fieldslib.Field.t
#
val pgrp : (t, Core.Std.Pid.t option) Fieldslib.Field.t
#
val ppid : (t, Core.Std.Pid.t option) Fieldslib.Field.t
#
val state : (t, char) Fieldslib.Field.t
#
val comm : (t, string) Fieldslib.Field.t
#
val fold : init:'acc__ -> comm:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> state:('acc__ -> (t, char) Fieldslib.Field.t -> 'acc__) -> ppid:('acc__ -> (t, Core.Std.Pid.t option) Fieldslib.Field.t -> 'acc__) -> pgrp:('acc__ -> (t, Core.Std.Pid.t option) Fieldslib.Field.t -> 'acc__) -> session:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tty_nr:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tpgid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> flags:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> minflt:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> cminflt:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> majflt:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> cmajflt:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> utime:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> stime:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> cutime:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> cstime:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> priority:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> nice:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> unused:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> itrealvalue:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> starttime:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> vsize:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> rss:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> rlim:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> startcode:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> endcode:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> startstack:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> kstkesp:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> kstkeip:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> signal:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> blocked:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> sigignore:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> sigcatch:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> wchan:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> nswap:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> cnswap:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> exit_signal:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> processor:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> rt_priority:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> policy:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : comm:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> state:((t, char) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> char) * 'compile_acc__) -> ppid:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Core.Std.Pid.t option) * 'compile_acc__) -> pgrp:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Core.Std.Pid.t option) * 'compile_acc__) -> session:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tty_nr:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tpgid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> flags:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> minflt:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> cminflt:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> majflt:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> cmajflt:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> utime:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> stime:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> cutime:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> cstime:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> priority:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> nice:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> unused:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> itrealvalue:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> starttime:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> vsize:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> rss:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> rlim:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> startcode:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> endcode:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> startstack:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> kstkesp:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> kstkeip:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> signal:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> blocked:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> sigignore:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> sigcatch:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> wchan:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> nswap:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> cnswap:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> exit_signal:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> processor:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> rt_priority:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> policy:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : comm:string -> state:char -> ppid:Core.Std.Pid.t option -> pgrp:Core.Std.Pid.t option -> session:int -> tty_nr:int -> tpgid:int -> flags:bigint -> minflt:bigint -> cminflt:bigint -> majflt:bigint -> cmajflt:bigint -> utime:bigint -> stime:bigint -> cutime:bigint -> cstime:bigint -> priority:bigint -> nice:bigint -> unused:bigint -> itrealvalue:bigint -> starttime:bigint -> vsize:bigint -> rss:bigint -> rlim:bigint -> startcode:bigint -> endcode:bigint -> startstack:bigint -> kstkesp:bigint -> kstkeip:bigint -> signal:bigint -> blocked:bigint -> sigignore:bigint -> sigcatch:bigint -> wchan:bigint -> nswap:bigint -> cnswap:bigint -> exit_signal:int -> processor:int -> rt_priority:bigint -> policy:bigint -> t
#
val map : comm:((t, string) Fieldslib.Field.t -> string) -> state:((t, char) Fieldslib.Field.t -> char) -> ppid:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> Core.Std.Pid.t option) -> pgrp:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> Core.Std.Pid.t option) -> session:((t, int) Fieldslib.Field.t -> int) -> tty_nr:((t, int) Fieldslib.Field.t -> int) -> tpgid:((t, int) Fieldslib.Field.t -> int) -> flags:((t, bigint) Fieldslib.Field.t -> bigint) -> minflt:((t, bigint) Fieldslib.Field.t -> bigint) -> cminflt:((t, bigint) Fieldslib.Field.t -> bigint) -> majflt:((t, bigint) Fieldslib.Field.t -> bigint) -> cmajflt:((t, bigint) Fieldslib.Field.t -> bigint) -> utime:((t, bigint) Fieldslib.Field.t -> bigint) -> stime:((t, bigint) Fieldslib.Field.t -> bigint) -> cutime:((t, bigint) Fieldslib.Field.t -> bigint) -> cstime:((t, bigint) Fieldslib.Field.t -> bigint) -> priority:((t, bigint) Fieldslib.Field.t -> bigint) -> nice:((t, bigint) Fieldslib.Field.t -> bigint) -> unused:((t, bigint) Fieldslib.Field.t -> bigint) -> itrealvalue:((t, bigint) Fieldslib.Field.t -> bigint) -> starttime:((t, bigint) Fieldslib.Field.t -> bigint) -> vsize:((t, bigint) Fieldslib.Field.t -> bigint) -> rss:((t, bigint) Fieldslib.Field.t -> bigint) -> rlim:((t, bigint) Fieldslib.Field.t -> bigint) -> startcode:((t, bigint) Fieldslib.Field.t -> bigint) -> endcode:((t, bigint) Fieldslib.Field.t -> bigint) -> startstack:((t, bigint) Fieldslib.Field.t -> bigint) -> kstkesp:((t, bigint) Fieldslib.Field.t -> bigint) -> kstkeip:((t, bigint) Fieldslib.Field.t -> bigint) -> signal:((t, bigint) Fieldslib.Field.t -> bigint) -> blocked:((t, bigint) Fieldslib.Field.t -> bigint) -> sigignore:((t, bigint) Fieldslib.Field.t -> bigint) -> sigcatch:((t, bigint) Fieldslib.Field.t -> bigint) -> wchan:((t, bigint) Fieldslib.Field.t -> bigint) -> nswap:((t, bigint) Fieldslib.Field.t -> bigint) -> cnswap:((t, bigint) Fieldslib.Field.t -> bigint) -> exit_signal:((t, int) Fieldslib.Field.t -> int) -> processor:((t, int) Fieldslib.Field.t -> int) -> rt_priority:((t, bigint) Fieldslib.Field.t -> bigint) -> policy:((t, bigint) Fieldslib.Field.t -> bigint) -> t
#
val iter : comm:((t, string) Fieldslib.Field.t -> unit) -> state:((t, char) Fieldslib.Field.t -> unit) -> ppid:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> unit) -> pgrp:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> unit) -> session:((t, int) Fieldslib.Field.t -> unit) -> tty_nr:((t, int) Fieldslib.Field.t -> unit) -> tpgid:((t, int) Fieldslib.Field.t -> unit) -> flags:((t, bigint) Fieldslib.Field.t -> unit) -> minflt:((t, bigint) Fieldslib.Field.t -> unit) -> cminflt:((t, bigint) Fieldslib.Field.t -> unit) -> majflt:((t, bigint) Fieldslib.Field.t -> unit) -> cmajflt:((t, bigint) Fieldslib.Field.t -> unit) -> utime:((t, bigint) Fieldslib.Field.t -> unit) -> stime:((t, bigint) Fieldslib.Field.t -> unit) -> cutime:((t, bigint) Fieldslib.Field.t -> unit) -> cstime:((t, bigint) Fieldslib.Field.t -> unit) -> priority:((t, bigint) Fieldslib.Field.t -> unit) -> nice:((t, bigint) Fieldslib.Field.t -> unit) -> unused:((t, bigint) Fieldslib.Field.t -> unit) -> itrealvalue:((t, bigint) Fieldslib.Field.t -> unit) -> starttime:((t, bigint) Fieldslib.Field.t -> unit) -> vsize:((t, bigint) Fieldslib.Field.t -> unit) -> rss:((t, bigint) Fieldslib.Field.t -> unit) -> rlim:((t, bigint) Fieldslib.Field.t -> unit) -> startcode:((t, bigint) Fieldslib.Field.t -> unit) -> endcode:((t, bigint) Fieldslib.Field.t -> unit) -> startstack:((t, bigint) Fieldslib.Field.t -> unit) -> kstkesp:((t, bigint) Fieldslib.Field.t -> unit) -> kstkeip:((t, bigint) Fieldslib.Field.t -> unit) -> signal:((t, bigint) Fieldslib.Field.t -> unit) -> blocked:((t, bigint) Fieldslib.Field.t -> unit) -> sigignore:((t, bigint) Fieldslib.Field.t -> unit) -> sigcatch:((t, bigint) Fieldslib.Field.t -> unit) -> wchan:((t, bigint) Fieldslib.Field.t -> unit) -> nswap:((t, bigint) Fieldslib.Field.t -> unit) -> cnswap:((t, bigint) Fieldslib.Field.t -> unit) -> exit_signal:((t, int) Fieldslib.Field.t -> unit) -> processor:((t, int) Fieldslib.Field.t -> unit) -> rt_priority:((t, bigint) Fieldslib.Field.t -> unit) -> policy:((t, bigint) Fieldslib.Field.t -> unit) -> unit
#
val for_all : comm:((t, string) Fieldslib.Field.t -> bool) -> state:((t, char) Fieldslib.Field.t -> bool) -> ppid:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> bool) -> pgrp:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> bool) -> session:((t, int) Fieldslib.Field.t -> bool) -> tty_nr:((t, int) Fieldslib.Field.t -> bool) -> tpgid:((t, int) Fieldslib.Field.t -> bool) -> flags:((t, bigint) Fieldslib.Field.t -> bool) -> minflt:((t, bigint) Fieldslib.Field.t -> bool) -> cminflt:((t, bigint) Fieldslib.Field.t -> bool) -> majflt:((t, bigint) Fieldslib.Field.t -> bool) -> cmajflt:((t, bigint) Fieldslib.Field.t -> bool) -> utime:((t, bigint) Fieldslib.Field.t -> bool) -> stime:((t, bigint) Fieldslib.Field.t -> bool) -> cutime:((t, bigint) Fieldslib.Field.t -> bool) -> cstime:((t, bigint) Fieldslib.Field.t -> bool) -> priority:((t, bigint) Fieldslib.Field.t -> bool) -> nice:((t, bigint) Fieldslib.Field.t -> bool) -> unused:((t, bigint) Fieldslib.Field.t -> bool) -> itrealvalue:((t, bigint) Fieldslib.Field.t -> bool) -> starttime:((t, bigint) Fieldslib.Field.t -> bool) -> vsize:((t, bigint) Fieldslib.Field.t -> bool) -> rss:((t, bigint) Fieldslib.Field.t -> bool) -> rlim:((t, bigint) Fieldslib.Field.t -> bool) -> startcode:((t, bigint) Fieldslib.Field.t -> bool) -> endcode:((t, bigint) Fieldslib.Field.t -> bool) -> startstack:((t, bigint) Fieldslib.Field.t -> bool) -> kstkesp:((t, bigint) Fieldslib.Field.t -> bool) -> kstkeip:((t, bigint) Fieldslib.Field.t -> bool) -> signal:((t, bigint) Fieldslib.Field.t -> bool) -> blocked:((t, bigint) Fieldslib.Field.t -> bool) -> sigignore:((t, bigint) Fieldslib.Field.t -> bool) -> sigcatch:((t, bigint) Fieldslib.Field.t -> bool) -> wchan:((t, bigint) Fieldslib.Field.t -> bool) -> nswap:((t, bigint) Fieldslib.Field.t -> bool) -> cnswap:((t, bigint) Fieldslib.Field.t -> bool) -> exit_signal:((t, int) Fieldslib.Field.t -> bool) -> processor:((t, int) Fieldslib.Field.t -> bool) -> rt_priority:((t, bigint) Fieldslib.Field.t -> bool) -> policy:((t, bigint) Fieldslib.Field.t -> bool) -> bool
#
val exists : comm:((t, string) Fieldslib.Field.t -> bool) -> state:((t, char) Fieldslib.Field.t -> bool) -> ppid:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> bool) -> pgrp:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> bool) -> session:((t, int) Fieldslib.Field.t -> bool) -> tty_nr:((t, int) Fieldslib.Field.t -> bool) -> tpgid:((t, int) Fieldslib.Field.t -> bool) -> flags:((t, bigint) Fieldslib.Field.t -> bool) -> minflt:((t, bigint) Fieldslib.Field.t -> bool) -> cminflt:((t, bigint) Fieldslib.Field.t -> bool) -> majflt:((t, bigint) Fieldslib.Field.t -> bool) -> cmajflt:((t, bigint) Fieldslib.Field.t -> bool) -> utime:((t, bigint) Fieldslib.Field.t -> bool) -> stime:((t, bigint) Fieldslib.Field.t -> bool) -> cutime:((t, bigint) Fieldslib.Field.t -> bool) -> cstime:((t, bigint) Fieldslib.Field.t -> bool) -> priority:((t, bigint) Fieldslib.Field.t -> bool) -> nice:((t, bigint) Fieldslib.Field.t -> bool) -> unused:((t, bigint) Fieldslib.Field.t -> bool) -> itrealvalue:((t, bigint) Fieldslib.Field.t -> bool) -> starttime:((t, bigint) Fieldslib.Field.t -> bool) -> vsize:((t, bigint) Fieldslib.Field.t -> bool) -> rss:((t, bigint) Fieldslib.Field.t -> bool) -> rlim:((t, bigint) Fieldslib.Field.t -> bool) -> startcode:((t, bigint) Fieldslib.Field.t -> bool) -> endcode:((t, bigint) Fieldslib.Field.t -> bool) -> startstack:((t, bigint) Fieldslib.Field.t -> bool) -> kstkesp:((t, bigint) Fieldslib.Field.t -> bool) -> kstkeip:((t, bigint) Fieldslib.Field.t -> bool) -> signal:((t, bigint) Fieldslib.Field.t -> bool) -> blocked:((t, bigint) Fieldslib.Field.t -> bool) -> sigignore:((t, bigint) Fieldslib.Field.t -> bool) -> sigcatch:((t, bigint) Fieldslib.Field.t -> bool) -> wchan:((t, bigint) Fieldslib.Field.t -> bool) -> nswap:((t, bigint) Fieldslib.Field.t -> bool) -> cnswap:((t, bigint) Fieldslib.Field.t -> bool) -> exit_signal:((t, int) Fieldslib.Field.t -> bool) -> processor:((t, int) Fieldslib.Field.t -> bool) -> rt_priority:((t, bigint) Fieldslib.Field.t -> bool) -> policy:((t, bigint) Fieldslib.Field.t -> bool) -> bool
#
val to_list : comm:((t, string) Fieldslib.Field.t -> 'elem__) -> state:((t, char) Fieldslib.Field.t -> 'elem__) -> ppid:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> 'elem__) -> pgrp:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> 'elem__) -> session:((t, int) Fieldslib.Field.t -> 'elem__) -> tty_nr:((t, int) Fieldslib.Field.t -> 'elem__) -> tpgid:((t, int) Fieldslib.Field.t -> 'elem__) -> flags:((t, bigint) Fieldslib.Field.t -> 'elem__) -> minflt:((t, bigint) Fieldslib.Field.t -> 'elem__) -> cminflt:((t, bigint) Fieldslib.Field.t -> 'elem__) -> majflt:((t, bigint) Fieldslib.Field.t -> 'elem__) -> cmajflt:((t, bigint) Fieldslib.Field.t -> 'elem__) -> utime:((t, bigint) Fieldslib.Field.t -> 'elem__) -> stime:((t, bigint) Fieldslib.Field.t -> 'elem__) -> cutime:((t, bigint) Fieldslib.Field.t -> 'elem__) -> cstime:((t, bigint) Fieldslib.Field.t -> 'elem__) -> priority:((t, bigint) Fieldslib.Field.t -> 'elem__) -> nice:((t, bigint) Fieldslib.Field.t -> 'elem__) -> unused:((t, bigint) Fieldslib.Field.t -> 'elem__) -> itrealvalue:((t, bigint) Fieldslib.Field.t -> 'elem__) -> starttime:((t, bigint) Fieldslib.Field.t -> 'elem__) -> vsize:((t, bigint) Fieldslib.Field.t -> 'elem__) -> rss:((t, bigint) Fieldslib.Field.t -> 'elem__) -> rlim:((t, bigint) Fieldslib.Field.t -> 'elem__) -> startcode:((t, bigint) Fieldslib.Field.t -> 'elem__) -> endcode:((t, bigint) Fieldslib.Field.t -> 'elem__) -> startstack:((t, bigint) Fieldslib.Field.t -> 'elem__) -> kstkesp:((t, bigint) Fieldslib.Field.t -> 'elem__) -> kstkeip:((t, bigint) Fieldslib.Field.t -> 'elem__) -> signal:((t, bigint) Fieldslib.Field.t -> 'elem__) -> blocked:((t, bigint) Fieldslib.Field.t -> 'elem__) -> sigignore:((t, bigint) Fieldslib.Field.t -> 'elem__) -> sigcatch:((t, bigint) Fieldslib.Field.t -> 'elem__) -> wchan:((t, bigint) Fieldslib.Field.t -> 'elem__) -> nswap:((t, bigint) Fieldslib.Field.t -> 'elem__) -> cnswap:((t, bigint) Fieldslib.Field.t -> 'elem__) -> exit_signal:((t, int) Fieldslib.Field.t -> 'elem__) -> processor:((t, int) Fieldslib.Field.t -> 'elem__) -> rt_priority:((t, bigint) Fieldslib.Field.t -> 'elem__) -> policy:((t, bigint) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> comm:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> state:((t, char) Fieldslib.Field.t -> t -> char -> unit) -> ppid:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> t -> Core.Std.Pid.t option -> unit) -> pgrp:((t, Core.Std.Pid.t option) Fieldslib.Field.t -> t -> Core.Std.Pid.t option -> unit) -> session:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tty_nr:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tpgid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> flags:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> minflt:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> cminflt:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> majflt:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> cmajflt:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> utime:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> stime:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> cutime:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> cstime:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> priority:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> nice:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> unused:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> itrealvalue:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> starttime:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> vsize:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> rss:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> rlim:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> startcode:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> endcode:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> startstack:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> kstkesp:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> kstkeip:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> signal:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> blocked:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> sigignore:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> sigcatch:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> wchan:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> nswap:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> cnswap:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> exit_signal:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> processor:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> rt_priority:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> policy:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> unit
#
val fold : t -> init:'acc__ -> comm:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> state:('acc__ -> (t, char) Fieldslib.Field.t -> t -> char -> 'acc__) -> ppid:('acc__ -> (t, Core.Std.Pid.t option) Fieldslib.Field.t -> t -> Core.Std.Pid.t option -> 'acc__) -> pgrp:('acc__ -> (t, Core.Std.Pid.t option) Fieldslib.Field.t -> t -> Core.Std.Pid.t option -> 'acc__) -> session:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tty_nr:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tpgid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> flags:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> minflt:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> cminflt:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> majflt:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> cmajflt:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> utime:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> stime:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> cutime:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> cstime:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> priority:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> nice:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> unused:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> itrealvalue:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> starttime:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> vsize:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> rss:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> rlim:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> startcode:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> endcode:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> startstack:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> kstkesp:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> kstkeip:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> signal:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> blocked:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> sigignore:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> sigcatch:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> wchan:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> nswap:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> cnswap:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> exit_signal:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> processor:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> rt_priority:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> policy:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> 'acc__
end
end
#
val extract_command : string -> [
| `command of string
] * [
| `rest of string
]
#
val of_string : string -> t
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Statm : sig
#
type t = {
# size
: bigint;(*total program size*)
# resident
: bigint;(*resident set size*)
# share
: bigint;(*shared pages*)
# text
: bigint;(*text (code)*)
# lib
: bigint;(*library*)
# data
: bigint;(*data/stack*)
# dt
: bigint;(*dirty pages (unused)*)
}
#
val dt : t -> bigint
#
val data : t -> bigint
#
val lib : t -> bigint
#
val text : t -> bigint
#
val share : t -> bigint
#
val resident : t -> bigint
#
val size : t -> bigint
#
module Fields : sig
#
val names : string list
#
val dt : (t, bigint) Fieldslib.Field.t
#
val data : (t, bigint) Fieldslib.Field.t
#
val lib : (t, bigint) Fieldslib.Field.t
#
val text : (t, bigint) Fieldslib.Field.t
#
val share : (t, bigint) Fieldslib.Field.t
#
val resident : (t, bigint) Fieldslib.Field.t
#
val size : (t, bigint) Fieldslib.Field.t
#
val fold : init:'acc__ -> size:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> resident:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> share:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> text:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> lib:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> data:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> dt:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : size:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> resident:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> share:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> text:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> lib:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> data:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> dt:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : size:bigint -> resident:bigint -> share:bigint -> text:bigint -> lib:bigint -> data:bigint -> dt:bigint -> t
#
val map : size:((t, bigint) Fieldslib.Field.t -> bigint) -> resident:((t, bigint) Fieldslib.Field.t -> bigint) -> share:((t, bigint) Fieldslib.Field.t -> bigint) -> text:((t, bigint) Fieldslib.Field.t -> bigint) -> lib:((t, bigint) Fieldslib.Field.t -> bigint) -> data:((t, bigint) Fieldslib.Field.t -> bigint) -> dt:((t, bigint) Fieldslib.Field.t -> bigint) -> t
#
val iter : size:((t, bigint) Fieldslib.Field.t -> unit) -> resident:((t, bigint) Fieldslib.Field.t -> unit) -> share:((t, bigint) Fieldslib.Field.t -> unit) -> text:((t, bigint) Fieldslib.Field.t -> unit) -> lib:((t, bigint) Fieldslib.Field.t -> unit) -> data:((t, bigint) Fieldslib.Field.t -> unit) -> dt:((t, bigint) Fieldslib.Field.t -> unit) -> unit
#
val for_all : size:((t, bigint) Fieldslib.Field.t -> bool) -> resident:((t, bigint) Fieldslib.Field.t -> bool) -> share:((t, bigint) Fieldslib.Field.t -> bool) -> text:((t, bigint) Fieldslib.Field.t -> bool) -> lib:((t, bigint) Fieldslib.Field.t -> bool) -> data:((t, bigint) Fieldslib.Field.t -> bool) -> dt:((t, bigint) Fieldslib.Field.t -> bool) -> bool
#
val exists : size:((t, bigint) Fieldslib.Field.t -> bool) -> resident:((t, bigint) Fieldslib.Field.t -> bool) -> share:((t, bigint) Fieldslib.Field.t -> bool) -> text:((t, bigint) Fieldslib.Field.t -> bool) -> lib:((t, bigint) Fieldslib.Field.t -> bool) -> data:((t, bigint) Fieldslib.Field.t -> bool) -> dt:((t, bigint) Fieldslib.Field.t -> bool) -> bool
#
val to_list : size:((t, bigint) Fieldslib.Field.t -> 'elem__) -> resident:((t, bigint) Fieldslib.Field.t -> 'elem__) -> share:((t, bigint) Fieldslib.Field.t -> 'elem__) -> text:((t, bigint) Fieldslib.Field.t -> 'elem__) -> lib:((t, bigint) Fieldslib.Field.t -> 'elem__) -> data:((t, bigint) Fieldslib.Field.t -> 'elem__) -> dt:((t, bigint) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> size:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> resident:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> share:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> text:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> lib:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> data:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> dt:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> unit
#
val fold : t -> init:'acc__ -> size:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> resident:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> share:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> text:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> lib:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> data:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> dt:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> 'acc__
end
end
#
val of_string : string -> t
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Status : sig
#
type t = {
# uid
: int;(*Real user ID*)
# euid
: int;(*Effective user ID*)
# suid
: int;(*Saved user ID*)
# fsuid
: int;(*FS user ID*)
# gid
: int;(*Real group ID*)
# egid
: int;(*Effective group ID*)
# sgid
: int;(*Saved group ID*)
# fsgid
: int;(*FS group ID*)
}
#
val fsgid : t -> int
#
val sgid : t -> int
#
val egid : t -> int
#
val gid : t -> int
#
val fsuid : t -> int
#
val suid : t -> int
#
val euid : t -> int
#
val uid : t -> int
#
module Fields : sig
#
val names : string list
#
val fsgid : (t, int) Fieldslib.Field.t
#
val sgid : (t, int) Fieldslib.Field.t
#
val egid : (t, int) Fieldslib.Field.t
#
val gid : (t, int) Fieldslib.Field.t
#
val fsuid : (t, int) Fieldslib.Field.t
#
val suid : (t, int) Fieldslib.Field.t
#
val euid : (t, int) Fieldslib.Field.t
#
val uid : (t, int) Fieldslib.Field.t
#
val fold : init:'acc__ -> uid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> euid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> suid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> fsuid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> gid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> egid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> sgid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> fsgid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : uid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> euid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> suid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> fsuid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> gid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> egid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> sgid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> fsgid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : uid:int -> euid:int -> suid:int -> fsuid:int -> gid:int -> egid:int -> sgid:int -> fsgid:int -> t
#
val map : uid:((t, int) Fieldslib.Field.t -> int) -> euid:((t, int) Fieldslib.Field.t -> int) -> suid:((t, int) Fieldslib.Field.t -> int) -> fsuid:((t, int) Fieldslib.Field.t -> int) -> gid:((t, int) Fieldslib.Field.t -> int) -> egid:((t, int) Fieldslib.Field.t -> int) -> sgid:((t, int) Fieldslib.Field.t -> int) -> fsgid:((t, int) Fieldslib.Field.t -> int) -> t
#
val iter : uid:((t, int) Fieldslib.Field.t -> unit) -> euid:((t, int) Fieldslib.Field.t -> unit) -> suid:((t, int) Fieldslib.Field.t -> unit) -> fsuid:((t, int) Fieldslib.Field.t -> unit) -> gid:((t, int) Fieldslib.Field.t -> unit) -> egid:((t, int) Fieldslib.Field.t -> unit) -> sgid:((t, int) Fieldslib.Field.t -> unit) -> fsgid:((t, int) Fieldslib.Field.t -> unit) -> unit
#
val for_all : uid:((t, int) Fieldslib.Field.t -> bool) -> euid:((t, int) Fieldslib.Field.t -> bool) -> suid:((t, int) Fieldslib.Field.t -> bool) -> fsuid:((t, int) Fieldslib.Field.t -> bool) -> gid:((t, int) Fieldslib.Field.t -> bool) -> egid:((t, int) Fieldslib.Field.t -> bool) -> sgid:((t, int) Fieldslib.Field.t -> bool) -> fsgid:((t, int) Fieldslib.Field.t -> bool) -> bool
#
val exists : uid:((t, int) Fieldslib.Field.t -> bool) -> euid:((t, int) Fieldslib.Field.t -> bool) -> suid:((t, int) Fieldslib.Field.t -> bool) -> fsuid:((t, int) Fieldslib.Field.t -> bool) -> gid:((t, int) Fieldslib.Field.t -> bool) -> egid:((t, int) Fieldslib.Field.t -> bool) -> sgid:((t, int) Fieldslib.Field.t -> bool) -> fsgid:((t, int) Fieldslib.Field.t -> bool) -> bool
#
val to_list : uid:((t, int) Fieldslib.Field.t -> 'elem__) -> euid:((t, int) Fieldslib.Field.t -> 'elem__) -> suid:((t, int) Fieldslib.Field.t -> 'elem__) -> fsuid:((t, int) Fieldslib.Field.t -> 'elem__) -> gid:((t, int) Fieldslib.Field.t -> 'elem__) -> egid:((t, int) Fieldslib.Field.t -> 'elem__) -> sgid:((t, int) Fieldslib.Field.t -> 'elem__) -> fsgid:((t, int) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> uid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> euid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> suid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> fsuid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> gid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> egid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> sgid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> fsgid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> unit
#
val fold : t -> init:'acc__ -> uid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> euid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> suid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> fsuid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> gid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> egid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> sgid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> fsgid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> 'acc__
end
end
#
val of_string : string -> t
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Fd : sig
#
type fd_stat =
# | Path of string
# | Socket of Inode.t
# | Pipe of Inode.t
# | Inotify
#
type t = {
# fd
: int;(*File descriptor (0=stdin, 1=stdout, etc.)*)
# fd_stat
: fd_stat;(*Kind of file*)
}
#
val fd_stat : t -> fd_stat
#
val fd : t -> int
#
module Fields : sig
#
val names : string list
#
val fd_stat : (t, fd_stat) Fieldslib.Field.t
#
val fd : (t, int) Fieldslib.Field.t
#
val fold : init:'acc__ -> fd:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> fd_stat:('acc__ -> (t, fd_stat) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : fd:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> fd_stat:((t, fd_stat) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> fd_stat) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : fd:int -> fd_stat:fd_stat -> t
#
val map : fd:((t, int) Fieldslib.Field.t -> int) -> fd_stat:((t, fd_stat) Fieldslib.Field.t -> fd_stat) -> t
#
val iter : fd:((t, int) Fieldslib.Field.t -> unit) -> fd_stat:((t, fd_stat) Fieldslib.Field.t -> unit) -> unit
#
val for_all : fd:((t, int) Fieldslib.Field.t -> bool) -> fd_stat:((t, fd_stat) Fieldslib.Field.t -> bool) -> bool
#
val exists : fd:((t, int) Fieldslib.Field.t -> bool) -> fd_stat:((t, fd_stat) Fieldslib.Field.t -> bool) -> bool
#
val to_list : fd:((t, int) Fieldslib.Field.t -> 'elem__) -> fd_stat:((t, fd_stat) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> fd:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> fd_stat:((t, fd_stat) Fieldslib.Field.t -> t -> fd_stat -> unit) -> unit
#
val fold : t -> init:'acc__ -> fd:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> fd_stat:('acc__ -> (t, fd_stat) Fieldslib.Field.t -> t -> fd_stat -> 'acc__) -> 'acc__
end
end
#
val fd_stat_of_sexp : Sexplib.Sexp.t -> fd_stat
#
val sexp_of_fd_stat : fd_stat -> Sexplib.Sexp.t
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
type t = {
# pid
: Core.Std.Pid.t;(*Process ID*)
# cmdline
: string;(*Command-line (not reliable).*)
# cwd
: string option;(*Symlink to working directory.*)
# environ
: string option;(*Process environment.*)
# exe
: string option;(*Symlink to executed command.*)
# root
: string option;(*Per-process root (e.g. chroot)*)
# limits
: Limits.t option;(*Per-process rlimit settings*)
# stat
: Stat.t;(*Status information.*)
# statm
: Statm.t;(*Memory status information.*)
# status
: Status.t;(*Some more assorted status information.*)
# task_stats
: Stat.t Core.Std.Pid.Map.t;(*Status information for each task (thread)*)
# top_command
: string;(*Show what top would show for COMMAND*)
# fds
: Fd.t list option;(*File descriptors*)
# oom_adj
: int;(*OOM killer niceness range: -17 to +15*)
# oom_score
: int;(*OOM "sacrifice" priority*)
}
#
val oom_score : t -> int
#
val oom_adj : t -> int
#
val fds : t -> Fd.t list option
#
val top_command : t -> string
#
val task_stats : t -> Stat.t Core.Std.Pid.Map.t
#
val status : t -> Status.t
#
val statm : t -> Statm.t
#
val stat : t -> Stat.t
#
val limits : t -> Limits.t option
#
val root : t -> string option
#
val exe : t -> string option
#
val environ : t -> string option
#
val cwd : t -> string option
#
val cmdline : t -> string
#
val pid : t -> Core.Std.Pid.t
#
module Fields : sig
#
val names : string list
#
val oom_score : (t, int) Fieldslib.Field.t
#
val oom_adj : (t, int) Fieldslib.Field.t
#
val fds : (t, Fd.t list option) Fieldslib.Field.t
#
val top_command : (t, string) Fieldslib.Field.t
#
val task_stats : (t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t
#
val status : (t, Status.t) Fieldslib.Field.t
#
val statm : (t, Statm.t) Fieldslib.Field.t
#
val stat : (t, Stat.t) Fieldslib.Field.t
#
val limits : (t, Limits.t option) Fieldslib.Field.t
#
val root : (t, string option) Fieldslib.Field.t
#
val exe : (t, string option) Fieldslib.Field.t
#
val environ : (t, string option) Fieldslib.Field.t
#
val cwd : (t, string option) Fieldslib.Field.t
#
val cmdline : (t, string) Fieldslib.Field.t
#
val pid : (t, Core.Std.Pid.t) Fieldslib.Field.t
#
val fold : init:'acc__ -> pid:('acc__ -> (t, Core.Std.Pid.t) Fieldslib.Field.t -> 'acc__) -> cmdline:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> cwd:('acc__ -> (t, string option) Fieldslib.Field.t -> 'acc__) -> environ:('acc__ -> (t, string option) Fieldslib.Field.t -> 'acc__) -> exe:('acc__ -> (t, string option) Fieldslib.Field.t -> 'acc__) -> root:('acc__ -> (t, string option) Fieldslib.Field.t -> 'acc__) -> limits:('acc__ -> (t, Limits.t option) Fieldslib.Field.t -> 'acc__) -> stat:('acc__ -> (t, Stat.t) Fieldslib.Field.t -> 'acc__) -> statm:('acc__ -> (t, Statm.t) Fieldslib.Field.t -> 'acc__) -> status:('acc__ -> (t, Status.t) Fieldslib.Field.t -> 'acc__) -> task_stats:('acc__ -> (t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> 'acc__) -> top_command:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> fds:('acc__ -> (t, Fd.t list option) Fieldslib.Field.t -> 'acc__) -> oom_adj:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> oom_score:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : pid:((t, Core.Std.Pid.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Core.Std.Pid.t) * 'compile_acc__) -> cmdline:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> cwd:((t, string option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string option) * 'compile_acc__) -> environ:((t, string option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string option) * 'compile_acc__) -> exe:((t, string option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string option) * 'compile_acc__) -> root:((t, string option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string option) * 'compile_acc__) -> limits:((t, Limits.t option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Limits.t option) * 'compile_acc__) -> stat:((t, Stat.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Stat.t) * 'compile_acc__) -> statm:((t, Statm.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Statm.t) * 'compile_acc__) -> status:((t, Status.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Status.t) * 'compile_acc__) -> task_stats:((t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Stat.t Core.Std.Pid.Map.t) * 'compile_acc__) -> top_command:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> fds:((t, Fd.t list option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Fd.t list option) * 'compile_acc__) -> oom_adj:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> oom_score:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : pid:Core.Std.Pid.t -> cmdline:string -> cwd:string option -> environ:string option -> exe:string option -> root:string option -> limits:Limits.t option -> stat:Stat.t -> statm:Statm.t -> status:Status.t -> task_stats:Stat.t Core.Std.Pid.Map.t -> top_command:string -> fds:Fd.t list option -> oom_adj:int -> oom_score:int -> t
#
val map : pid:((t, Core.Std.Pid.t) Fieldslib.Field.t -> Core.Std.Pid.t) -> cmdline:((t, string) Fieldslib.Field.t -> string) -> cwd:((t, string option) Fieldslib.Field.t -> string option) -> environ:((t, string option) Fieldslib.Field.t -> string option) -> exe:((t, string option) Fieldslib.Field.t -> string option) -> root:((t, string option) Fieldslib.Field.t -> string option) -> limits:((t, Limits.t option) Fieldslib.Field.t -> Limits.t option) -> stat:((t, Stat.t) Fieldslib.Field.t -> Stat.t) -> statm:((t, Statm.t) Fieldslib.Field.t -> Statm.t) -> status:((t, Status.t) Fieldslib.Field.t -> Status.t) -> task_stats:((t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> Stat.t Core.Std.Pid.Map.t) -> top_command:((t, string) Fieldslib.Field.t -> string) -> fds:((t, Fd.t list option) Fieldslib.Field.t -> Fd.t list option) -> oom_adj:((t, int) Fieldslib.Field.t -> int) -> oom_score:((t, int) Fieldslib.Field.t -> int) -> t
#
val iter : pid:((t, Core.Std.Pid.t) Fieldslib.Field.t -> unit) -> cmdline:((t, string) Fieldslib.Field.t -> unit) -> cwd:((t, string option) Fieldslib.Field.t -> unit) -> environ:((t, string option) Fieldslib.Field.t -> unit) -> exe:((t, string option) Fieldslib.Field.t -> unit) -> root:((t, string option) Fieldslib.Field.t -> unit) -> limits:((t, Limits.t option) Fieldslib.Field.t -> unit) -> stat:((t, Stat.t) Fieldslib.Field.t -> unit) -> statm:((t, Statm.t) Fieldslib.Field.t -> unit) -> status:((t, Status.t) Fieldslib.Field.t -> unit) -> task_stats:((t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> unit) -> top_command:((t, string) Fieldslib.Field.t -> unit) -> fds:((t, Fd.t list option) Fieldslib.Field.t -> unit) -> oom_adj:((t, int) Fieldslib.Field.t -> unit) -> oom_score:((t, int) Fieldslib.Field.t -> unit) -> unit
#
val for_all : pid:((t, Core.Std.Pid.t) Fieldslib.Field.t -> bool) -> cmdline:((t, string) Fieldslib.Field.t -> bool) -> cwd:((t, string option) Fieldslib.Field.t -> bool) -> environ:((t, string option) Fieldslib.Field.t -> bool) -> exe:((t, string option) Fieldslib.Field.t -> bool) -> root:((t, string option) Fieldslib.Field.t -> bool) -> limits:((t, Limits.t option) Fieldslib.Field.t -> bool) -> stat:((t, Stat.t) Fieldslib.Field.t -> bool) -> statm:((t, Statm.t) Fieldslib.Field.t -> bool) -> status:((t, Status.t) Fieldslib.Field.t -> bool) -> task_stats:((t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> bool) -> top_command:((t, string) Fieldslib.Field.t -> bool) -> fds:((t, Fd.t list option) Fieldslib.Field.t -> bool) -> oom_adj:((t, int) Fieldslib.Field.t -> bool) -> oom_score:((t, int) Fieldslib.Field.t -> bool) -> bool
#
val exists : pid:((t, Core.Std.Pid.t) Fieldslib.Field.t -> bool) -> cmdline:((t, string) Fieldslib.Field.t -> bool) -> cwd:((t, string option) Fieldslib.Field.t -> bool) -> environ:((t, string option) Fieldslib.Field.t -> bool) -> exe:((t, string option) Fieldslib.Field.t -> bool) -> root:((t, string option) Fieldslib.Field.t -> bool) -> limits:((t, Limits.t option) Fieldslib.Field.t -> bool) -> stat:((t, Stat.t) Fieldslib.Field.t -> bool) -> statm:((t, Statm.t) Fieldslib.Field.t -> bool) -> status:((t, Status.t) Fieldslib.Field.t -> bool) -> task_stats:((t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> bool) -> top_command:((t, string) Fieldslib.Field.t -> bool) -> fds:((t, Fd.t list option) Fieldslib.Field.t -> bool) -> oom_adj:((t, int) Fieldslib.Field.t -> bool) -> oom_score:((t, int) Fieldslib.Field.t -> bool) -> bool
#
val to_list : pid:((t, Core.Std.Pid.t) Fieldslib.Field.t -> 'elem__) -> cmdline:((t, string) Fieldslib.Field.t -> 'elem__) -> cwd:((t, string option) Fieldslib.Field.t -> 'elem__) -> environ:((t, string option) Fieldslib.Field.t -> 'elem__) -> exe:((t, string option) Fieldslib.Field.t -> 'elem__) -> root:((t, string option) Fieldslib.Field.t -> 'elem__) -> limits:((t, Limits.t option) Fieldslib.Field.t -> 'elem__) -> stat:((t, Stat.t) Fieldslib.Field.t -> 'elem__) -> statm:((t, Statm.t) Fieldslib.Field.t -> 'elem__) -> status:((t, Status.t) Fieldslib.Field.t -> 'elem__) -> task_stats:((t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> 'elem__) -> top_command:((t, string) Fieldslib.Field.t -> 'elem__) -> fds:((t, Fd.t list option) Fieldslib.Field.t -> 'elem__) -> oom_adj:((t, int) Fieldslib.Field.t -> 'elem__) -> oom_score:((t, int) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> pid:((t, Core.Std.Pid.t) Fieldslib.Field.t -> t -> Core.Std.Pid.t -> unit) -> cmdline:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> cwd:((t, string option) Fieldslib.Field.t -> t -> string option -> unit) -> environ:((t, string option) Fieldslib.Field.t -> t -> string option -> unit) -> exe:((t, string option) Fieldslib.Field.t -> t -> string option -> unit) -> root:((t, string option) Fieldslib.Field.t -> t -> string option -> unit) -> limits:((t, Limits.t option) Fieldslib.Field.t -> t -> Limits.t option -> unit) -> stat:((t, Stat.t) Fieldslib.Field.t -> t -> Stat.t -> unit) -> statm:((t, Statm.t) Fieldslib.Field.t -> t -> Statm.t -> unit) -> status:((t, Status.t) Fieldslib.Field.t -> t -> Status.t -> unit) -> task_stats:((t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> t -> Stat.t Core.Std.Pid.Map.t -> unit) -> top_command:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> fds:((t, Fd.t list option) Fieldslib.Field.t -> t -> Fd.t list option -> unit) -> oom_adj:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> oom_score:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> unit
#
val fold : t -> init:'acc__ -> pid:('acc__ -> (t, Core.Std.Pid.t) Fieldslib.Field.t -> t -> Core.Std.Pid.t -> 'acc__) -> cmdline:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> cwd:('acc__ -> (t, string option) Fieldslib.Field.t -> t -> string option -> 'acc__) -> environ:('acc__ -> (t, string option) Fieldslib.Field.t -> t -> string option -> 'acc__) -> exe:('acc__ -> (t, string option) Fieldslib.Field.t -> t -> string option -> 'acc__) -> root:('acc__ -> (t, string option) Fieldslib.Field.t -> t -> string option -> 'acc__) -> limits:('acc__ -> (t, Limits.t option) Fieldslib.Field.t -> t -> Limits.t option -> 'acc__) -> stat:('acc__ -> (t, Stat.t) Fieldslib.Field.t -> t -> Stat.t -> 'acc__) -> statm:('acc__ -> (t, Statm.t) Fieldslib.Field.t -> t -> Statm.t -> 'acc__) -> status:('acc__ -> (t, Status.t) Fieldslib.Field.t -> t -> Status.t -> 'acc__) -> task_stats:('acc__ -> (t, Stat.t Core.Std.Pid.Map.t) Fieldslib.Field.t -> t -> Stat.t Core.Std.Pid.Map.t -> 'acc__) -> top_command:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> fds:('acc__ -> (t, Fd.t list option) Fieldslib.Field.t -> t -> Fd.t list option -> 'acc__) -> oom_adj:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> oom_score:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> 'acc__
end
end
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Meminfo : sig
#
type t = {
# mem_total
: bigint;
# mem_free
: bigint;
# buffers
: bigint;
# cached
: bigint;
# swap_cached
: bigint;
# active
: bigint;
# inactive
: bigint;
# swap_total
: bigint;
# swap_free
: bigint;
# dirty
: bigint;
# writeback
: bigint;
# anon_pages
: bigint;
# mapped
: bigint;
# slab
: bigint;
# page_tables
: bigint;
# nfs_unstable
: bigint;
# bounce
: bigint;
# commit_limit
: bigint;
# committed_as
: bigint;
# vmalloc_total
: bigint;
# vmalloc_used
: bigint;
# vmalloc_chunk
: bigint;
}

t corresponds to the values in /proc/meminfo. All values in bytes.

#
val vmalloc_chunk : t -> bigint
#
val vmalloc_used : t -> bigint
#
val vmalloc_total : t -> bigint
#
val committed_as : t -> bigint
#
val commit_limit : t -> bigint
#
val bounce : t -> bigint
#
val nfs_unstable : t -> bigint
#
val page_tables : t -> bigint
#
val slab : t -> bigint
#
val mapped : t -> bigint
#
val anon_pages : t -> bigint
#
val writeback : t -> bigint
#
val dirty : t -> bigint
#
val swap_free : t -> bigint
#
val swap_total : t -> bigint
#
val inactive : t -> bigint
#
val active : t -> bigint
#
val swap_cached : t -> bigint
#
val cached : t -> bigint
#
val buffers : t -> bigint
#
val mem_free : t -> bigint
#
val mem_total : t -> bigint
#
module Fields : sig
#
val names : string list
#
val vmalloc_chunk : (t, bigint) Fieldslib.Field.t
#
val vmalloc_used : (t, bigint) Fieldslib.Field.t
#
val vmalloc_total : (t, bigint) Fieldslib.Field.t
#
val committed_as : (t, bigint) Fieldslib.Field.t
#
val commit_limit : (t, bigint) Fieldslib.Field.t
#
val bounce : (t, bigint) Fieldslib.Field.t
#
val nfs_unstable : (t, bigint) Fieldslib.Field.t
#
val page_tables : (t, bigint) Fieldslib.Field.t
#
val slab : (t, bigint) Fieldslib.Field.t
#
val mapped : (t, bigint) Fieldslib.Field.t
#
val anon_pages : (t, bigint) Fieldslib.Field.t
#
val writeback : (t, bigint) Fieldslib.Field.t
#
val dirty : (t, bigint) Fieldslib.Field.t
#
val swap_free : (t, bigint) Fieldslib.Field.t
#
val swap_total : (t, bigint) Fieldslib.Field.t
#
val inactive : (t, bigint) Fieldslib.Field.t
#
val active : (t, bigint) Fieldslib.Field.t
#
val swap_cached : (t, bigint) Fieldslib.Field.t
#
val cached : (t, bigint) Fieldslib.Field.t
#
val buffers : (t, bigint) Fieldslib.Field.t
#
val mem_free : (t, bigint) Fieldslib.Field.t
#
val mem_total : (t, bigint) Fieldslib.Field.t
#
val fold : init:'acc__ -> mem_total:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> mem_free:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> buffers:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> cached:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> swap_cached:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> active:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> inactive:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> swap_total:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> swap_free:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> dirty:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> writeback:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> anon_pages:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> mapped:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> slab:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> page_tables:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> nfs_unstable:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> bounce:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> commit_limit:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> committed_as:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> vmalloc_total:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> vmalloc_used:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> vmalloc_chunk:('acc__ -> (t, bigint) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : mem_total:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> mem_free:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> buffers:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> cached:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> swap_cached:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> active:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> inactive:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> swap_total:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> swap_free:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> dirty:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> writeback:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> anon_pages:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> mapped:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> slab:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> page_tables:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> nfs_unstable:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> bounce:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> commit_limit:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> committed_as:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> vmalloc_total:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> vmalloc_used:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> vmalloc_chunk:((t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : mem_total:bigint -> mem_free:bigint -> buffers:bigint -> cached:bigint -> swap_cached:bigint -> active:bigint -> inactive:bigint -> swap_total:bigint -> swap_free:bigint -> dirty:bigint -> writeback:bigint -> anon_pages:bigint -> mapped:bigint -> slab:bigint -> page_tables:bigint -> nfs_unstable:bigint -> bounce:bigint -> commit_limit:bigint -> committed_as:bigint -> vmalloc_total:bigint -> vmalloc_used:bigint -> vmalloc_chunk:bigint -> t
#
val map : mem_total:((t, bigint) Fieldslib.Field.t -> bigint) -> mem_free:((t, bigint) Fieldslib.Field.t -> bigint) -> buffers:((t, bigint) Fieldslib.Field.t -> bigint) -> cached:((t, bigint) Fieldslib.Field.t -> bigint) -> swap_cached:((t, bigint) Fieldslib.Field.t -> bigint) -> active:((t, bigint) Fieldslib.Field.t -> bigint) -> inactive:((t, bigint) Fieldslib.Field.t -> bigint) -> swap_total:((t, bigint) Fieldslib.Field.t -> bigint) -> swap_free:((t, bigint) Fieldslib.Field.t -> bigint) -> dirty:((t, bigint) Fieldslib.Field.t -> bigint) -> writeback:((t, bigint) Fieldslib.Field.t -> bigint) -> anon_pages:((t, bigint) Fieldslib.Field.t -> bigint) -> mapped:((t, bigint) Fieldslib.Field.t -> bigint) -> slab:((t, bigint) Fieldslib.Field.t -> bigint) -> page_tables:((t, bigint) Fieldslib.Field.t -> bigint) -> nfs_unstable:((t, bigint) Fieldslib.Field.t -> bigint) -> bounce:((t, bigint) Fieldslib.Field.t -> bigint) -> commit_limit:((t, bigint) Fieldslib.Field.t -> bigint) -> committed_as:((t, bigint) Fieldslib.Field.t -> bigint) -> vmalloc_total:((t, bigint) Fieldslib.Field.t -> bigint) -> vmalloc_used:((t, bigint) Fieldslib.Field.t -> bigint) -> vmalloc_chunk:((t, bigint) Fieldslib.Field.t -> bigint) -> t
#
val iter : mem_total:((t, bigint) Fieldslib.Field.t -> unit) -> mem_free:((t, bigint) Fieldslib.Field.t -> unit) -> buffers:((t, bigint) Fieldslib.Field.t -> unit) -> cached:((t, bigint) Fieldslib.Field.t -> unit) -> swap_cached:((t, bigint) Fieldslib.Field.t -> unit) -> active:((t, bigint) Fieldslib.Field.t -> unit) -> inactive:((t, bigint) Fieldslib.Field.t -> unit) -> swap_total:((t, bigint) Fieldslib.Field.t -> unit) -> swap_free:((t, bigint) Fieldslib.Field.t -> unit) -> dirty:((t, bigint) Fieldslib.Field.t -> unit) -> writeback:((t, bigint) Fieldslib.Field.t -> unit) -> anon_pages:((t, bigint) Fieldslib.Field.t -> unit) -> mapped:((t, bigint) Fieldslib.Field.t -> unit) -> slab:((t, bigint) Fieldslib.Field.t -> unit) -> page_tables:((t, bigint) Fieldslib.Field.t -> unit) -> nfs_unstable:((t, bigint) Fieldslib.Field.t -> unit) -> bounce:((t, bigint) Fieldslib.Field.t -> unit) -> commit_limit:((t, bigint) Fieldslib.Field.t -> unit) -> committed_as:((t, bigint) Fieldslib.Field.t -> unit) -> vmalloc_total:((t, bigint) Fieldslib.Field.t -> unit) -> vmalloc_used:((t, bigint) Fieldslib.Field.t -> unit) -> vmalloc_chunk:((t, bigint) Fieldslib.Field.t -> unit) -> unit
#
val for_all : mem_total:((t, bigint) Fieldslib.Field.t -> bool) -> mem_free:((t, bigint) Fieldslib.Field.t -> bool) -> buffers:((t, bigint) Fieldslib.Field.t -> bool) -> cached:((t, bigint) Fieldslib.Field.t -> bool) -> swap_cached:((t, bigint) Fieldslib.Field.t -> bool) -> active:((t, bigint) Fieldslib.Field.t -> bool) -> inactive:((t, bigint) Fieldslib.Field.t -> bool) -> swap_total:((t, bigint) Fieldslib.Field.t -> bool) -> swap_free:((t, bigint) Fieldslib.Field.t -> bool) -> dirty:((t, bigint) Fieldslib.Field.t -> bool) -> writeback:((t, bigint) Fieldslib.Field.t -> bool) -> anon_pages:((t, bigint) Fieldslib.Field.t -> bool) -> mapped:((t, bigint) Fieldslib.Field.t -> bool) -> slab:((t, bigint) Fieldslib.Field.t -> bool) -> page_tables:((t, bigint) Fieldslib.Field.t -> bool) -> nfs_unstable:((t, bigint) Fieldslib.Field.t -> bool) -> bounce:((t, bigint) Fieldslib.Field.t -> bool) -> commit_limit:((t, bigint) Fieldslib.Field.t -> bool) -> committed_as:((t, bigint) Fieldslib.Field.t -> bool) -> vmalloc_total:((t, bigint) Fieldslib.Field.t -> bool) -> vmalloc_used:((t, bigint) Fieldslib.Field.t -> bool) -> vmalloc_chunk:((t, bigint) Fieldslib.Field.t -> bool) -> bool
#
val exists : mem_total:((t, bigint) Fieldslib.Field.t -> bool) -> mem_free:((t, bigint) Fieldslib.Field.t -> bool) -> buffers:((t, bigint) Fieldslib.Field.t -> bool) -> cached:((t, bigint) Fieldslib.Field.t -> bool) -> swap_cached:((t, bigint) Fieldslib.Field.t -> bool) -> active:((t, bigint) Fieldslib.Field.t -> bool) -> inactive:((t, bigint) Fieldslib.Field.t -> bool) -> swap_total:((t, bigint) Fieldslib.Field.t -> bool) -> swap_free:((t, bigint) Fieldslib.Field.t -> bool) -> dirty:((t, bigint) Fieldslib.Field.t -> bool) -> writeback:((t, bigint) Fieldslib.Field.t -> bool) -> anon_pages:((t, bigint) Fieldslib.Field.t -> bool) -> mapped:((t, bigint) Fieldslib.Field.t -> bool) -> slab:((t, bigint) Fieldslib.Field.t -> bool) -> page_tables:((t, bigint) Fieldslib.Field.t -> bool) -> nfs_unstable:((t, bigint) Fieldslib.Field.t -> bool) -> bounce:((t, bigint) Fieldslib.Field.t -> bool) -> commit_limit:((t, bigint) Fieldslib.Field.t -> bool) -> committed_as:((t, bigint) Fieldslib.Field.t -> bool) -> vmalloc_total:((t, bigint) Fieldslib.Field.t -> bool) -> vmalloc_used:((t, bigint) Fieldslib.Field.t -> bool) -> vmalloc_chunk:((t, bigint) Fieldslib.Field.t -> bool) -> bool
#
val to_list : mem_total:((t, bigint) Fieldslib.Field.t -> 'elem__) -> mem_free:((t, bigint) Fieldslib.Field.t -> 'elem__) -> buffers:((t, bigint) Fieldslib.Field.t -> 'elem__) -> cached:((t, bigint) Fieldslib.Field.t -> 'elem__) -> swap_cached:((t, bigint) Fieldslib.Field.t -> 'elem__) -> active:((t, bigint) Fieldslib.Field.t -> 'elem__) -> inactive:((t, bigint) Fieldslib.Field.t -> 'elem__) -> swap_total:((t, bigint) Fieldslib.Field.t -> 'elem__) -> swap_free:((t, bigint) Fieldslib.Field.t -> 'elem__) -> dirty:((t, bigint) Fieldslib.Field.t -> 'elem__) -> writeback:((t, bigint) Fieldslib.Field.t -> 'elem__) -> anon_pages:((t, bigint) Fieldslib.Field.t -> 'elem__) -> mapped:((t, bigint) Fieldslib.Field.t -> 'elem__) -> slab:((t, bigint) Fieldslib.Field.t -> 'elem__) -> page_tables:((t, bigint) Fieldslib.Field.t -> 'elem__) -> nfs_unstable:((t, bigint) Fieldslib.Field.t -> 'elem__) -> bounce:((t, bigint) Fieldslib.Field.t -> 'elem__) -> commit_limit:((t, bigint) Fieldslib.Field.t -> 'elem__) -> committed_as:((t, bigint) Fieldslib.Field.t -> 'elem__) -> vmalloc_total:((t, bigint) Fieldslib.Field.t -> 'elem__) -> vmalloc_used:((t, bigint) Fieldslib.Field.t -> 'elem__) -> vmalloc_chunk:((t, bigint) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> mem_total:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> mem_free:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> buffers:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> cached:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> swap_cached:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> active:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> inactive:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> swap_total:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> swap_free:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> dirty:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> writeback:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> anon_pages:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> mapped:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> slab:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> page_tables:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> nfs_unstable:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> bounce:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> commit_limit:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> committed_as:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> vmalloc_total:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> vmalloc_used:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> vmalloc_chunk:((t, bigint) Fieldslib.Field.t -> t -> bigint -> unit) -> unit
#
val fold : t -> init:'acc__ -> mem_total:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> mem_free:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> buffers:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> cached:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> swap_cached:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> active:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> inactive:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> swap_total:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> swap_free:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> dirty:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> writeback:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> anon_pages:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> mapped:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> slab:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> page_tables:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> nfs_unstable:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> bounce:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> commit_limit:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> committed_as:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> vmalloc_total:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> vmalloc_used:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> vmalloc_chunk:('acc__ -> (t, bigint) Fieldslib.Field.t -> t -> bigint -> 'acc__) -> 'acc__
end
end
#
val t_of_sexp : Sexplib.Sexp.t -> t
#
val sexp_of_t : t -> Sexplib.Sexp.t
end
#
module Kstat : sig
#
type index_t =
# | All
# | Number of int
#
type cpu_t = {
# user
: bigint;
# nice
: bigint;
# sys
: bigint;
# idle
: bigint;
# iowait
: bigint option;
# irq
: bigint option;
# softirq
: bigint option;
# steal
: bigint option;
# guest
: bigint option;
}
#
val guest : cpu_t -> bigint option
#
val steal : cpu_t -> bigint option
#
val softirq : cpu_t -> bigint option
#
val irq : cpu_t -> bigint option
#
val iowait : cpu_t -> bigint option
#
val idle : cpu_t -> bigint
#
val sys : cpu_t -> bigint
#
val nice : cpu_t -> bigint
#
val user : cpu_t -> bigint
#
module Fields_of_cpu_t : sig
#
val names : string list
#
val guest : (cpu_t, bigint option) Fieldslib.Field.t
#
val steal : (cpu_t, bigint option) Fieldslib.Field.t
#
val softirq : (cpu_t, bigint option) Fieldslib.Field.t
#
val irq : (cpu_t, bigint option) Fieldslib.Field.t
#
val iowait : (cpu_t, bigint option) Fieldslib.Field.t
#
val idle : (cpu_t, bigint) Fieldslib.Field.t
#
val sys : (cpu_t, bigint) Fieldslib.Field.t
#
val nice : (cpu_t, bigint) Fieldslib.Field.t
#
val user : (cpu_t, bigint) Fieldslib.Field.t
#
val fold : init:'acc__ -> user:('acc__ -> (cpu_t, bigint) Fieldslib.Field.t -> 'acc__) -> nice:('acc__ -> (cpu_t, bigint) Fieldslib.Field.t -> 'acc__) -> sys:('acc__ -> (cpu_t, bigint) Fieldslib.Field.t -> 'acc__) -> idle:('acc__ -> (cpu_t, bigint) Fieldslib.Field.t -> 'acc__) -> iowait:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> 'acc__) -> irq:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> 'acc__) -> softirq:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> 'acc__) -> steal:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> 'acc__) -> guest:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : user:((cpu_t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> nice:((cpu_t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> sys:((cpu_t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> idle:((cpu_t, bigint) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint) * 'compile_acc__) -> iowait:((cpu_t, bigint option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint option) * 'compile_acc__) -> irq:((cpu_t, bigint option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint option) * 'compile_acc__) -> softirq:((cpu_t, bigint option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint option) * 'compile_acc__) -> steal:((cpu_t, bigint option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint option) * 'compile_acc__) -> guest:((cpu_t, bigint option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bigint option) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> cpu_t) * 'compile_acc__
#
val create : user:bigint -> nice:bigint -> sys:bigint -> idle:bigint -> iowait:bigint option -> irq:bigint option -> softirq:bigint option -> steal:bigint option -> guest:bigint option -> cpu_t
#
val map : user:((cpu_t, bigint) Fieldslib.Field.t -> bigint) -> nice:((cpu_t, bigint) Fieldslib.Field.t -> bigint) -> sys:((cpu_t, bigint) Fieldslib.Field.t -> bigint) -> idle:((cpu_t, bigint) Fieldslib.Field.t -> bigint) -> iowait:((cpu_t, bigint option) Fieldslib.Field.t -> bigint option) -> irq:((cpu_t, bigint option) Fieldslib.Field.t -> bigint option) -> softirq:((cpu_t, bigint option) Fieldslib.Field.t -> bigint option) -> steal:((cpu_t, bigint option) Fieldslib.Field.t -> bigint option) -> guest:((cpu_t, bigint option) Fieldslib.Field.t -> bigint option) -> cpu_t
#
val iter : user:((cpu_t, bigint) Fieldslib.Field.t -> unit) -> nice:((cpu_t, bigint) Fieldslib.Field.t -> unit) -> sys:((cpu_t, bigint) Fieldslib.Field.t -> unit) -> idle:((cpu_t, bigint) Fieldslib.Field.t -> unit) -> iowait:((cpu_t, bigint option) Fieldslib.Field.t -> unit) -> irq:((cpu_t, bigint option) Fieldslib.Field.t -> unit) -> softirq:((cpu_t, bigint option) Fieldslib.Field.t -> unit) -> steal:((cpu_t, bigint option) Fieldslib.Field.t -> unit) -> guest:((cpu_t, bigint option) Fieldslib.Field.t -> unit) -> unit
#
val for_all : user:((cpu_t, bigint) Fieldslib.Field.t -> bool) -> nice:((cpu_t, bigint) Fieldslib.Field.t -> bool) -> sys:((cpu_t, bigint) Fieldslib.Field.t -> bool) -> idle:((cpu_t, bigint) Fieldslib.Field.t -> bool) -> iowait:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> irq:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> softirq:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> steal:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> guest:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> bool
#
val exists : user:((cpu_t, bigint) Fieldslib.Field.t -> bool) -> nice:((cpu_t, bigint) Fieldslib.Field.t -> bool) -> sys:((cpu_t, bigint) Fieldslib.Field.t -> bool) -> idle:((cpu_t, bigint) Fieldslib.Field.t -> bool) -> iowait:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> irq:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> softirq:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> steal:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> guest:((cpu_t, bigint option) Fieldslib.Field.t -> bool) -> bool
#
val to_list : user:((cpu_t, bigint) Fieldslib.Field.t -> 'elem__) -> nice:((cpu_t, bigint) Fieldslib.Field.t -> 'elem__) -> sys:((cpu_t, bigint) Fieldslib.Field.t -> 'elem__) -> idle:((cpu_t, bigint) Fieldslib.Field.t -> 'elem__) -> iowait:((cpu_t, bigint option) Fieldslib.Field.t -> 'elem__) -> irq:((cpu_t, bigint option) Fieldslib.Field.t -> 'elem__) -> softirq:((cpu_t, bigint option) Fieldslib.Field.t -> 'elem__) -> steal:((cpu_t, bigint option) Fieldslib.Field.t -> 'elem__) -> guest:((cpu_t, bigint option) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], cpu_t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : cpu_t -> user:((cpu_t, bigint) Fieldslib.Field.t -> cpu_t -> bigint -> unit) -> nice:((cpu_t, bigint) Fieldslib.Field.t -> cpu_t -> bigint -> unit) -> sys:((cpu_t, bigint) Fieldslib.Field.t -> cpu_t -> bigint -> unit) -> idle:((cpu_t, bigint) Fieldslib.Field.t -> cpu_t -> bigint -> unit) -> iowait:((cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> unit) -> irq:((cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> unit) -> softirq:((cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> unit) -> steal:((cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> unit) -> guest:((cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> unit) -> unit
#
val fold : cpu_t -> init:'acc__ -> user:('acc__ -> (cpu_t, bigint) Fieldslib.Field.t -> cpu_t -> bigint -> 'acc__) -> nice:('acc__ -> (cpu_t, bigint) Fieldslib.Field.t -> cpu_t -> bigint -> 'acc__) -> sys:('acc__ -> (cpu_t, bigint) Fieldslib.Field.t -> cpu_t -> bigint -> 'acc__) -> idle:('acc__ -> (cpu_t, bigint) Fieldslib.Field.t -> cpu_t -> bigint -> 'acc__) -> iowait:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> 'acc__) -> irq:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> 'acc__) -> softirq:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> 'acc__) -> steal:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> 'acc__) -> guest:('acc__ -> (cpu_t, bigint option) Fieldslib.Field.t -> cpu_t -> bigint option -> 'acc__) -> 'acc__
end
end
#
type t = index_t * cpu_t
#
val load_exn : unit -> t list
#
val index_t_of_sexp : Sexplib.Sexp.t -> index_t
#
val sexp_of_index_t : index_t -> Sexplib.Sexp.t
#
val cpu_t_of_sexp : Sexplib.Sexp.t -> cpu_t
#
val sexp_of_cpu_t : cpu_t -> Sexplib.Sexp.t
end
#
module Loadavg : sig
#
type t = {
# one
: float;
# ten
: float;
# fifteen
: float;
}

t corresponds to the values in /proc/loadavg.

#
val fifteen : t -> float
#
val ten : t -> float
#
val one : t -> float
#
module Fields : sig
#
val names : string list
#
val fifteen : (t, float) Fieldslib.Field.t
#
val ten : (t, float) Fieldslib.Field.t
#
val one : (t, float) Fieldslib.Field.t
#
val fold : init:'acc__ -> one:('acc__ -> (t, float) Fieldslib.Field.t -> 'acc__) -> ten:('acc__ -> (t, float) Fieldslib.Field.t -> 'acc__) -> fifteen:('acc__ -> (t, float) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : one:((t, float) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> float) * 'compile_acc__) -> ten:((t, float) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> float) * 'compile_acc__) -> fifteen:((t, float) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> float) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : one:float -> ten:float -> fifteen:float -> t
#
val map : one:((t, float) Fieldslib.Field.t -> float) -> ten:((t, float) Fieldslib.Field.t -> float) -> fifteen:((t, float) Fieldslib.Field.t -> float) -> t
#
val iter : one:((t, float) Fieldslib.Field.t -> unit) -> ten:((t, float) Fieldslib.Field.t -> unit) -> fifteen:((t, float) Fieldslib.Field.t -> unit) -> unit
#
val for_all : one:((t, float) Fieldslib.Field.t -> bool) -> ten:((t, float) Fieldslib.Field.t -> bool) -> fifteen:((t, float) Fieldslib.Field.t -> bool) -> bool
#
val exists : one:((t, float) Fieldslib.Field.t -> bool) -> ten:((t, float) Fieldslib.Field.t -> bool) -> fifteen:((t, float) Fieldslib.Field.t -> bool) -> bool
#
val to_list : one:((t, float) Fieldslib.Field.t -> 'elem__) -> ten:((t, float) Fieldslib.Field.t -> 'elem__) -> fifteen:((t, float) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> one:((t, float) Fieldslib.Field.t -> t -> float -> unit) -> ten:((t, float) Fieldslib.Field.t -> t -> float -> unit) -> fifteen:((t, float) Fieldslib.Field.t -> t -> float -> unit) -> unit
#
val fold : t -> init:'acc__ -> one:('acc__ -> (t, float) Fieldslib.Field.t -> t -> float -> 'acc__) -> ten:('acc__ -> (t, float) Fieldslib.Field.t -> t -> float -> 'acc__) -> fifteen:('acc__ -> (t, float) Fieldslib.Field.t -> t -> float -> 'acc__) -> 'acc__
end
end
end
#
val get_all_procs : unit -> Process.t list

get_all_procs returns a list of all processes on the system

#
val with_pid_exn : Core.Std.Pid.t -> Process.t

with_pid_exn pid returns a single process that matches pid, or raises Not_found

#
val with_pid : Core.Std.Pid.t -> Process.t option

with_pid pid returns a single process that matches pid

#
val with_uid : int -> Process.t list

with_uid uid returns all processes owned by uid

#
val pgrep : (Process.t -> bool) -> Process.t list

pgrep f returns all processes for which f is true

#
val pkill : signal:Core.Std.Signal.t -> (Process.t -> bool) -> (Core.Std.Pid.t * (unit, Core.Std.Unix.Error.t) Core.Std.Result.t) list

pkill ~signal f sends the signal to all processes for which f returns true. It returns the list of processes that were signaled, and the resulting errors if any.

#
val with_username_exn : string -> Process.t list

with_username_exn user calls with_uid after looking up the user's uid

#
val with_username : string -> Process.t list option

with_username user calls with_uid after looking up the user's uid

#
val jiffies_per_second_exn : unit -> float

jiffies_per_second_exn. A jiffy "is one tick of the system timer interrupt. It is not an absolute time interval unit, since its duration depends on the clock interrupt frequency of the particular hardware platform."

Further reading: https://secure.wikimedia.org/wikipedia/en/wiki/Jiffy_(time)

#
val jiffies_per_second : unit -> float option
#
val meminfo_exn : unit -> Meminfo.t

meminfo_exn queries /proc/meminfo and fills out Meminfo.t. All values in bytes.

#
val meminfo : unit -> Meminfo.t option
#
val loadavg_exn : unit -> Loadavg.t

loadavg_exn parses /proc/loadavg.

#
val loadavg : unit -> Loadavg.t option
#
module Net : sig
#
module Dev : sig
#
type t = {
# iface
: string;
# rx_bytes
: int;
# rx_packets
: int;
# rx_errs
: int;
# rx_drop
: int;
# rx_fifo
: int;
# rx_frame
: int;
# rx_compressed
: bool;
# rx_multicast
: bool;
# tx_bytes
: int;
# tx_packets
: int;
# tx_errs
: int;
# tx_drop
: int;
# tx_fifo
: int;
# tx_colls
: int;
# tx_carrier
: int;
# tx_compressed
: bool;
}
#
val tx_compressed : t -> bool
#
val tx_carrier : t -> int
#
val tx_colls : t -> int
#
val tx_fifo : t -> int
#
val tx_drop : t -> int
#
val tx_errs : t -> int
#
val tx_packets : t -> int
#
val tx_bytes : t -> int
#
val rx_multicast : t -> bool
#
val rx_compressed : t -> bool
#
val rx_frame : t -> int
#
val rx_fifo : t -> int
#
val rx_drop : t -> int
#
val rx_errs : t -> int
#
val rx_packets : t -> int
#
val rx_bytes : t -> int
#
val iface : t -> string
#
module Fields : sig
#
val names : string list
#
val tx_compressed : (t, bool) Fieldslib.Field.t
#
val tx_carrier : (t, int) Fieldslib.Field.t
#
val tx_colls : (t, int) Fieldslib.Field.t
#
val tx_fifo : (t, int) Fieldslib.Field.t
#
val tx_drop : (t, int) Fieldslib.Field.t
#
val tx_errs : (t, int) Fieldslib.Field.t
#
val tx_packets : (t, int) Fieldslib.Field.t
#
val tx_bytes : (t, int) Fieldslib.Field.t
#
val rx_multicast : (t, bool) Fieldslib.Field.t
#
val rx_compressed : (t, bool) Fieldslib.Field.t
#
val rx_frame : (t, int) Fieldslib.Field.t
#
val rx_fifo : (t, int) Fieldslib.Field.t
#
val rx_drop : (t, int) Fieldslib.Field.t
#
val rx_errs : (t, int) Fieldslib.Field.t
#
val rx_packets : (t, int) Fieldslib.Field.t
#
val rx_bytes : (t, int) Fieldslib.Field.t
#
val iface : (t, string) Fieldslib.Field.t
#
val fold : init:'acc__ -> iface:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> rx_bytes:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> rx_packets:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> rx_errs:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> rx_drop:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> rx_fifo:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> rx_frame:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> rx_compressed:('acc__ -> (t, bool) Fieldslib.Field.t -> 'acc__) -> rx_multicast:('acc__ -> (t, bool) Fieldslib.Field.t -> 'acc__) -> tx_bytes:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tx_packets:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tx_errs:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tx_drop:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tx_fifo:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tx_colls:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tx_carrier:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tx_compressed:('acc__ -> (t, bool) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : iface:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> rx_bytes:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> rx_packets:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> rx_errs:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> rx_drop:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> rx_fifo:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> rx_frame:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> rx_compressed:((t, bool) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bool) * 'compile_acc__) -> rx_multicast:((t, bool) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bool) * 'compile_acc__) -> tx_bytes:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tx_packets:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tx_errs:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tx_drop:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tx_fifo:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tx_colls:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tx_carrier:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tx_compressed:((t, bool) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> bool) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : iface:string -> rx_bytes:int -> rx_packets:int -> rx_errs:int -> rx_drop:int -> rx_fifo:int -> rx_frame:int -> rx_compressed:bool -> rx_multicast:bool -> tx_bytes:int -> tx_packets:int -> tx_errs:int -> tx_drop:int -> tx_fifo:int -> tx_colls:int -> tx_carrier:int -> tx_compressed:bool -> t
#
val map : iface:((t, string) Fieldslib.Field.t -> string) -> rx_bytes:((t, int) Fieldslib.Field.t -> int) -> rx_packets:((t, int) Fieldslib.Field.t -> int) -> rx_errs:((t, int) Fieldslib.Field.t -> int) -> rx_drop:((t, int) Fieldslib.Field.t -> int) -> rx_fifo:((t, int) Fieldslib.Field.t -> int) -> rx_frame:((t, int) Fieldslib.Field.t -> int) -> rx_compressed:((t, bool) Fieldslib.Field.t -> bool) -> rx_multicast:((t, bool) Fieldslib.Field.t -> bool) -> tx_bytes:((t, int) Fieldslib.Field.t -> int) -> tx_packets:((t, int) Fieldslib.Field.t -> int) -> tx_errs:((t, int) Fieldslib.Field.t -> int) -> tx_drop:((t, int) Fieldslib.Field.t -> int) -> tx_fifo:((t, int) Fieldslib.Field.t -> int) -> tx_colls:((t, int) Fieldslib.Field.t -> int) -> tx_carrier:((t, int) Fieldslib.Field.t -> int) -> tx_compressed:((t, bool) Fieldslib.Field.t -> bool) -> t
#
val iter : iface:((t, string) Fieldslib.Field.t -> unit) -> rx_bytes:((t, int) Fieldslib.Field.t -> unit) -> rx_packets:((t, int) Fieldslib.Field.t -> unit) -> rx_errs:((t, int) Fieldslib.Field.t -> unit) -> rx_drop:((t, int) Fieldslib.Field.t -> unit) -> rx_fifo:((t, int) Fieldslib.Field.t -> unit) -> rx_frame:((t, int) Fieldslib.Field.t -> unit) -> rx_compressed:((t, bool) Fieldslib.Field.t -> unit) -> rx_multicast:((t, bool) Fieldslib.Field.t -> unit) -> tx_bytes:((t, int) Fieldslib.Field.t -> unit) -> tx_packets:((t, int) Fieldslib.Field.t -> unit) -> tx_errs:((t, int) Fieldslib.Field.t -> unit) -> tx_drop:((t, int) Fieldslib.Field.t -> unit) -> tx_fifo:((t, int) Fieldslib.Field.t -> unit) -> tx_colls:((t, int) Fieldslib.Field.t -> unit) -> tx_carrier:((t, int) Fieldslib.Field.t -> unit) -> tx_compressed:((t, bool) Fieldslib.Field.t -> unit) -> unit
#
val for_all : iface:((t, string) Fieldslib.Field.t -> bool) -> rx_bytes:((t, int) Fieldslib.Field.t -> bool) -> rx_packets:((t, int) Fieldslib.Field.t -> bool) -> rx_errs:((t, int) Fieldslib.Field.t -> bool) -> rx_drop:((t, int) Fieldslib.Field.t -> bool) -> rx_fifo:((t, int) Fieldslib.Field.t -> bool) -> rx_frame:((t, int) Fieldslib.Field.t -> bool) -> rx_compressed:((t, bool) Fieldslib.Field.t -> bool) -> rx_multicast:((t, bool) Fieldslib.Field.t -> bool) -> tx_bytes:((t, int) Fieldslib.Field.t -> bool) -> tx_packets:((t, int) Fieldslib.Field.t -> bool) -> tx_errs:((t, int) Fieldslib.Field.t -> bool) -> tx_drop:((t, int) Fieldslib.Field.t -> bool) -> tx_fifo:((t, int) Fieldslib.Field.t -> bool) -> tx_colls:((t, int) Fieldslib.Field.t -> bool) -> tx_carrier:((t, int) Fieldslib.Field.t -> bool) -> tx_compressed:((t, bool) Fieldslib.Field.t -> bool) -> bool
#
val exists : iface:((t, string) Fieldslib.Field.t -> bool) -> rx_bytes:((t, int) Fieldslib.Field.t -> bool) -> rx_packets:((t, int) Fieldslib.Field.t -> bool) -> rx_errs:((t, int) Fieldslib.Field.t -> bool) -> rx_drop:((t, int) Fieldslib.Field.t -> bool) -> rx_fifo:((t, int) Fieldslib.Field.t -> bool) -> rx_frame:((t, int) Fieldslib.Field.t -> bool) -> rx_compressed:((t, bool) Fieldslib.Field.t -> bool) -> rx_multicast:((t, bool) Fieldslib.Field.t -> bool) -> tx_bytes:((t, int) Fieldslib.Field.t -> bool) -> tx_packets:((t, int) Fieldslib.Field.t -> bool) -> tx_errs:((t, int) Fieldslib.Field.t -> bool) -> tx_drop:((t, int) Fieldslib.Field.t -> bool) -> tx_fifo:((t, int) Fieldslib.Field.t -> bool) -> tx_colls:((t, int) Fieldslib.Field.t -> bool) -> tx_carrier:((t, int) Fieldslib.Field.t -> bool) -> tx_compressed:((t, bool) Fieldslib.Field.t -> bool) -> bool
#
val to_list : iface:((t, string) Fieldslib.Field.t -> 'elem__) -> rx_bytes:((t, int) Fieldslib.Field.t -> 'elem__) -> rx_packets:((t, int) Fieldslib.Field.t -> 'elem__) -> rx_errs:((t, int) Fieldslib.Field.t -> 'elem__) -> rx_drop:((t, int) Fieldslib.Field.t -> 'elem__) -> rx_fifo:((t, int) Fieldslib.Field.t -> 'elem__) -> rx_frame:((t, int) Fieldslib.Field.t -> 'elem__) -> rx_compressed:((t, bool) Fieldslib.Field.t -> 'elem__) -> rx_multicast:((t, bool) Fieldslib.Field.t -> 'elem__) -> tx_bytes:((t, int) Fieldslib.Field.t -> 'elem__) -> tx_packets:((t, int) Fieldslib.Field.t -> 'elem__) -> tx_errs:((t, int) Fieldslib.Field.t -> 'elem__) -> tx_drop:((t, int) Fieldslib.Field.t -> 'elem__) -> tx_fifo:((t, int) Fieldslib.Field.t -> 'elem__) -> tx_colls:((t, int) Fieldslib.Field.t -> 'elem__) -> tx_carrier:((t, int) Fieldslib.Field.t -> 'elem__) -> tx_compressed:((t, bool) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> iface:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> rx_bytes:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> rx_packets:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> rx_errs:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> rx_drop:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> rx_fifo:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> rx_frame:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> rx_compressed:((t, bool) Fieldslib.Field.t -> t -> bool -> unit) -> rx_multicast:((t, bool) Fieldslib.Field.t -> t -> bool -> unit) -> tx_bytes:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tx_packets:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tx_errs:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tx_drop:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tx_fifo:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tx_colls:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tx_carrier:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tx_compressed:((t, bool) Fieldslib.Field.t -> t -> bool -> unit) -> unit
#
val fold : t -> init:'acc__ -> iface:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> rx_bytes:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> rx_packets:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> rx_errs:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> rx_drop:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> rx_fifo:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> rx_frame:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> rx_compressed:('acc__ -> (t, bool) Fieldslib.Field.t -> t -> bool -> 'acc__) -> rx_multicast:('acc__ -> (t, bool) Fieldslib.Field.t -> t -> bool -> 'acc__) -> tx_bytes:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tx_packets:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tx_errs:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tx_drop:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tx_fifo:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tx_colls:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tx_carrier:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tx_compressed:('acc__ -> (t, bool) Fieldslib.Field.t -> t -> bool -> 'acc__) -> 'acc__
end
end
#
val interfaces : unit -> string list
#
val of_string : string -> t option
end
#
module Route : sig
#
type t = {
# iface
: string;
# destination
: Core.Std.Unix.Inet_addr.t;
# gateway
: Core.Std.Unix.Inet_addr.t;
# flags
: int;
# refcnt
: int;
# use
: int;
# metric
: int;
# mask
: Core.Std.Unix.Inet_addr.t;
# mtu
: int;
# window
: int;
# irtt
: int;
}
#
val irtt : t -> int
#
val window : t -> int
#
val mtu : t -> int
#
val mask : t -> Core.Std.Unix.Inet_addr.t
#
val metric : t -> int
#
val use : t -> int
#
val refcnt : t -> int
#
val flags : t -> int
#
val gateway : t -> Core.Std.Unix.Inet_addr.t
#
val destination : t -> Core.Std.Unix.Inet_addr.t
#
val iface : t -> string
#
module Fields : sig
#
val names : string list
#
val irtt : (t, int) Fieldslib.Field.t
#
val window : (t, int) Fieldslib.Field.t
#
val mtu : (t, int) Fieldslib.Field.t
#
val mask : (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t
#
val metric : (t, int) Fieldslib.Field.t
#
val use : (t, int) Fieldslib.Field.t
#
val refcnt : (t, int) Fieldslib.Field.t
#
val flags : (t, int) Fieldslib.Field.t
#
val gateway : (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t
#
val destination : (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t
#
val iface : (t, string) Fieldslib.Field.t
#
val fold : init:'acc__ -> iface:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> destination:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'acc__) -> gateway:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'acc__) -> flags:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> refcnt:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> use:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> metric:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> mask:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'acc__) -> mtu:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> window:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> irtt:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : iface:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> destination:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Core.Std.Unix.Inet_addr.t) * 'compile_acc__) -> gateway:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Core.Std.Unix.Inet_addr.t) * 'compile_acc__) -> flags:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> refcnt:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> use:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> metric:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> mask:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Core.Std.Unix.Inet_addr.t) * 'compile_acc__) -> mtu:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> window:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> irtt:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : iface:string -> destination:Core.Std.Unix.Inet_addr.t -> gateway:Core.Std.Unix.Inet_addr.t -> flags:int -> refcnt:int -> use:int -> metric:int -> mask:Core.Std.Unix.Inet_addr.t -> mtu:int -> window:int -> irtt:int -> t
#
val map : iface:((t, string) Fieldslib.Field.t -> string) -> destination:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) -> gateway:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) -> flags:((t, int) Fieldslib.Field.t -> int) -> refcnt:((t, int) Fieldslib.Field.t -> int) -> use:((t, int) Fieldslib.Field.t -> int) -> metric:((t, int) Fieldslib.Field.t -> int) -> mask:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) -> mtu:((t, int) Fieldslib.Field.t -> int) -> window:((t, int) Fieldslib.Field.t -> int) -> irtt:((t, int) Fieldslib.Field.t -> int) -> t
#
val iter : iface:((t, string) Fieldslib.Field.t -> unit) -> destination:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> unit) -> gateway:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> unit) -> flags:((t, int) Fieldslib.Field.t -> unit) -> refcnt:((t, int) Fieldslib.Field.t -> unit) -> use:((t, int) Fieldslib.Field.t -> unit) -> metric:((t, int) Fieldslib.Field.t -> unit) -> mask:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> unit) -> mtu:((t, int) Fieldslib.Field.t -> unit) -> window:((t, int) Fieldslib.Field.t -> unit) -> irtt:((t, int) Fieldslib.Field.t -> unit) -> unit
#
val for_all : iface:((t, string) Fieldslib.Field.t -> bool) -> destination:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> gateway:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> flags:((t, int) Fieldslib.Field.t -> bool) -> refcnt:((t, int) Fieldslib.Field.t -> bool) -> use:((t, int) Fieldslib.Field.t -> bool) -> metric:((t, int) Fieldslib.Field.t -> bool) -> mask:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> mtu:((t, int) Fieldslib.Field.t -> bool) -> window:((t, int) Fieldslib.Field.t -> bool) -> irtt:((t, int) Fieldslib.Field.t -> bool) -> bool
#
val exists : iface:((t, string) Fieldslib.Field.t -> bool) -> destination:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> gateway:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> flags:((t, int) Fieldslib.Field.t -> bool) -> refcnt:((t, int) Fieldslib.Field.t -> bool) -> use:((t, int) Fieldslib.Field.t -> bool) -> metric:((t, int) Fieldslib.Field.t -> bool) -> mask:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> mtu:((t, int) Fieldslib.Field.t -> bool) -> window:((t, int) Fieldslib.Field.t -> bool) -> irtt:((t, int) Fieldslib.Field.t -> bool) -> bool
#
val to_list : iface:((t, string) Fieldslib.Field.t -> 'elem__) -> destination:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'elem__) -> gateway:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'elem__) -> flags:((t, int) Fieldslib.Field.t -> 'elem__) -> refcnt:((t, int) Fieldslib.Field.t -> 'elem__) -> use:((t, int) Fieldslib.Field.t -> 'elem__) -> metric:((t, int) Fieldslib.Field.t -> 'elem__) -> mask:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'elem__) -> mtu:((t, int) Fieldslib.Field.t -> 'elem__) -> window:((t, int) Fieldslib.Field.t -> 'elem__) -> irtt:((t, int) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> iface:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> destination:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> unit) -> gateway:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> unit) -> flags:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> refcnt:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> use:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> metric:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> mask:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> unit) -> mtu:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> window:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> irtt:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> unit
#
val fold : t -> init:'acc__ -> iface:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> destination:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> 'acc__) -> gateway:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> 'acc__) -> flags:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> refcnt:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> use:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> metric:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> mask:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> 'acc__) -> mtu:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> window:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> irtt:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> 'acc__
end
end
#
val default : unit -> Core.Std.Unix.Inet_addr.t
end
#
module Tcp_state : sig
#
type t =
# | TCP_ESTABLISHED
# | TCP_SYN_SENT
# | TCP_SYN_RECV
# | TCP_FIN_WAIT1
# | TCP_FIN_WAIT2
# | TCP_TIME_WAIT
# | TCP_CLOSE
# | TCP_CLOSE_WAIT
# | TCP_LAST_ACK
# | TCP_LISTEN
# | TCP_CLOSING
# | TCP_MAX_STATES
#
val to_int : t -> int
#
val of_int : int -> t
end
#
module Tcp : sig

/proc/net/tcp, or what netstat or lsof -i parses.

#
type t = {
# sl
: int;
# local_address
: Core.Std.Unix.Inet_addr.t;
# local_port
: Extended_unix.Inet_port.t;
# remote_address
: Core.Std.Unix.Inet_addr.t;
# remote_port
: Extended_unix.Inet_port.t option;
# state
: Tcp_state.t;
# tx_queue
: int;
# rx_queue
: int;
# tr
: int;
# tm_when
: int;
# retrnsmt
: int;
# uid
: int;
# timeout
: int;
# inode
: Process.Inode.t;
# rest
: string;
}
#
val rest : t -> string
#
val inode : t -> Process.Inode.t
#
val timeout : t -> int
#
val uid : t -> int
#
val retrnsmt : t -> int
#
val tm_when : t -> int
#
val tr : t -> int
#
val rx_queue : t -> int
#
val tx_queue : t -> int
#
val state : t -> Tcp_state.t
#
val remote_port : t -> Extended_unix.Inet_port.t option
#
val remote_address : t -> Core.Std.Unix.Inet_addr.t
#
val local_port : t -> Extended_unix.Inet_port.t
#
val local_address : t -> Core.Std.Unix.Inet_addr.t
#
val sl : t -> int
#
module Fields : sig
#
val names : string list
#
val rest : (t, string) Fieldslib.Field.t
#
val inode : (t, Process.Inode.t) Fieldslib.Field.t
#
val timeout : (t, int) Fieldslib.Field.t
#
val uid : (t, int) Fieldslib.Field.t
#
val retrnsmt : (t, int) Fieldslib.Field.t
#
val tm_when : (t, int) Fieldslib.Field.t
#
val tr : (t, int) Fieldslib.Field.t
#
val rx_queue : (t, int) Fieldslib.Field.t
#
val tx_queue : (t, int) Fieldslib.Field.t
#
val state : (t, Tcp_state.t) Fieldslib.Field.t
#
val remote_port : (t, Extended_unix.Inet_port.t option) Fieldslib.Field.t
#
val remote_address : (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t
#
val local_port : (t, Extended_unix.Inet_port.t) Fieldslib.Field.t
#
val local_address : (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t
#
val sl : (t, int) Fieldslib.Field.t
#
val fold : init:'acc__ -> sl:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> local_address:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'acc__) -> local_port:('acc__ -> (t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> 'acc__) -> remote_address:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'acc__) -> remote_port:('acc__ -> (t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> 'acc__) -> state:('acc__ -> (t, Tcp_state.t) Fieldslib.Field.t -> 'acc__) -> tx_queue:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> rx_queue:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tr:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> tm_when:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> retrnsmt:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> uid:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> timeout:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> inode:('acc__ -> (t, Process.Inode.t) Fieldslib.Field.t -> 'acc__) -> rest:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : sl:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> local_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Core.Std.Unix.Inet_addr.t) * 'compile_acc__) -> local_port:((t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Extended_unix.Inet_port.t) * 'compile_acc__) -> remote_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Core.Std.Unix.Inet_addr.t) * 'compile_acc__) -> remote_port:((t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Extended_unix.Inet_port.t option) * 'compile_acc__) -> state:((t, Tcp_state.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Tcp_state.t) * 'compile_acc__) -> tx_queue:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> rx_queue:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tr:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> tm_when:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> retrnsmt:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> uid:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> timeout:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> inode:((t, Process.Inode.t) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> Process.Inode.t) * 'compile_acc__) -> rest:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : sl:int -> local_address:Core.Std.Unix.Inet_addr.t -> local_port:Extended_unix.Inet_port.t -> remote_address:Core.Std.Unix.Inet_addr.t -> remote_port:Extended_unix.Inet_port.t option -> state:Tcp_state.t -> tx_queue:int -> rx_queue:int -> tr:int -> tm_when:int -> retrnsmt:int -> uid:int -> timeout:int -> inode:Process.Inode.t -> rest:string -> t
#
val map : sl:((t, int) Fieldslib.Field.t -> int) -> local_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) -> local_port:((t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> Extended_unix.Inet_port.t) -> remote_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) -> remote_port:((t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> Extended_unix.Inet_port.t option) -> state:((t, Tcp_state.t) Fieldslib.Field.t -> Tcp_state.t) -> tx_queue:((t, int) Fieldslib.Field.t -> int) -> rx_queue:((t, int) Fieldslib.Field.t -> int) -> tr:((t, int) Fieldslib.Field.t -> int) -> tm_when:((t, int) Fieldslib.Field.t -> int) -> retrnsmt:((t, int) Fieldslib.Field.t -> int) -> uid:((t, int) Fieldslib.Field.t -> int) -> timeout:((t, int) Fieldslib.Field.t -> int) -> inode:((t, Process.Inode.t) Fieldslib.Field.t -> Process.Inode.t) -> rest:((t, string) Fieldslib.Field.t -> string) -> t
#
val iter : sl:((t, int) Fieldslib.Field.t -> unit) -> local_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> unit) -> local_port:((t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> unit) -> remote_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> unit) -> remote_port:((t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> unit) -> state:((t, Tcp_state.t) Fieldslib.Field.t -> unit) -> tx_queue:((t, int) Fieldslib.Field.t -> unit) -> rx_queue:((t, int) Fieldslib.Field.t -> unit) -> tr:((t, int) Fieldslib.Field.t -> unit) -> tm_when:((t, int) Fieldslib.Field.t -> unit) -> retrnsmt:((t, int) Fieldslib.Field.t -> unit) -> uid:((t, int) Fieldslib.Field.t -> unit) -> timeout:((t, int) Fieldslib.Field.t -> unit) -> inode:((t, Process.Inode.t) Fieldslib.Field.t -> unit) -> rest:((t, string) Fieldslib.Field.t -> unit) -> unit
#
val for_all : sl:((t, int) Fieldslib.Field.t -> bool) -> local_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> local_port:((t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> bool) -> remote_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> remote_port:((t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> bool) -> state:((t, Tcp_state.t) Fieldslib.Field.t -> bool) -> tx_queue:((t, int) Fieldslib.Field.t -> bool) -> rx_queue:((t, int) Fieldslib.Field.t -> bool) -> tr:((t, int) Fieldslib.Field.t -> bool) -> tm_when:((t, int) Fieldslib.Field.t -> bool) -> retrnsmt:((t, int) Fieldslib.Field.t -> bool) -> uid:((t, int) Fieldslib.Field.t -> bool) -> timeout:((t, int) Fieldslib.Field.t -> bool) -> inode:((t, Process.Inode.t) Fieldslib.Field.t -> bool) -> rest:((t, string) Fieldslib.Field.t -> bool) -> bool
#
val exists : sl:((t, int) Fieldslib.Field.t -> bool) -> local_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> local_port:((t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> bool) -> remote_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> bool) -> remote_port:((t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> bool) -> state:((t, Tcp_state.t) Fieldslib.Field.t -> bool) -> tx_queue:((t, int) Fieldslib.Field.t -> bool) -> rx_queue:((t, int) Fieldslib.Field.t -> bool) -> tr:((t, int) Fieldslib.Field.t -> bool) -> tm_when:((t, int) Fieldslib.Field.t -> bool) -> retrnsmt:((t, int) Fieldslib.Field.t -> bool) -> uid:((t, int) Fieldslib.Field.t -> bool) -> timeout:((t, int) Fieldslib.Field.t -> bool) -> inode:((t, Process.Inode.t) Fieldslib.Field.t -> bool) -> rest:((t, string) Fieldslib.Field.t -> bool) -> bool
#
val to_list : sl:((t, int) Fieldslib.Field.t -> 'elem__) -> local_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'elem__) -> local_port:((t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> 'elem__) -> remote_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> 'elem__) -> remote_port:((t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> 'elem__) -> state:((t, Tcp_state.t) Fieldslib.Field.t -> 'elem__) -> tx_queue:((t, int) Fieldslib.Field.t -> 'elem__) -> rx_queue:((t, int) Fieldslib.Field.t -> 'elem__) -> tr:((t, int) Fieldslib.Field.t -> 'elem__) -> tm_when:((t, int) Fieldslib.Field.t -> 'elem__) -> retrnsmt:((t, int) Fieldslib.Field.t -> 'elem__) -> uid:((t, int) Fieldslib.Field.t -> 'elem__) -> timeout:((t, int) Fieldslib.Field.t -> 'elem__) -> inode:((t, Process.Inode.t) Fieldslib.Field.t -> 'elem__) -> rest:((t, string) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> sl:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> local_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> unit) -> local_port:((t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> t -> Extended_unix.Inet_port.t -> unit) -> remote_address:((t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> unit) -> remote_port:((t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> t -> Extended_unix.Inet_port.t option -> unit) -> state:((t, Tcp_state.t) Fieldslib.Field.t -> t -> Tcp_state.t -> unit) -> tx_queue:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> rx_queue:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tr:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> tm_when:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> retrnsmt:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> uid:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> timeout:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> inode:((t, Process.Inode.t) Fieldslib.Field.t -> t -> Process.Inode.t -> unit) -> rest:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> unit
#
val fold : t -> init:'acc__ -> sl:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> local_address:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> 'acc__) -> local_port:('acc__ -> (t, Extended_unix.Inet_port.t) Fieldslib.Field.t -> t -> Extended_unix.Inet_port.t -> 'acc__) -> remote_address:('acc__ -> (t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t -> t -> Core.Std.Unix.Inet_addr.t -> 'acc__) -> remote_port:('acc__ -> (t, Extended_unix.Inet_port.t option) Fieldslib.Field.t -> t -> Extended_unix.Inet_port.t option -> 'acc__) -> state:('acc__ -> (t, Tcp_state.t) Fieldslib.Field.t -> t -> Tcp_state.t -> 'acc__) -> tx_queue:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> rx_queue:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tr:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> tm_when:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> retrnsmt:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> uid:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> timeout:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> inode:('acc__ -> (t, Process.Inode.t) Fieldslib.Field.t -> t -> Process.Inode.t -> 'acc__) -> rest:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> 'acc__
end
end
#
val of_line : string -> t option

These don't do any IO and should be async-ok

#
val of_line_exn : string -> t
#
val load_exn : unit -> t list

This does IO and is not async-ok.

end
end
#
module Mount : sig
#
type t = {
# spec
: string;
# file
: string;
# vfstype
: string;
# mntops
: string list;
# freq
: int;
# passno
: int;
}
#
val passno : t -> int
#
val freq : t -> int
#
val mntops : t -> string list
#
val vfstype : t -> string
#
val file : t -> string
#
val spec : t -> string
#
module Fields : sig
#
val names : string list
#
val passno : (t, int) Fieldslib.Field.t
#
val freq : (t, int) Fieldslib.Field.t
#
val mntops : (t, string list) Fieldslib.Field.t
#
val vfstype : (t, string) Fieldslib.Field.t
#
val file : (t, string) Fieldslib.Field.t
#
val spec : (t, string) Fieldslib.Field.t
#
val fold : init:'acc__ -> spec:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> file:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> vfstype:('acc__ -> (t, string) Fieldslib.Field.t -> 'acc__) -> mntops:('acc__ -> (t, string list) Fieldslib.Field.t -> 'acc__) -> freq:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> passno:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) -> 'acc__
#
val make_creator : spec:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> file:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> vfstype:((t, string) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string) * 'compile_acc__) -> mntops:((t, string list) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> string list) * 'compile_acc__) -> freq:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> passno:((t, int) Fieldslib.Field.t -> 'compile_acc__ -> ('input__ -> int) * 'compile_acc__) -> 'compile_acc__ -> ('input__ -> t) * 'compile_acc__
#
val create : spec:string -> file:string -> vfstype:string -> mntops:string list -> freq:int -> passno:int -> t
#
val map : spec:((t, string) Fieldslib.Field.t -> string) -> file:((t, string) Fieldslib.Field.t -> string) -> vfstype:((t, string) Fieldslib.Field.t -> string) -> mntops:((t, string list) Fieldslib.Field.t -> string list) -> freq:((t, int) Fieldslib.Field.t -> int) -> passno:((t, int) Fieldslib.Field.t -> int) -> t
#
val iter : spec:((t, string) Fieldslib.Field.t -> unit) -> file:((t, string) Fieldslib.Field.t -> unit) -> vfstype:((t, string) Fieldslib.Field.t -> unit) -> mntops:((t, string list) Fieldslib.Field.t -> unit) -> freq:((t, int) Fieldslib.Field.t -> unit) -> passno:((t, int) Fieldslib.Field.t -> unit) -> unit
#
val for_all : spec:((t, string) Fieldslib.Field.t -> bool) -> file:((t, string) Fieldslib.Field.t -> bool) -> vfstype:((t, string) Fieldslib.Field.t -> bool) -> mntops:((t, string list) Fieldslib.Field.t -> bool) -> freq:((t, int) Fieldslib.Field.t -> bool) -> passno:((t, int) Fieldslib.Field.t -> bool) -> bool
#
val exists : spec:((t, string) Fieldslib.Field.t -> bool) -> file:((t, string) Fieldslib.Field.t -> bool) -> vfstype:((t, string) Fieldslib.Field.t -> bool) -> mntops:((t, string list) Fieldslib.Field.t -> bool) -> freq:((t, int) Fieldslib.Field.t -> bool) -> passno:((t, int) Fieldslib.Field.t -> bool) -> bool
#
val to_list : spec:((t, string) Fieldslib.Field.t -> 'elem__) -> file:((t, string) Fieldslib.Field.t -> 'elem__) -> vfstype:((t, string) Fieldslib.Field.t -> 'elem__) -> mntops:((t, string list) Fieldslib.Field.t -> 'elem__) -> freq:((t, int) Fieldslib.Field.t -> 'elem__) -> passno:((t, int) Fieldslib.Field.t -> 'elem__) -> 'elem__ list
#
val map_poly : ([<
| `Read
| `Set_and_create
], t, 'x0) Fieldslib.Field.user -> 'x0 list
#
module Direct : sig
#
val iter : t -> spec:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> file:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> vfstype:((t, string) Fieldslib.Field.t -> t -> string -> unit) -> mntops:((t, string list) Fieldslib.Field.t -> t -> string list -> unit) -> freq:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> passno:((t, int) Fieldslib.Field.t -> t -> int -> unit) -> unit
#
val fold : t -> init:'acc__ -> spec:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> file:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> vfstype:('acc__ -> (t, string) Fieldslib.Field.t -> t -> string -> 'acc__) -> mntops:('acc__ -> (t, string list) Fieldslib.Field.t -> t -> string list -> 'acc__) -> freq:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> passno:('acc__ -> (t, int) Fieldslib.Field.t -> t -> int -> 'acc__) -> 'acc__
end
end
end
#
val mounts : unit -> Mount.t list
#
val mounts_of_fstab : unit -> Mount.t list
#
val supported_filesystems : unit -> string list
#
val uptime : unit -> Core.Std.Time.Span.t
#
val process_age : Process.t -> Core.Std.Time.Span.t option
#
val process_age' : jiffies_per_second:float -> Process.t -> Core.Std.Time.Span.t
#
val bigint_of_sexp : Sexplib.Sexp.t -> bigint
#
val sexp_of_bigint : bigint -> Sexplib.Sexp.t
end