sig
module Doc :
sig
type chapter = [ `Kernel | `Plugin of string | `Protocol ]
type page
val path : Server.Doc.page -> string
val href : Server.Doc.page -> string -> Markdown.href
val chapter : Server.Doc.page -> Server.Doc.chapter
val page :
Server.Doc.chapter ->
title:string -> filename:string -> Server.Doc.page
val publish :
page:Server.Doc.page ->
?name:string ->
?index:string list ->
title:string ->
?contents:Markdown.elements ->
?generated:(unit -> Markdown.elements) -> unit -> Markdown.href
val dump : root:string -> ?meta:bool -> unit -> unit
end
module Syntax :
sig
type t
val text : Server.Syntax.t -> Markdown.text
val publish :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
synopsis:Server.Syntax.t ->
?details:Markdown.elements ->
?generated:(unit -> Markdown.elements) -> unit -> Server.Syntax.t
val unit : Server.Syntax.t
val any : Server.Syntax.t
val int : Server.Syntax.t
val ident : Server.Syntax.t
val string : Server.Syntax.t
val number : Server.Syntax.t
val boolean : Server.Syntax.t
val tag : string -> Server.Syntax.t
val array : Server.Syntax.t -> Server.Syntax.t
val tuple : Server.Syntax.t list -> Server.Syntax.t
val union : Server.Syntax.t list -> Server.Syntax.t
val option : Server.Syntax.t -> Server.Syntax.t
val record : (string * Server.Syntax.t) list -> Server.Syntax.t
val data : string -> Markdown.href -> Server.Syntax.t
type tag = {
tag_name : string;
tag_label : Markdown.text;
tag_descr : Markdown.text;
}
val define : Markdown.text -> Markdown.text -> Markdown.block_element
val tags : ?title:string -> Server.Syntax.tag list -> Markdown.element
type field = {
fd_name : string;
fd_syntax : Server.Syntax.t;
fd_descr : Markdown.text;
}
val fields :
?title:string -> Server.Syntax.field list -> Markdown.element
end
module Data :
sig
type json = Json.t
val page : Server.Doc.page
val pretty : Format.formatter -> Server.Data.json -> unit
module type S =
sig
type t
val syntax : Server.Syntax.t
val of_json : Server.Data.json -> Server.Data.S.t
val to_json : Server.Data.S.t -> Server.Data.json
end
module type Info =
sig
val page : Server.Doc.page
val name : string
val descr : Markdown.text
end
type 'a data = (module Server.Data.S with type t = 'a)
module type S_collection =
sig
type t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Collection :
functor (A : S) ->
sig
type t = A.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Junit :
sig
type t = unit
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jany :
sig
type t = json
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jbool :
sig
type t = bool
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jint :
sig
type t = int
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jfloat :
sig
type t = float
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jstring :
sig
type t = string
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jident :
sig
type t = string
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jtext :
sig
type t = json
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jmarkdown :
sig
type t = Markdown.text
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Joption :
functor (A : S) ->
sig
type t = A.t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jpair :
functor (A : S) (B : S) ->
sig
type t = A.t * B.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jtriple :
functor (A : S) (B : S) (C : S) ->
sig
type t = A.t * B.t * C.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
functor (A : S) ->
sig
type t = A.t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
functor (A : S) ->
sig
type t = A.t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Record :
sig
type 'a record
type 'a signature
type ('a, 'b) field
module type S =
sig
type r
type t = r record
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
val default : t
val has :
(Server.Data.Record.S.r, 'a) Server.Data.Record.field ->
t -> bool
val get :
(Server.Data.Record.S.r, 'a) Server.Data.Record.field ->
t -> 'a
val set :
(Server.Data.Record.S.r, 'a) Server.Data.Record.field ->
'a -> t -> t
end
val signature :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text -> unit -> 'a Server.Data.Record.signature
val field :
'r Server.Data.Record.signature ->
name:string ->
descr:Markdown.text ->
?default:'a ->
'a Server.Data.data -> ('r, 'a) Server.Data.Record.field
val option :
'r Server.Data.Record.signature ->
name:string ->
descr:Markdown.text ->
'a Server.Data.data -> ('r, 'a option) Server.Data.Record.field
val publish :
'a Server.Data.Record.signature ->
(module Server.Data.Record.S with type r = 'a)
end
module Tag :
sig
type t = Syntax.tag
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Enum :
sig
type 'a dictionary
type 'a tag
type 'a prefix
val tag_name : 'a Server.Data.Enum.tag -> string
val dictionary :
page:Server.Doc.page ->
name:string ->
title:string ->
descr:Markdown.text -> unit -> 'a Server.Data.Enum.dictionary
val tag :
'a Server.Data.Enum.dictionary ->
name:string ->
?label:Markdown.text ->
descr:Markdown.text ->
?value:'a -> unit -> 'a Server.Data.Enum.tag
val prefix :
'a Server.Data.Enum.dictionary ->
prefix:string ->
?var:string ->
?label:Markdown.text ->
descr:Markdown.text -> unit -> 'a Server.Data.Enum.prefix
val instance :
'a Server.Data.Enum.prefix -> string -> 'a Server.Data.Enum.tag
val extends :
'a Server.Data.Enum.dictionary ->
'a Server.Data.Enum.prefix ->
name:string ->
?label:Markdown.text ->
descr:Markdown.text ->
?value:'a -> unit -> 'a Server.Data.Enum.tag
val tags : 'a Server.Data.Enum.dictionary -> Server.Data.Tag.t list
val page : 'a Server.Data.Enum.dictionary -> Server.Doc.page
val name : 'a Server.Data.Enum.dictionary -> string
val syntax : 'a Server.Data.Enum.dictionary -> Markdown.text
val publish :
'a Server.Data.Enum.dictionary ->
?tag:('a -> 'a Server.Data.Enum.tag) ->
unit -> (module Server.Data.S with type t = 'a)
end
module type Map =
sig
type 'a t
type key
val empty : 'a Server.Data.Map.t
val add :
Server.Data.Map.key ->
'a -> 'a Server.Data.Map.t -> 'a Server.Data.Map.t
val find : Server.Data.Map.key -> 'a Server.Data.Map.t -> 'a
end
module type Index =
sig
type t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module Static :
functor (M : Map) (I : Info) ->
sig
type t = M.key
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module Index :
functor (M : Map) (I : Info) ->
sig
type t = M.key
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module type IdentifiedType =
sig
type t
val id : Server.Data.IdentifiedType.t -> int
val page : Doc.page
val name : string
val descr : Markdown.text
end
module Identified :
functor (A : IdentifiedType) ->
sig
type t = A.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
exception InputError of string
val failure :
?json:Server.Data.json ->
('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
val failure_from_type_error : string -> Server.Data.json -> 'a
end
module Request :
sig
type json = Server.Data.json
type kind = [ `EXEC | `GET | `SET ]
module type Input =
sig
type t
val syntax : Server.Syntax.t
val of_json : Server.Request.json -> Server.Request.Input.t
end
module type Output =
sig
type t
val syntax : Server.Syntax.t
val to_json : Server.Request.Output.t -> Server.Request.json
end
type 'a input = (module Server.Request.Input with type t = 'a)
type 'b output = (module Server.Request.Output with type t = 'b)
type signal
val signal :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block -> unit -> Server.Request.signal
val emit : Server.Request.signal -> unit
val on_signal : Server.Request.signal -> (bool -> unit) -> unit
val register :
page:Server.Doc.page ->
kind:Server.Request.kind ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block ->
input:'a Server.Request.input ->
output:'b Server.Request.output -> ('a -> 'b) -> unit
type ('a, 'b) signature
val signature :
page:Server.Doc.page ->
kind:Server.Request.kind ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block ->
?input:'a Server.Request.input ->
?output:'b Server.Request.output ->
unit -> ('a, 'b) Server.Request.signature
type rq
type 'a param = Server.Request.rq -> 'a
type 'b result = Server.Request.rq -> 'b -> unit
val register_sig :
('a, 'b) Server.Request.signature ->
(Server.Request.rq -> 'a -> 'b) -> unit
val param :
(unit, 'b) Server.Request.signature ->
name:string ->
descr:Markdown.text ->
?default:'a -> 'a Server.Request.input -> 'a Server.Request.param
val param_opt :
(unit, 'b) Server.Request.signature ->
name:string ->
descr:Markdown.text ->
'a Server.Request.input -> 'a option Server.Request.param
val result :
('a, unit) Server.Request.signature ->
name:string ->
descr:Markdown.text ->
?default:'b -> 'b Server.Request.output -> 'b Server.Request.result
val result_opt :
('a, unit) Server.Request.signature ->
name:string ->
descr:Markdown.text ->
'b Server.Request.output -> 'b option Server.Request.result
val dictionary : 'a Server.Data.Enum.dictionary -> unit
end
module States :
sig
type 'a callback = ('a -> unit) -> unit
val register_value :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block ->
output:'a Server.Request.output ->
get:(unit -> 'a) ->
?add_hook:unit Server.States.callback ->
unit -> Server.Request.signal
val register_state :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block ->
data:'a Server.Data.data ->
get:(unit -> 'a) ->
set:('a -> unit) ->
?add_hook:unit Server.States.callback ->
unit -> Server.Request.signal
type 'a model
val model : unit -> 'a Server.States.model
val column :
model:'a Server.States.model ->
name:string ->
descr:Markdown.text ->
data:'b Server.Request.output -> get:('a -> 'b) -> unit -> unit
type 'a array
val reload : 'a Server.States.array -> unit
val update : 'a Server.States.array -> 'a -> unit
val remove : 'a Server.States.array -> 'a -> unit
val signal : 'a Server.States.array -> Server.Request.signal
val register_array :
page:Server.Doc.page ->
name:string ->
descr:Markdown.text ->
?details:Markdown.block ->
key:('a -> string) ->
iter:'a Server.States.callback ->
?add_update_hook:'a Server.States.callback ->
?add_remove_hook:'a Server.States.callback ->
?add_reload_hook:unit Server.States.callback ->
'a Server.States.model -> 'a Server.States.array
end
module Kernel_main :
sig
module LogSource :
sig
type t = Filepath.position
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
end
module LogEvent :
sig
type t = Log.event
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
end
end
module Kernel_ast :
sig
module Kf :
sig
type t = Cil_types.kernel_function
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
end
module Ki :
sig
type t = Cil_types.kinstr
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
end
module Stmt :
sig
type t = Cil_types.stmt
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
end
end
module Marker :
sig
type t = Printer_tag.localizable
val syntax : Syntax.t
val of_json : Data.json -> t
val to_json : t -> Data.json
val create : t -> string
val lookup : string -> t
end
module Printer : Printer_tag.S_pp
end
module Kernel_properties :
sig
val register_propkind :
name:string ->
kind:[ `Clause | `Loop | `Other ] ->
?label:Markdown.text -> descr:Markdown.text -> unit -> unit
val reload : unit -> unit
end
end