`sig
type t
type auth = { auth_challenge_length : int; auth_secret : string; }
type controlpipe = [ `Allocate | `Descriptor of Unix.file_descr | `None ]
exception Server_is_down
exception Signal_shutdown
exception Signal_restart
val server_init :
?backlog:int ->
?reuseaddr:bool -> Unix.inet_addr -> int -> Unix.file_descr
val server_loop :
?controlpipe:[ `Allocate | `Descriptor of Unix.file_descr | `None ] ->
?onrestart:(Netcgi_jserv.t -> unit) ->
?onshutdown:(Netcgi_jserv.t -> unit) ->
?select_accept:(Unix.file_descr list ->
Unix.file_descr ->
Unix.file_descr list * Unix.file_descr option) ->
?allow_hosts:Unix.inet_addr list ->
(Netcgi_jserv.t ->
Netcgi_jserv.auth option ->
Netchannels.in_obj_channel -> Netchannels.out_obj_channel -> unit) ->
Netcgi_jserv.auth option -> Unix.file_descr -> unit
val server :
?backlog:int ->
?reuseaddr:bool ->
?controlpipe:Netcgi_jserv.controlpipe ->
?onrestart:(Netcgi_jserv.t -> unit) ->
?onshutdown:(Netcgi_jserv.t -> unit) ->
?select_accept:(Unix.file_descr list ->
Unix.file_descr ->
Unix.file_descr list * Unix.file_descr option) ->
?allow_hosts:Unix.inet_addr list ->
(Netcgi_jserv.t ->
Netcgi_jserv.auth option ->
Netchannels.in_obj_channel -> Netchannels.out_obj_channel -> unit) ->
Netcgi_jserv.auth option -> Unix.inet_addr -> int -> unit
val signal_restart : Netcgi_jserv.t -> unit
val signal_shutdown : Netcgi_jserv.t -> unit
val read_control_pipe : Unix.file_descr -> 'a
val random_8bits : unit -> int
val prng_init :
?lock:(unit -> unit) -> ?unlock:(unit -> unit) -> string -> unit
val prng_init_from_file :
?lock:(unit -> unit) ->
?unlock:(unit -> unit) -> ?length:int -> string -> unit
val parse_properties : string -> (string * string) list
val jvm_emu_main :
((string * string) list ->
Netcgi_jserv.auth option -> Unix.inet_addr -> int -> unit) ->
unit
end`