sig
type label = ..
val add_label_string : Line.label -> string -> unit
val string_of_label : Line.label -> string
module Fields :
sig
type 'a key
module Key :
sig
type 'a info = label
val create : 'a info -> 'a key
val info : 'a key -> 'a info
type t
val hide_type : 'a key -> t
val equal : t -> t -> bool
val compare : t -> t -> int
end
type t
val empty : t
val is_empty : t -> bool
val mem : 'a key -> t -> bool
val add : 'a key -> 'a -> t -> t
val singleton : 'a key -> 'a -> t
val rem : 'a key -> t -> t
val find : 'a key -> t -> 'a option
val get : 'a key -> t -> 'a
type binding = B : 'a key * 'a -> binding
val iter : (binding -> unit) -> t -> unit
val fold : (binding -> 'a -> 'a) -> t -> 'a -> 'a
val for_all : (binding -> bool) -> t -> bool
val exists : (binding -> bool) -> t -> bool
val filter : (binding -> bool) -> t -> t
val cardinal : t -> int
val any_binding : t -> binding option
val get_any_binding : t -> binding
end
exception Field_not_found of Line.label
type t = Line.Fields.t
val line : ?after:string -> ?before:string -> string -> Line.t
val pp : Format.formatter -> Line.t -> unit
val raw : Line.t -> string
val set_raw : string -> Line.t -> Line.t
val show : Line.t -> string
val set_show : string -> Line.t -> Line.t
val select : (Line.t -> string) -> Line.t -> Line.t
type source =
[ `Command of string
| `Directory of string
| `File of string
| `None
| `Other of string
| `Process of Proc.execspec ]
val source : Line.t -> Line.source
val set_source : Line.source -> Line.t -> Line.t
val seq : Line.t -> int
val set_seq : int -> Line.t -> Line.t
val after : Line.t -> string
val set_after : string -> Line.t -> Line.t
val before : Line.t -> string
val set_before : string -> Line.t -> Line.t
module Key_value :
sig
val key : Line.t -> string
val set_key : string -> Line.t -> Line.t
val value : Line.t -> string
val set_value : string -> Line.t -> Line.t
val as_int : Line.t -> int option
val as_float : Line.t -> float option
val as_bool : Line.t -> bool option
val as_string : ?quoted:bool -> Line.t -> string
val as_list : ?delim:char -> Line.t -> string list
val section : Line.t -> string
val set_section : string -> Line.t -> Line.t
val create : key:string -> value:string -> Line.t -> Line.t
end
module Delim :
sig
val fields : Line.t -> string array
val set_fields : string array -> Line.t -> Line.t
val names : Line.t -> string list
val set_names : string list -> Line.t -> Line.t
val get : string -> Line.t -> string
val get_int : string -> Line.t -> int
val get_float : string -> Line.t -> float
val options : Line.t -> Delimited.options
val set_options : Delimited.options -> Line.t -> Line.t
val output : Pervasives.out_channel -> Line.t -> unit
val create : fields:string array -> Line.t -> Line.t
end
module Passwd :
sig
val name : Line.t -> string
val set_name : string -> Line.t -> Line.t
val passwd : Line.t -> string
val set_passwd : string -> Line.t -> Line.t
val uid : Line.t -> int
val set_uid : int -> Line.t -> Line.t
val gid : Line.t -> int
val set_gid : int -> Line.t -> Line.t
val gecos : Line.t -> string
val set_gecos : string -> Line.t -> Line.t
val home : Line.t -> string
val set_home : string -> Line.t -> Line.t
val shell : Line.t -> string
val set_shell : string -> Line.t -> Line.t
val create :
name:string ->
passwd:string ->
uid:int ->
gid:int ->
gecos:string -> home:string -> shell:string -> Line.t -> Line.t
end
module Group :
sig
val name : Line.t -> string
val set_name : string -> Line.t -> Line.t
val passwd : Line.t -> string
val set_passwd : string -> Line.t -> Line.t
val gid : Line.t -> int
val set_gid : int -> Line.t -> Line.t
val users : Line.t -> string list
val set_users : string list -> Line.t -> Line.t
val create :
name:string ->
passwd:string -> gid:int -> users:string list -> Line.t -> Line.t
end
module Stat :
sig
val dev : Line.t -> int
val set_dev : int -> Line.t -> Line.t
val inode : Line.t -> int
val set_inode : int -> Line.t -> Line.t
val kind : Line.t -> Unix.file_kind
val set_kind : Unix.file_kind -> Line.t -> Line.t
module Mode :
sig
val xusr : Line.t -> bool
val set_xusr : bool -> Line.t -> Line.t
val wusr : Line.t -> bool
val set_wusr : bool -> Line.t -> Line.t
val rusr : Line.t -> bool
val set_rusr : bool -> Line.t -> Line.t
val xgrp : Line.t -> bool
val set_xgrp : bool -> Line.t -> Line.t
val wgrp : Line.t -> bool
val set_wgrp : bool -> Line.t -> Line.t
val rgrp : Line.t -> bool
val set_rgrp : bool -> Line.t -> Line.t
val xoth : Line.t -> bool
val set_xoth : bool -> Line.t -> Line.t
val woth : Line.t -> bool
val set_woth : bool -> Line.t -> Line.t
val roth : Line.t -> bool
val set_roth : bool -> Line.t -> Line.t
val suid : Line.t -> bool
val set_suid : bool -> Line.t -> Line.t
val sgid : Line.t -> bool
val set_sgid : bool -> Line.t -> Line.t
val sticky : Line.t -> bool
val set_sticky : bool -> Line.t -> Line.t
val bits : Line.t -> int
val set_bits : int -> Line.t -> Line.t
val create :
xusr:bool ->
wusr:bool ->
rusr:bool ->
xgrp:bool ->
wgrp:bool ->
rgrp:bool ->
xoth:bool ->
woth:bool ->
roth:bool ->
suid:bool ->
sgid:bool -> sticky:bool -> bits:int -> Line.t -> Line.t
end
val nlink : Line.t -> int
val set_nlink : int -> Line.t -> Line.t
val uid : Line.t -> int
val set_uid : int -> Line.t -> Line.t
val gid : Line.t -> int
val set_gid : int -> Line.t -> Line.t
val rdev : Line.t -> int
val set_rdev : int -> Line.t -> Line.t
val size : Line.t -> int
val set_size : int -> Line.t -> Line.t
val blksize : Line.t -> int
val set_blksize : int -> Line.t -> Line.t
val blocks : Line.t -> int
val set_blocks : int -> Line.t -> Line.t
val atime : Line.t -> float
val set_atime : float -> Line.t -> Line.t
val mtime : Line.t -> float
val set_mtime : float -> Line.t -> Line.t
val ctime : Line.t -> float
val set_ctime : float -> Line.t -> Line.t
val create :
dev:int ->
inode:int ->
kind:Unix.file_kind ->
nlink:int ->
uid:int ->
gid:int ->
rdev:int ->
size:int ->
atime:float -> mtime:float -> ctime:float -> Line.t -> Line.t
end
module Ps :
sig
val user : Line.t -> string
val set_user : string -> Line.t -> Line.t
val pid : Line.t -> int
val set_pid : int -> Line.t -> Line.t
val pcpu : Line.t -> float
val set_pcpu : float -> Line.t -> Line.t
val pmem : Line.t -> float
val set_pmem : float -> Line.t -> Line.t
val vsz : Line.t -> int
val set_vsz : int -> Line.t -> Line.t
val rss : Line.t -> int
val set_rss : int -> Line.t -> Line.t
val tt : Line.t -> string
val set_tt : string -> Line.t -> Line.t
val stat : Line.t -> string
val set_stat : string -> Line.t -> Line.t
val started : Line.t -> string
val set_started : string -> Line.t -> Line.t
val time : Line.t -> string
val set_time : string -> Line.t -> Line.t
val command : Line.t -> string
val set_command : string -> Line.t -> Line.t
val create :
user:string ->
pid:int ->
pcpu:float ->
pmem:float ->
vsz:int ->
rss:int ->
tt:string ->
stat:string ->
started:string -> time:string -> command:string -> Line.t -> Line.t
end
module Fstab :
sig
val file_system : Line.t -> string
val set_file_system : string -> Line.t -> Line.t
val mount_point : Line.t -> string
val set_mount_point : string -> Line.t -> Line.t
val fstype : Line.t -> string
val set_fstype : string -> Line.t -> Line.t
val options : Line.t -> string list
val set_options : string list -> Line.t -> Line.t
val dump : Line.t -> int
val set_dump : int -> Line.t -> Line.t
val pass : Line.t -> int
val set_pass : int -> Line.t -> Line.t
val create :
file_system:string ->
mount_point:string ->
fstype:string ->
options:string list -> dump:int -> pass:int -> Line.t -> Line.t
end
module Mailcap :
sig
val content_type : Line.t -> string
val set_content_type : string -> Line.t -> Line.t
val command : Line.t -> string
val set_command : string -> Line.t -> Line.t
val flags : Line.t -> string list
val set_flags : string list -> Line.t -> Line.t
val fields : Line.t -> (string * string) list
val set_fields : (string * string) list -> Line.t -> Line.t
val create :
content_type:string ->
command:string ->
flags:string list ->
fields:(string * string) list -> Line.t -> Line.t
end
end