sig
  type server_params
  val get_user_agent : sp:Eliomsessions.server_params -> string
  val get_full_url : sp:Eliomsessions.server_params -> string
  val get_ip : sp:Eliomsessions.server_params -> string
  val get_inet_addr : sp:Eliomsessions.server_params -> Unix.inet_addr
  val get_current_path_string : sp:Eliomsessions.server_params -> string
  val get_current_full_path :
    sp:Eliomsessions.server_params -> Extensions.url_path
  val get_current_sub_path :
    sp:Eliomsessions.server_params -> Extensions.url_path
  val get_hostname : sp:Eliomsessions.server_params -> string option
  val get_port : sp:Eliomsessions.server_params -> int
  val get_suffix : sp:Eliomsessions.server_params -> Extensions.url_path
  val get_cookies :
    sp:Eliomsessions.server_params -> string Http_frame.Cookievalues.t
  val set_global_volatile_session_timeout :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params ->
    ?recompute_expdates:bool -> float option -> unit Lwt.t
  val set_global_service_session_timeout :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params ->
    ?recompute_expdates:bool -> float option -> unit Lwt.t
  val set_global_volatile_data_session_timeout :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params ->
    ?recompute_expdates:bool -> float option -> unit Lwt.t
  val get_global_service_session_timeout :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params -> unit -> float option
  val get_global_volatile_data_session_timeout :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params -> unit -> float option
  val get_default_service_session_timeout : unit -> float option
  val get_default_volatile_data_session_timeout : unit -> float option
  val set_default_volatile_session_timeout : float option -> unit
  val set_default_service_session_timeout : float option -> unit
  val set_default_volatile_data_session_timeout : float option -> unit
  val set_global_persistent_data_session_timeout :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params ->
    ?recompute_expdates:bool -> float option -> unit Lwt.t
  val get_global_persistent_data_session_timeout :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params -> unit -> float option
  val get_default_persistent_data_session_timeout : unit -> float option
  val set_default_persistent_data_session_timeout : float option -> unit
  val set_service_session_timeout :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> float option -> unit
  val unset_service_session_timeout :
    ?session_name:string -> sp:Eliomsessions.server_params -> unit -> unit
  val get_service_session_timeout :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> float option
  val set_volatile_data_session_timeout :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> float option -> unit
  val unset_volatile_data_session_timeout :
    ?session_name:string -> sp:Eliomsessions.server_params -> unit -> unit
  val get_volatile_data_session_timeout :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> float option
  val set_volatile_session_timeout :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> float option -> unit
  val unset_volatile_session_timeout :
    ?session_name:string -> sp:Eliomsessions.server_params -> unit -> unit
  val set_persistent_data_session_timeout :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> float option -> unit Lwt.t
  val unset_persistent_data_session_timeout :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  val get_persistent_data_session_timeout :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> float option Lwt.t
  val set_volatile_session_cookies_exp_date :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> float option -> unit
  val set_service_session_cookie_exp_date :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> float option -> unit
  val set_volatile_data_session_cookie_exp_date :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> float option -> unit
  val set_persistent_data_session_cookie_exp_date :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> float option -> unit Lwt.t
  val get_exn : sp:Eliomsessions.server_params -> exn list
  val get_previous_extension_error_code :
    sp:Eliomsessions.server_params -> int
  val get_tmp_filename : Extensions.file_info -> string
  val get_filesize : Extensions.file_info -> int64
  val get_original_filename : Extensions.file_info -> string
  val get_config : unit -> Simplexmlparser.xml list
  val get_site_dir : sp:Eliomsessions.server_params -> Extensions.url_path
  val get_config_file_charset : sp:Eliomsessions.server_params -> string
  type 'a session_data = No_data | Data_session_expired | Data of 'a
  type 'a volatile_table
  val create_volatile_table :
    ?sp:Eliomsessions.server_params ->
    unit -> 'Eliomsessions.volatile_table
  val get_volatile_session_data :
    ?session_name:string ->
    table:'Eliomsessions.volatile_table ->
    sp:Eliomsessions.server_params -> unit -> 'Eliomsessions.session_data
  val set_volatile_session_data :
    ?session_name:string ->
    table:'Eliomsessions.volatile_table ->
    sp:Eliomsessions.server_params -> '-> unit
  val remove_volatile_session_data :
    ?session_name:string ->
    table:'Eliomsessions.volatile_table ->
    sp:Eliomsessions.server_params -> unit -> unit
  type 'a persistent_table
  val create_persistent_table : string -> 'Eliomsessions.persistent_table
  val get_persistent_session_data :
    ?session_name:string ->
    table:'Eliomsessions.persistent_table ->
    sp:Eliomsessions.server_params ->
    unit -> 'Eliomsessions.session_data Lwt.t
  val set_persistent_session_data :
    ?session_name:string ->
    table:'Eliomsessions.persistent_table ->
    sp:Eliomsessions.server_params -> '-> unit Lwt.t
  val remove_persistent_session_data :
    ?session_name:string ->
    table:'Eliomsessions.persistent_table ->
    sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  val close_session :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  val close_volatile_session :
    ?session_name:string -> sp:Eliomsessions.server_params -> unit -> unit
  val close_persistent_data_session :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  val close_volatile_data_session :
    ?session_name:string -> sp:Eliomsessions.server_params -> unit -> unit
  val close_service_session :
    ?session_name:string -> sp:Eliomsessions.server_params -> unit -> unit
  val close_all_sessions :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  val close_all_volatile_sessions :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  val close_all_persistent_data_sessions :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  val close_all_service_sessions :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  val close_all_volatile_data_sessions :
    ?session_name:string ->
    ?sp:Eliomsessions.server_params -> unit -> unit Lwt.t
  module Session_admin :
    sig
      type timeout = TGlobal | TNone | TSome of float
      type service_session
      type data_session
      type persistent_session
      val close_service_session :
        session:Eliomsessions.Session_admin.service_session -> unit
      val close_volatile_data_session :
        session:Eliomsessions.Session_admin.data_session -> unit
      val close_persistent_data_session :
        session:Eliomsessions.Session_admin.persistent_session -> unit Lwt.t
      val get_volatile_session_data :
        session:Eliomsessions.Session_admin.data_session ->
        table:'Eliomsessions.volatile_table -> 'a
      val get_persistent_session_data :
        session:Eliomsessions.Session_admin.persistent_session ->
        table:'Eliomsessions.persistent_table -> 'Lwt.t
      val remove_volatile_session_data :
        session:Eliomsessions.Session_admin.data_session ->
        table:'Eliomsessions.volatile_table -> unit
      val remove_persistent_session_data :
        session:Eliomsessions.Session_admin.persistent_session ->
        table:'Eliomsessions.persistent_table -> unit Lwt.t
      val get_service_session_name :
        session:Eliomsessions.Session_admin.service_session -> string option
      val get_volatile_data_session_name :
        session:Eliomsessions.Session_admin.data_session -> string option
      val get_persistent_data_session_name :
        session:Eliomsessions.Session_admin.persistent_session ->
        string option
      val set_service_session_timeout :
        session:Eliomsessions.Session_admin.service_session ->
        float option -> unit
      val set_volatile_data_session_timeout :
        session:Eliomsessions.Session_admin.data_session ->
        float option -> unit
      val set_persistent_data_session_timeout :
        session:Eliomsessions.Session_admin.persistent_session ->
        float option -> unit Lwt.t
      val get_service_session_timeout :
        session:Eliomsessions.Session_admin.service_session ->
        Eliomsessions.Session_admin.timeout
      val get_volatile_data_session_timeout :
        session:Eliomsessions.Session_admin.data_session ->
        Eliomsessions.Session_admin.timeout
      val get_persistent_data_session_timeout :
        session:Eliomsessions.Session_admin.persistent_session ->
        Eliomsessions.Session_admin.timeout
      val unset_service_session_timeout :
        session:Eliomsessions.Session_admin.service_session -> unit
      val unset_volatile_data_session_timeout :
        session:Eliomsessions.Session_admin.data_session -> unit
      val unset_persistent_data_session_timeout :
        session:Eliomsessions.Session_admin.persistent_session -> unit Lwt.t
      val iter_service_sessions :
        ?sp:Eliomsessions.server_params ->
        (Eliomsessions.Session_admin.service_session -> unit Lwt.t) ->
        unit Lwt.t
      val iter_volatile_data_sessions :
        ?sp:Eliomsessions.server_params ->
        (Eliomsessions.Session_admin.data_session -> unit Lwt.t) ->
        unit Lwt.t
      val iter_persistent_data_sessions :
        (Eliomsessions.Session_admin.persistent_session -> unit Lwt.t) ->
        unit Lwt.t
      val fold_service_sessions :
        ?sp:Eliomsessions.server_params ->
        (Eliomsessions.Session_admin.service_session -> '-> 'Lwt.t) ->
        '-> 'Lwt.t
      val fold_volatile_data_sessions :
        ?sp:Eliomsessions.server_params ->
        (Eliomsessions.Session_admin.data_session -> '-> 'Lwt.t) ->
        '-> 'Lwt.t
      val fold_persistent_data_sessions :
        (Eliomsessions.Session_admin.persistent_session -> '-> 'Lwt.t) ->
        '-> 'Lwt.t
    end
  val get_get_params :
    sp:Eliomsessions.server_params -> (string * string) list
  val get_all_get_params :
    sp:Eliomsessions.server_params -> (string * string) list
  val get_other_get_params :
    sp:Eliomsessions.server_params -> (string * string) list
  val get_post_params :
    sp:Eliomsessions.server_params -> (string * string) list Lwt.t
  val get_all_post_params :
    sp:Eliomsessions.server_params -> (string * string) list
  val get_ri : sp:Eliomsessions.server_params -> Extensions.request_info
  val get_session_name : sp:Eliomsessions.server_params -> string option
  val get_persistent_data_session_cookie :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> string option Lwt.t
  val get_service_session_cookie :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> string option
  val get_volatile_data_session_cookie :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> string option
  val number_of_service_sessions : sp:Eliomsessions.server_params -> int
  val number_of_volatile_data_sessions :
    sp:Eliomsessions.server_params -> int
  val number_of_tables : unit -> int
  val number_of_table_elements : unit -> int list
  val number_of_persistent_data_sessions : unit -> int Lwt.t
  val number_of_persistent_tables : unit -> int
  val number_of_persistent_table_elements : unit -> (string * int) list Lwt.t
  val get_global_table : sp:Eliomsessions.server_params -> Eliommod.tables
  val get_session_service_table :
    ?session_name:string ->
    sp:Eliomsessions.server_params -> unit -> Eliommod.tables Pervasives.ref
  val get_sitedata : sp:Eliomsessions.server_params -> Eliommod.sitedata
  val get_persistent_cookies :
    sp:Eliomsessions.server_params -> string Http_frame.Cookievalues.t
  val get_data_cookies :
    sp:Eliomsessions.server_params -> string Http_frame.Cookievalues.t
  val find_sitedata :
    string -> Eliomsessions.server_params option -> Eliommod.sitedata
  val set_site_handler :
    Eliommod.sitedata ->
    (Eliomsessions.server_params -> exn -> Eliommod.result_to_send Lwt.t) ->
    unit
  val sp_of_esp : Eliommod.server_params -> Eliomsessions.server_params
  val esp_of_sp : Eliomsessions.server_params -> Eliommod.server_params
end