Ocsigen

This is a preliminary version of the documentation. Help us to improve it by filling tickets. We are looking for native english speakers to proof read the documentation. Contact us!

sig
  module type XhtmlFormsSig =
    sig
      type form_content_elt = Xhtmltypes_duce.form_content
      type form_content_elt_list = {{form_contents}}
      type form_elt = Xhtmltypes_duce.form
      type a_content_elt = Xhtmltypes_duce.a_content
      type a_content_elt_list = {{a_contents}}
      type a_elt = Xhtmltypes_duce.a
      type a_elt_list = {{Eliom_duce.Blocks.a_elt_list}}
      type div_content_elt = Xhtmltypes_duce.div_content
      type div_content_elt_list = Xhtmltypes_duce.flows
      type uri = string
      type link_elt = Xhtmltypes_duce.link
      type script_elt = Xhtmltypes_duce.script
      type textarea_elt = Xhtmltypes_duce.textarea
      type input_elt = Xhtmltypes_duce.input
      type pcdata_elt = {{String}}
      type select_elt = Xhtmltypes_duce.select
      type select_content_elt = Xhtmltypes_duce.select_content
      type select_content_elt_list =
          {{Eliom_duce.Blocks.select_content_elt_list}}
      type option_elt = Xhtmltypes_duce.option
      type option_elt_list = {{Eliom_duce.Blocks.option_elt_list}}
      type button_elt = Xhtmltypes_duce.button
      type button_content_elt = Xhtmltypes_duce.button_content
      type button_content_elt_list = {{button_contents}}
      type a_attrib_t = Xhtmltypes_duce.a_attrs
      type form_attrib_t = {{Eliom_duce.Blocks.form_attrib_t}}
      type input_attrib_t = Xhtmltypes_duce.input_attrs
      type textarea_attrib_t = {{Eliom_duce.Blocks.textarea_attrib_t}}
      type select_attrib_t = Xhtmltypes_duce.select_attrs
      type link_attrib_t = Xhtmltypes_duce.link_attrs
      type script_attrib_t = {{Eliom_duce.Blocks.script_attrib_t}}
      type optgroup_attrib_t = {{Eliom_duce.Blocks.optgroup_attrib_t}}
      type option_attrib_t = Xhtmltypes_duce.option_attrs
      type button_attrib_t = Xhtmltypes_duce.button_attrs
      type input_type_t = Xhtmltypes_duce.input_type_values
      type button_type_t = Xhtmltypes_duce.button_type_values
      val make_string_uri :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set -> '-> string
      val make_uri :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set -> '-> uri
      val make_uri_components :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        '-> string * (string * string) list * string option
      val make_post_uri_components :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ?keep_get_na_params:bool ->
        '->
        '->
        string * (string * string) list * string option *
        (string * string) list
      val make_proto_prefix :
        sp:Eliom_sessions.server_params ->
        ?hostname:string -> ?port:int -> bool -> string
      val a :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:a_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        a_content_elt_list -> '-> a_elt
      val css_link : ?a:link_attrib_t -> uri:uri -> unit -> link_elt
      val js_script : ?a:script_attrib_t -> uri:uri -> unit -> script_elt
      val get_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list) -> form_elt
      val lwt_get_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list Lwt.t) -> form_elt Lwt.t
      val post_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?keep_get_na_params:bool ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list) -> '-> form_elt
      val lwt_post_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?keep_get_na_params:bool ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list Lwt.t) -> '-> form_elt Lwt.t
      val int_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int -> unit -> input_elt
      val int32_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int32 Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int32 -> unit -> input_elt
      val int64_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int64 Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int64 -> unit -> input_elt
      val float_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< float Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:float -> unit -> input_elt
      val string_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< string Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:string -> unit -> input_elt
      val user_type_input :
        ('-> string) ->
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< 'Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:'-> unit -> input_elt
      val raw_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:string -> ?value:string -> unit -> input_elt
      val file_input :
        ?a:input_attrib_t ->
        name:[< Ocsigen_lib.file_info Eliom_parameters.setoneradio ]
             Eliom_parameters.param_name ->
        unit -> input_elt
      val image_input :
        ?a:input_attrib_t ->
        name:[< Eliom_parameters.coordinates Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        ?src:uri -> unit -> input_elt
      val int_image_input :
        ?a:input_attrib_t ->
        name:[< (int * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int -> ?src:uri -> unit -> input_elt
      val int32_image_input :
        ?a:input_attrib_t ->
        name:[< (int32 * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int32 -> ?src:uri -> unit -> input_elt
      val int64_image_input :
        ?a:input_attrib_t ->
        name:[< (int64 * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int64 -> ?src:uri -> unit -> input_elt
      val float_image_input :
        ?a:input_attrib_t ->
        name:[< (float * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:float -> ?src:uri -> unit -> input_elt
      val string_image_input :
        ?a:input_attrib_t ->
        name:[< (string * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:string -> ?src:uri -> unit -> input_elt
      val user_type_image_input :
        ('-> string) ->
        ?a:input_attrib_t ->
        name:[< ('a * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:'-> ?src:uri -> unit -> input_elt
      val raw_image_input :
        ?a:input_attrib_t ->
        name:string -> value:string -> ?src:uri -> unit -> input_elt
      val bool_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `One of bool ] Eliom_parameters.param_name ->
        unit -> input_elt
      val int_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int ] Eliom_parameters.param_name ->
        value:int -> unit -> input_elt
      val int32_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int32 ] Eliom_parameters.param_name ->
        value:int32 -> unit -> input_elt
      val int64_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int64 ] Eliom_parameters.param_name ->
        value:int64 -> unit -> input_elt
      val float_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of float ] Eliom_parameters.param_name ->
        value:float -> unit -> input_elt
      val string_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of string ] Eliom_parameters.param_name ->
        value:string -> unit -> input_elt
      val user_type_checkbox :
        ('-> string) ->
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of 'a ] Eliom_parameters.param_name ->
        value:'-> unit -> input_elt
      val raw_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool -> name:string -> value:string -> unit -> input_elt
      val string_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of string ] Eliom_parameters.param_name ->
        value:string -> unit -> input_elt
      val int_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int ] Eliom_parameters.param_name ->
        value:int -> unit -> input_elt
      val int32_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int32 ] Eliom_parameters.param_name ->
        value:int32 -> unit -> input_elt
      val int64_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int64 ] Eliom_parameters.param_name ->
        value:int64 -> unit -> input_elt
      val float_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of float ] Eliom_parameters.param_name ->
        value:float -> unit -> input_elt
      val user_type_radio :
        ('-> string) ->
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of 'a ] Eliom_parameters.param_name ->
        value:'-> unit -> input_elt
      val raw_radio :
        ?a:input_attrib_t ->
        ?checked:bool -> name:string -> value:string -> unit -> input_elt
      val string_button :
        ?a:button_attrib_t ->
        name:[< string Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:string -> button_content_elt_list -> button_elt
      val int_button :
        ?a:button_attrib_t ->
        name:[< int Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int -> button_content_elt_list -> button_elt
      val int32_button :
        ?a:button_attrib_t ->
        name:[< int32 Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int32 -> button_content_elt_list -> button_elt
      val int64_button :
        ?a:button_attrib_t ->
        name:[< int64 Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int64 -> button_content_elt_list -> button_elt
      val float_button :
        ?a:button_attrib_t ->
        name:[< float Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:float -> button_content_elt_list -> button_elt
      val user_type_button :
        ('-> string) ->
        ?a:button_attrib_t ->
        name:[< 'Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:'-> button_content_elt_list -> button_elt
      val raw_button :
        ?a:button_attrib_t ->
        button_type:button_type_t ->
        name:string -> value:string -> button_content_elt_list -> button_elt
      val button :
        ?a:button_attrib_t ->
        button_type:button_type_t -> button_content_elt_list -> button_elt
      val textarea :
        ?a:textarea_attrib_t ->
        name:[< string Eliom_parameters.setoneradio ]
             Eliom_parameters.param_name ->
        ?value:string -> rows:int -> cols:int -> unit -> textarea_elt
      val raw_textarea :
        ?a:textarea_attrib_t ->
        name:string ->
        ?value:string -> rows:int -> cols:int -> unit -> textarea_elt
      type 'a soption = option_attrib_t * 'a * pcdata_elt option * bool
      type 'a select_opt =
          Optgroup of optgroup_attrib_t * string * 'a soption *
            'a soption list
        | Option of 'a soption
      val raw_select :
        ?a:select_attrib_t ->
        name:string ->
        string select_opt -> string select_opt list -> select_elt
      val int_select :
        ?a:select_attrib_t ->
        name:[< `One of int ] Eliom_parameters.param_name ->
        int select_opt -> int select_opt list -> select_elt
      val int32_select :
        ?a:select_attrib_t ->
        name:[< `One of int32 ] Eliom_parameters.param_name ->
        int32 select_opt -> int32 select_opt list -> select_elt
      val int64_select :
        ?a:select_attrib_t ->
        name:[< `One of int64 ] Eliom_parameters.param_name ->
        int64 select_opt -> int64 select_opt list -> select_elt
      val float_select :
        ?a:select_attrib_t ->
        name:[< `One of float ] Eliom_parameters.param_name ->
        float select_opt -> float select_opt list -> select_elt
      val string_select :
        ?a:select_attrib_t ->
        name:[< `One of string ] Eliom_parameters.param_name ->
        string select_opt -> string select_opt list -> select_elt
      val user_type_select :
        ('-> string) ->
        ?a:select_attrib_t ->
        name:[< `One of 'a ] Eliom_parameters.param_name ->
        'a select_opt -> 'a select_opt list -> select_elt
      val raw_multiple_select :
        ?a:select_attrib_t ->
        name:string ->
        string select_opt -> string select_opt list -> select_elt
      val int_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int ] Eliom_parameters.param_name ->
        int select_opt -> int select_opt list -> select_elt
      val int32_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int32 ] Eliom_parameters.param_name ->
        int32 select_opt -> int32 select_opt list -> select_elt
      val int64_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int64 ] Eliom_parameters.param_name ->
        int64 select_opt -> int64 select_opt list -> select_elt
      val float_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of float ] Eliom_parameters.param_name ->
        float select_opt -> float select_opt list -> select_elt
      val string_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of string ] Eliom_parameters.param_name ->
        string select_opt -> string select_opt list -> select_elt
      val user_type_multiple_select :
        ('-> string) ->
        ?a:select_attrib_t ->
        name:[< `Set of 'a ] Eliom_parameters.param_name ->
        'a select_opt -> 'a select_opt list -> select_elt
    end
  module type XhtmlSig =
    sig
      type page
      type options = unit
      val send :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        sp:Eliom_sessions.server_params ->
        page -> Ocsigen_http_frame.result Lwt.t
      val register :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        service:('a, 'b, [< Eliom_services.internal_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                Eliom_services.service ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
      val register_for_session :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        service:('a, 'b, [< Eliom_services.internal_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                Eliom_services.service ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
      val register_new_service :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?https:bool ->
        path:Ocsigen_lib.url_path ->
        get_params:('a, [< Eliom_services.suff ] as 'b, 'c)
                   Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Service ] * [> `Get ] ] Eliom_services.a_s ],
         'b, 'c, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:(unit, unit,
                  [ `Attached of
                      [ `Internal of [ `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [ `WithoutSuffix ], unit, unit,
                  [< Eliom_services.registrable ])
                 Eliom_services.service ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Get ] ]
              Eliom_services.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice_for_session :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:(unit, unit,
                  [ `Attached of
                      [ `Internal of [ `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [ `WithoutSuffix ], unit, unit,
                  [< Eliom_services.registrable ])
                 Eliom_services.service ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Get ] ]
              Eliom_services.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice_for_session' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_post_service :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?https:bool ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [ `Coservice | `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [< Eliom_services.suff ] as 'b, 'c, unit,
                  [< `Registrable ])
                 Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [ `Coservice | `Service ] * [> `Post ] ]
              Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [< Eliom_services.suff ] as 'b, 'c, unit,
                  [< `Registrable ])
                 Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Post ] ]
              Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?keep_get_na_params:bool ->
        ?https:bool ->
        post_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> unit -> '-> page Lwt.t) ->
        (unit, 'a, [> `Nonattached of [> `Post ] Eliom_services.na_s ],
         [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice_for_session :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [< Eliom_services.suff ] as 'b, 'c, unit, [ `Registrable ])
                 Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Post ] ]
              Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice_for_session' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?keep_get_na_params:bool ->
        ?https:bool ->
        post_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> unit -> '-> page Lwt.t) ->
        (unit, 'a, [> `Nonattached of [> `Post ] Eliom_services.na_s ],
         [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
        Eliom_services.service
      module Cookies :
        sig
          type page = page * Eliom_services.cookie list
          type options
          val send :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            sp:Eliom_sessions.server_params ->
            page -> Ocsigen_http_frame.result Lwt.t
          val register :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            service:('a, 'b, [< Eliom_services.internal_service_kind ],
                     [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                    Eliom_services.service ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
          val register_for_session :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            service:('a, 'b, [< Eliom_services.internal_service_kind ],
                     [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                    Eliom_services.service ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
          val register_new_service :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?https:bool ->
            path:Ocsigen_lib.url_path ->
            get_params:('a, [< Eliom_services.suff ] as 'b, 'c)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit,
             [> `Attached of
                  [> `Internal of [> `Service ] * [> `Get ] ]
                  Eliom_services.a_s ],
             'b, 'c, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_coservice :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?csrf_session_name:string ->
            ?csrf_secure_session:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            fallback:(unit, unit,
                      [ `Attached of
                          [ `Internal of [ `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [ `WithoutSuffix ], unit, unit,
                      [< Eliom_services.registrable ])
                     Eliom_services.service ->
            get_params:('a, [ `WithoutSuffix ], 'b)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit,
             [> `Attached of
                  [> `Internal of [> `Coservice ] * [> `Get ] ]
                  Eliom_services.a_s ],
             [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_coservice' :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?csrf_session_name:string ->
            ?csrf_secure_session:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            get_params:('a, [ `WithoutSuffix ], 'b)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
             [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_coservice_for_session :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            fallback:(unit, unit,
                      [ `Attached of
                          [ `Internal of [ `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [ `WithoutSuffix ], unit, unit,
                      [< Eliom_services.registrable ])
                     Eliom_services.service ->
            get_params:('a, [ `WithoutSuffix ], 'b)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit,
             [> `Attached of
                  [> `Internal of [> `Coservice ] * [> `Get ] ]
                  Eliom_services.a_s ],
             [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_coservice_for_session' :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            get_params:('a, [ `WithoutSuffix ], 'b)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
             [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_post_service :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?https:bool ->
            fallback:('a, unit,
                      [ `Attached of
                          [ `Internal of [ `Coservice | `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [< Eliom_services.suff ] as 'b, 'c, unit,
                      [< `Registrable ])
                     Eliom_services.service ->
            post_params:('d, [ `WithoutSuffix ], 'e)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
            ('a, 'd,
             [> `Attached of
                  [> `Internal of [ `Coservice | `Service ] * [> `Post ] ]
                  Eliom_services.a_s ],
             'b, 'c, 'e, [> `Registrable ])
            Eliom_services.service
          val register_new_post_coservice :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?csrf_session_name:string ->
            ?csrf_secure_session:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            fallback:('a, unit,
                      [ `Attached of
                          [ `Internal of
                              [< `Coservice | `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [< Eliom_services.suff ] as 'b, 'c, unit,
                      [< `Registrable ])
                     Eliom_services.service ->
            post_params:('d, [ `WithoutSuffix ], 'e)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
            ('a, 'd,
             [> `Attached of
                  [> `Internal of [> `Coservice ] * [> `Post ] ]
                  Eliom_services.a_s ],
             'b, 'c, 'e, [> `Registrable ])
            Eliom_services.service
          val register_new_post_coservice' :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?csrf_session_name:string ->
            ?csrf_secure_session:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?keep_get_na_params:bool ->
            ?https:bool ->
            post_params:('a, [ `WithoutSuffix ], 'b)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> unit -> '-> page Lwt.t) ->
            (unit, 'a, [> `Nonattached of [> `Post ] Eliom_services.na_s ],
             [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
            Eliom_services.service
          val register_new_post_coservice_for_session :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            fallback:('a, unit,
                      [ `Attached of
                          [ `Internal of
                              [< `Coservice | `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [< Eliom_services.suff ] as 'b, 'c, unit,
                      [ `Registrable ])
                     Eliom_services.service ->
            post_params:('d, [ `WithoutSuffix ], 'e)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
            ('a, 'd,
             [> `Attached of
                  [> `Internal of [> `Coservice ] * [> `Post ] ]
                  Eliom_services.a_s ],
             'b, 'c, 'e, [> `Registrable ])
            Eliom_services.service
          val register_new_post_coservice_for_session' :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?keep_get_na_params:bool ->
            ?https:bool ->
            post_params:('a, [ `WithoutSuffix ], 'b)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> unit -> '-> page Lwt.t) ->
            (unit, 'a, [> `Nonattached of [> `Post ] Eliom_services.na_s ],
             [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
            Eliom_services.service
        end
      type form_content_elt = Xhtmltypes_duce.form_content
      type form_content_elt_list = {{form_contents}}
      type form_elt = Xhtmltypes_duce.form
      type a_content_elt = Xhtmltypes_duce.a_content
      type a_content_elt_list = {{a_contents}}
      type a_elt = Xhtmltypes_duce.a
      type a_elt_list = {{Eliom_duce.Blocks.a_elt_list}}
      type div_content_elt = Xhtmltypes_duce.div_content
      type div_content_elt_list = Xhtmltypes_duce.flows
      type uri = string
      type link_elt = Xhtmltypes_duce.link
      type script_elt = Xhtmltypes_duce.script
      type textarea_elt = Xhtmltypes_duce.textarea
      type input_elt = Xhtmltypes_duce.input
      type pcdata_elt = {{String}}
      type select_elt = Xhtmltypes_duce.select
      type select_content_elt = Xhtmltypes_duce.select_content
      type select_content_elt_list =
          {{Eliom_duce.Blocks.select_content_elt_list}}
      type option_elt = Xhtmltypes_duce.option
      type option_elt_list = {{Eliom_duce.Blocks.option_elt_list}}
      type button_elt = Xhtmltypes_duce.button
      type button_content_elt = Xhtmltypes_duce.button_content
      type button_content_elt_list = {{button_contents}}
      type a_attrib_t = Xhtmltypes_duce.a_attrs
      type form_attrib_t = {{Eliom_duce.Blocks.form_attrib_t}}
      type input_attrib_t = Xhtmltypes_duce.input_attrs
      type textarea_attrib_t = {{Eliom_duce.Blocks.textarea_attrib_t}}
      type select_attrib_t = Xhtmltypes_duce.select_attrs
      type link_attrib_t = Xhtmltypes_duce.link_attrs
      type script_attrib_t = {{Eliom_duce.Blocks.script_attrib_t}}
      type optgroup_attrib_t = {{Eliom_duce.Blocks.optgroup_attrib_t}}
      type option_attrib_t = Xhtmltypes_duce.option_attrs
      type button_attrib_t = Xhtmltypes_duce.button_attrs
      type input_type_t = Xhtmltypes_duce.input_type_values
      type button_type_t = Xhtmltypes_duce.button_type_values
      val make_string_uri :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set -> '-> string
      val make_uri :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set -> '-> uri
      val make_uri_components :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        '-> string * (string * string) list * string option
      val make_post_uri_components :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ?keep_get_na_params:bool ->
        '->
        '->
        string * (string * string) list * string option *
        (string * string) list
      val make_proto_prefix :
        sp:Eliom_sessions.server_params ->
        ?hostname:string -> ?port:int -> bool -> string
      val a :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:a_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        a_content_elt_list -> '-> a_elt
      val css_link : ?a:link_attrib_t -> uri:uri -> unit -> link_elt
      val js_script : ?a:script_attrib_t -> uri:uri -> unit -> script_elt
      val get_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list) -> form_elt
      val lwt_get_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list Lwt.t) -> form_elt Lwt.t
      val post_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?keep_get_na_params:bool ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list) -> '-> form_elt
      val lwt_post_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?keep_get_na_params:bool ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list Lwt.t) -> '-> form_elt Lwt.t
      val int_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int -> unit -> input_elt
      val int32_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int32 Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int32 -> unit -> input_elt
      val int64_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int64 Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int64 -> unit -> input_elt
      val float_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< float Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:float -> unit -> input_elt
      val string_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< string Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:string -> unit -> input_elt
      val user_type_input :
        ('-> string) ->
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< 'Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:'-> unit -> input_elt
      val raw_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:string -> ?value:string -> unit -> input_elt
      val file_input :
        ?a:input_attrib_t ->
        name:[< Ocsigen_lib.file_info Eliom_parameters.setoneradio ]
             Eliom_parameters.param_name ->
        unit -> input_elt
      val image_input :
        ?a:input_attrib_t ->
        name:[< Eliom_parameters.coordinates Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        ?src:uri -> unit -> input_elt
      val int_image_input :
        ?a:input_attrib_t ->
        name:[< (int * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int -> ?src:uri -> unit -> input_elt
      val int32_image_input :
        ?a:input_attrib_t ->
        name:[< (int32 * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int32 -> ?src:uri -> unit -> input_elt
      val int64_image_input :
        ?a:input_attrib_t ->
        name:[< (int64 * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int64 -> ?src:uri -> unit -> input_elt
      val float_image_input :
        ?a:input_attrib_t ->
        name:[< (float * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:float -> ?src:uri -> unit -> input_elt
      val string_image_input :
        ?a:input_attrib_t ->
        name:[< (string * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:string -> ?src:uri -> unit -> input_elt
      val user_type_image_input :
        ('-> string) ->
        ?a:input_attrib_t ->
        name:[< ('a * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:'-> ?src:uri -> unit -> input_elt
      val raw_image_input :
        ?a:input_attrib_t ->
        name:string -> value:string -> ?src:uri -> unit -> input_elt
      val bool_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `One of bool ] Eliom_parameters.param_name ->
        unit -> input_elt
      val int_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int ] Eliom_parameters.param_name ->
        value:int -> unit -> input_elt
      val int32_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int32 ] Eliom_parameters.param_name ->
        value:int32 -> unit -> input_elt
      val int64_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int64 ] Eliom_parameters.param_name ->
        value:int64 -> unit -> input_elt
      val float_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of float ] Eliom_parameters.param_name ->
        value:float -> unit -> input_elt
      val string_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of string ] Eliom_parameters.param_name ->
        value:string -> unit -> input_elt
      val user_type_checkbox :
        ('-> string) ->
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of 'a ] Eliom_parameters.param_name ->
        value:'-> unit -> input_elt
      val raw_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool -> name:string -> value:string -> unit -> input_elt
      val string_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of string ] Eliom_parameters.param_name ->
        value:string -> unit -> input_elt
      val int_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int ] Eliom_parameters.param_name ->
        value:int -> unit -> input_elt
      val int32_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int32 ] Eliom_parameters.param_name ->
        value:int32 -> unit -> input_elt
      val int64_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int64 ] Eliom_parameters.param_name ->
        value:int64 -> unit -> input_elt
      val float_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of float ] Eliom_parameters.param_name ->
        value:float -> unit -> input_elt
      val user_type_radio :
        ('-> string) ->
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of 'a ] Eliom_parameters.param_name ->
        value:'-> unit -> input_elt
      val raw_radio :
        ?a:input_attrib_t ->
        ?checked:bool -> name:string -> value:string -> unit -> input_elt
      val string_button :
        ?a:button_attrib_t ->
        name:[< string Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:string -> button_content_elt_list -> button_elt
      val int_button :
        ?a:button_attrib_t ->
        name:[< int Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int -> button_content_elt_list -> button_elt
      val int32_button :
        ?a:button_attrib_t ->
        name:[< int32 Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int32 -> button_content_elt_list -> button_elt
      val int64_button :
        ?a:button_attrib_t ->
        name:[< int64 Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int64 -> button_content_elt_list -> button_elt
      val float_button :
        ?a:button_attrib_t ->
        name:[< float Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:float -> button_content_elt_list -> button_elt
      val user_type_button :
        ('-> string) ->
        ?a:button_attrib_t ->
        name:[< 'Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:'-> button_content_elt_list -> button_elt
      val raw_button :
        ?a:button_attrib_t ->
        button_type:button_type_t ->
        name:string -> value:string -> button_content_elt_list -> button_elt
      val button :
        ?a:button_attrib_t ->
        button_type:button_type_t -> button_content_elt_list -> button_elt
      val textarea :
        ?a:textarea_attrib_t ->
        name:[< string Eliom_parameters.setoneradio ]
             Eliom_parameters.param_name ->
        ?value:string -> rows:int -> cols:int -> unit -> textarea_elt
      val raw_textarea :
        ?a:textarea_attrib_t ->
        name:string ->
        ?value:string -> rows:int -> cols:int -> unit -> textarea_elt
      type 'a soption = option_attrib_t * 'a * pcdata_elt option * bool
      type 'a select_opt =
          Optgroup of optgroup_attrib_t * string * 'a soption *
            'a soption list
        | Option of 'a soption
      val raw_select :
        ?a:select_attrib_t ->
        name:string ->
        string select_opt -> string select_opt list -> select_elt
      val int_select :
        ?a:select_attrib_t ->
        name:[< `One of int ] Eliom_parameters.param_name ->
        int select_opt -> int select_opt list -> select_elt
      val int32_select :
        ?a:select_attrib_t ->
        name:[< `One of int32 ] Eliom_parameters.param_name ->
        int32 select_opt -> int32 select_opt list -> select_elt
      val int64_select :
        ?a:select_attrib_t ->
        name:[< `One of int64 ] Eliom_parameters.param_name ->
        int64 select_opt -> int64 select_opt list -> select_elt
      val float_select :
        ?a:select_attrib_t ->
        name:[< `One of float ] Eliom_parameters.param_name ->
        float select_opt -> float select_opt list -> select_elt
      val string_select :
        ?a:select_attrib_t ->
        name:[< `One of string ] Eliom_parameters.param_name ->
        string select_opt -> string select_opt list -> select_elt
      val user_type_select :
        ('-> string) ->
        ?a:select_attrib_t ->
        name:[< `One of 'a ] Eliom_parameters.param_name ->
        'a select_opt -> 'a select_opt list -> select_elt
      val raw_multiple_select :
        ?a:select_attrib_t ->
        name:string ->
        string select_opt -> string select_opt list -> select_elt
      val int_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int ] Eliom_parameters.param_name ->
        int select_opt -> int select_opt list -> select_elt
      val int32_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int32 ] Eliom_parameters.param_name ->
        int32 select_opt -> int32 select_opt list -> select_elt
      val int64_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int64 ] Eliom_parameters.param_name ->
        int64 select_opt -> int64 select_opt list -> select_elt
      val float_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of float ] Eliom_parameters.param_name ->
        float select_opt -> float select_opt list -> select_elt
      val string_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of string ] Eliom_parameters.param_name ->
        string select_opt -> string select_opt list -> select_elt
      val user_type_multiple_select :
        ('-> string) ->
        ?a:select_attrib_t ->
        name:[< `Set of 'a ] Eliom_parameters.param_name ->
        'a select_opt -> 'a select_opt list -> select_elt
    end
  module Xhtml :
    sig
      type page = Xhtmltypes_duce.html
      type options = unit
      val send :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        sp:Eliom_sessions.server_params ->
        page -> Ocsigen_http_frame.result Lwt.t
      val register :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        service:('a, 'b, [< Eliom_services.internal_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                Eliom_services.service ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
      val register_for_session :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        service:('a, 'b, [< Eliom_services.internal_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                Eliom_services.service ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
      val register_new_service :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?https:bool ->
        path:Ocsigen_lib.url_path ->
        get_params:('a, [< Eliom_services.suff ] as 'b, 'c)
                   Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Service ] * [> `Get ] ] Eliom_services.a_s ],
         'b, 'c, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:(unit, unit,
                  [ `Attached of
                      [ `Internal of [ `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [ `WithoutSuffix ], unit, unit,
                  [< Eliom_services.registrable ])
                 Eliom_services.service ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Get ] ]
              Eliom_services.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice_for_session :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:(unit, unit,
                  [ `Attached of
                      [ `Internal of [ `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [ `WithoutSuffix ], unit, unit,
                  [< Eliom_services.registrable ])
                 Eliom_services.service ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Get ] ]
              Eliom_services.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice_for_session' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_post_service :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?https:bool ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [ `Coservice | `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [< Eliom_services.suff ] as 'b, 'c, unit,
                  [< `Registrable ])
                 Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [ `Coservice | `Service ] * [> `Post ] ]
              Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [< Eliom_services.suff ] as 'b, 'c, unit,
                  [< `Registrable ])
                 Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Post ] ]
              Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?keep_get_na_params:bool ->
        ?https:bool ->
        post_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> unit -> '-> page Lwt.t) ->
        (unit, 'a, [> `Nonattached of [> `Post ] Eliom_services.na_s ],
         [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice_for_session :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [< Eliom_services.suff ] as 'b, 'c, unit, [ `Registrable ])
                 Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Post ] ]
              Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice_for_session' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?keep_get_na_params:bool ->
        ?https:bool ->
        post_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> unit -> '-> page Lwt.t) ->
        (unit, 'a, [> `Nonattached of [> `Post ] Eliom_services.na_s ],
         [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
        Eliom_services.service
      module Cookies :
        sig
          type page = page * Eliom_services.cookie list
          type options
          val send :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            sp:Eliom_sessions.server_params ->
            page -> Ocsigen_http_frame.result Lwt.t
          val register :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            service:('a, 'b, [< Eliom_services.internal_service_kind ],
                     [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                    Eliom_services.service ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
          val register_for_session :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            service:('a, 'b, [< Eliom_services.internal_service_kind ],
                     [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                    Eliom_services.service ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
          val register_new_service :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?https:bool ->
            path:Ocsigen_lib.url_path ->
            get_params:('a, [< Eliom_services.suff ] as 'b, 'c)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit,
             [> `Attached of
                  [> `Internal of [> `Service ] * [> `Get ] ]
                  Eliom_services.a_s ],
             'b, 'c, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_coservice :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?csrf_session_name:string ->
            ?csrf_secure_session:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            fallback:(unit, unit,
                      [ `Attached of
                          [ `Internal of [ `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [ `WithoutSuffix ], unit, unit,
                      [< Eliom_services.registrable ])
                     Eliom_services.service ->
            get_params:('a, [ `WithoutSuffix ], 'b)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit,
             [> `Attached of
                  [> `Internal of [> `Coservice ] * [> `Get ] ]
                  Eliom_services.a_s ],
             [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_coservice' :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?csrf_session_name:string ->
            ?csrf_secure_session:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            get_params:('a, [ `WithoutSuffix ], 'b)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
             [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_coservice_for_session :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            fallback:(unit, unit,
                      [ `Attached of
                          [ `Internal of [ `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [ `WithoutSuffix ], unit, unit,
                      [< Eliom_services.registrable ])
                     Eliom_services.service ->
            get_params:('a, [ `WithoutSuffix ], 'b)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit,
             [> `Attached of
                  [> `Internal of [> `Coservice ] * [> `Get ] ]
                  Eliom_services.a_s ],
             [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_coservice_for_session' :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            get_params:('a, [ `WithoutSuffix ], 'b)
                       Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
            ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
             [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
            Eliom_services.service
          val register_new_post_service :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?https:bool ->
            fallback:('a, unit,
                      [ `Attached of
                          [ `Internal of [ `Coservice | `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [< Eliom_services.suff ] as 'b, 'c, unit,
                      [< `Registrable ])
                     Eliom_services.service ->
            post_params:('d, [ `WithoutSuffix ], 'e)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
            ('a, 'd,
             [> `Attached of
                  [> `Internal of [ `Coservice | `Service ] * [> `Post ] ]
                  Eliom_services.a_s ],
             'b, 'c, 'e, [> `Registrable ])
            Eliom_services.service
          val register_new_post_coservice :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?csrf_session_name:string ->
            ?csrf_secure_session:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            fallback:('a, unit,
                      [ `Attached of
                          [ `Internal of
                              [< `Coservice | `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [< Eliom_services.suff ] as 'b, 'c, unit,
                      [< `Registrable ])
                     Eliom_services.service ->
            post_params:('d, [ `WithoutSuffix ], 'e)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
            ('a, 'd,
             [> `Attached of
                  [> `Internal of [> `Coservice ] * [> `Post ] ]
                  Eliom_services.a_s ],
             'b, 'c, 'e, [> `Registrable ])
            Eliom_services.service
          val register_new_post_coservice' :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?csrf_session_name:string ->
            ?csrf_secure_session:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?keep_get_na_params:bool ->
            ?https:bool ->
            post_params:('a, [ `WithoutSuffix ], 'b)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> unit -> '-> page Lwt.t) ->
            (unit, 'a, [> `Nonattached of [> `Post ] Eliom_services.na_s ],
             [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
            Eliom_services.service
          val register_new_post_coservice_for_session :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?https:bool ->
            fallback:('a, unit,
                      [ `Attached of
                          [ `Internal of
                              [< `Coservice | `Service ] * [ `Get ] ]
                          Eliom_services.a_s ],
                      [< Eliom_services.suff ] as 'b, 'c, unit,
                      [ `Registrable ])
                     Eliom_services.service ->
            post_params:('d, [ `WithoutSuffix ], 'e)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
            ('a, 'd,
             [> `Attached of
                  [> `Internal of [> `Coservice ] * [> `Post ] ]
                  Eliom_services.a_s ],
             'b, 'c, 'e, [> `Registrable ])
            Eliom_services.service
          val register_new_post_coservice_for_session' :
            ?options:options ->
            ?cookies:Eliom_services.cookie list ->
            ?charset:string ->
            ?code:int ->
            ?content_type:string ->
            ?headers:Http_headers.t ->
            ?session_name:string ->
            ?secure:bool ->
            sp:Eliom_sessions.server_params ->
            ?name:string ->
            ?csrf_safe:bool ->
            ?max_use:int ->
            ?timeout:float ->
            ?keep_get_na_params:bool ->
            ?https:bool ->
            post_params:('a, [ `WithoutSuffix ], 'b)
                        Eliom_parameters.params_type ->
            ?error_handler:(Eliom_sessions.server_params ->
                            (string * exn) list -> page Lwt.t) ->
            (Eliom_sessions.server_params -> unit -> '-> page Lwt.t) ->
            (unit, 'a, [> `Nonattached of [> `Post ] Eliom_services.na_s ],
             [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
            Eliom_services.service
        end
      type form_content_elt = Xhtmltypes_duce.form_content
      type form_content_elt_list = {{form_contents}}
      type form_elt = Xhtmltypes_duce.form
      type a_content_elt = Xhtmltypes_duce.a_content
      type a_content_elt_list = {{a_contents}}
      type a_elt = Xhtmltypes_duce.a
      type a_elt_list = {{Eliom_duce.Blocks.a_elt_list}}
      type div_content_elt = Xhtmltypes_duce.div_content
      type div_content_elt_list = Xhtmltypes_duce.flows
      type uri = string
      type link_elt = Xhtmltypes_duce.link
      type script_elt = Xhtmltypes_duce.script
      type textarea_elt = Xhtmltypes_duce.textarea
      type input_elt = Xhtmltypes_duce.input
      type pcdata_elt = {{String}}
      type select_elt = Xhtmltypes_duce.select
      type select_content_elt = Xhtmltypes_duce.select_content
      type select_content_elt_list =
          {{Eliom_duce.Blocks.select_content_elt_list}}
      type option_elt = Xhtmltypes_duce.option
      type option_elt_list = {{Eliom_duce.Blocks.option_elt_list}}
      type button_elt = Xhtmltypes_duce.button
      type button_content_elt = Xhtmltypes_duce.button_content
      type button_content_elt_list = {{button_contents}}
      type a_attrib_t = Xhtmltypes_duce.a_attrs
      type form_attrib_t = {{Eliom_duce.Blocks.form_attrib_t}}
      type input_attrib_t = Xhtmltypes_duce.input_attrs
      type textarea_attrib_t = {{Eliom_duce.Blocks.textarea_attrib_t}}
      type select_attrib_t = Xhtmltypes_duce.select_attrs
      type link_attrib_t = Xhtmltypes_duce.link_attrs
      type script_attrib_t = {{Eliom_duce.Blocks.script_attrib_t}}
      type optgroup_attrib_t = {{Eliom_duce.Blocks.optgroup_attrib_t}}
      type option_attrib_t = Xhtmltypes_duce.option_attrs
      type button_attrib_t = Xhtmltypes_duce.button_attrs
      type input_type_t = Xhtmltypes_duce.input_type_values
      type button_type_t = Xhtmltypes_duce.button_type_values
      val make_string_uri :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set -> '-> string
      val make_uri :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set -> '-> uri
      val make_uri_components :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, unit,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        '-> string * (string * string) list * string option
      val make_post_uri_components :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ?keep_get_na_params:bool ->
        '->
        '->
        string * (string * string) list * string option *
        (string * string) list
      val make_proto_prefix :
        sp:Eliom_sessions.server_params ->
        ?hostname:string -> ?port:int -> bool -> string
      val a :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:a_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        a_content_elt_list -> '-> a_elt
      val css_link : ?a:link_attrib_t -> uri:uri -> unit -> link_elt
      val js_script : ?a:script_attrib_t -> uri:uri -> unit -> script_elt
      val get_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list) -> form_elt
      val lwt_get_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, unit, [< Eliom_services.get_service_kind ],
                 [< Eliom_services.suff ], 'b, 'c,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list Lwt.t) -> form_elt Lwt.t
      val post_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?keep_get_na_params:bool ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list) -> '-> form_elt
      val lwt_post_form :
        ?absolute:bool ->
        ?absolute_path:bool ->
        ?https:bool ->
        ?a:form_attrib_t ->
        service:('a, 'b, [< Eliom_services.post_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd,
                 [< Eliom_services.registrable ])
                Eliom_services.service ->
        sp:Eliom_sessions.server_params ->
        ?hostname:string ->
        ?port:int ->
        ?fragment:string ->
        ?keep_nl_params:[ `All | `None | `Persistent ] ->
        ?keep_get_na_params:bool ->
        ?nl_params:Eliom_parameters.nl_params_set ->
        ('-> form_content_elt_list Lwt.t) -> '-> form_elt Lwt.t
      val int_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int -> unit -> input_elt
      val int32_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int32 Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int32 -> unit -> input_elt
      val int64_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< int64 Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:int64 -> unit -> input_elt
      val float_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< float Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:float -> unit -> input_elt
      val string_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< string Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:string -> unit -> input_elt
      val user_type_input :
        ('-> string) ->
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:[< 'Eliom_parameters.setoneradio ]
              Eliom_parameters.param_name ->
        ?value:'-> unit -> input_elt
      val raw_input :
        ?a:input_attrib_t ->
        input_type:input_type_t ->
        ?name:string -> ?value:string -> unit -> input_elt
      val file_input :
        ?a:input_attrib_t ->
        name:[< Ocsigen_lib.file_info Eliom_parameters.setoneradio ]
             Eliom_parameters.param_name ->
        unit -> input_elt
      val image_input :
        ?a:input_attrib_t ->
        name:[< Eliom_parameters.coordinates Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        ?src:uri -> unit -> input_elt
      val int_image_input :
        ?a:input_attrib_t ->
        name:[< (int * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int -> ?src:uri -> unit -> input_elt
      val int32_image_input :
        ?a:input_attrib_t ->
        name:[< (int32 * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int32 -> ?src:uri -> unit -> input_elt
      val int64_image_input :
        ?a:input_attrib_t ->
        name:[< (int64 * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:int64 -> ?src:uri -> unit -> input_elt
      val float_image_input :
        ?a:input_attrib_t ->
        name:[< (float * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:float -> ?src:uri -> unit -> input_elt
      val string_image_input :
        ?a:input_attrib_t ->
        name:[< (string * Eliom_parameters.coordinates)
                Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:string -> ?src:uri -> unit -> input_elt
      val user_type_image_input :
        ('-> string) ->
        ?a:input_attrib_t ->
        name:[< ('a * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
             Eliom_parameters.param_name ->
        value:'-> ?src:uri -> unit -> input_elt
      val raw_image_input :
        ?a:input_attrib_t ->
        name:string -> value:string -> ?src:uri -> unit -> input_elt
      val bool_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `One of bool ] Eliom_parameters.param_name ->
        unit -> input_elt
      val int_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int ] Eliom_parameters.param_name ->
        value:int -> unit -> input_elt
      val int32_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int32 ] Eliom_parameters.param_name ->
        value:int32 -> unit -> input_elt
      val int64_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of int64 ] Eliom_parameters.param_name ->
        value:int64 -> unit -> input_elt
      val float_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of float ] Eliom_parameters.param_name ->
        value:float -> unit -> input_elt
      val string_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of string ] Eliom_parameters.param_name ->
        value:string -> unit -> input_elt
      val user_type_checkbox :
        ('-> string) ->
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Set of 'a ] Eliom_parameters.param_name ->
        value:'-> unit -> input_elt
      val raw_checkbox :
        ?a:input_attrib_t ->
        ?checked:bool -> name:string -> value:string -> unit -> input_elt
      val string_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of string ] Eliom_parameters.param_name ->
        value:string -> unit -> input_elt
      val int_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int ] Eliom_parameters.param_name ->
        value:int -> unit -> input_elt
      val int32_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int32 ] Eliom_parameters.param_name ->
        value:int32 -> unit -> input_elt
      val int64_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of int64 ] Eliom_parameters.param_name ->
        value:int64 -> unit -> input_elt
      val float_radio :
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of float ] Eliom_parameters.param_name ->
        value:float -> unit -> input_elt
      val user_type_radio :
        ('-> string) ->
        ?a:input_attrib_t ->
        ?checked:bool ->
        name:[ `Radio of 'a ] Eliom_parameters.param_name ->
        value:'-> unit -> input_elt
      val raw_radio :
        ?a:input_attrib_t ->
        ?checked:bool -> name:string -> value:string -> unit -> input_elt
      val string_button :
        ?a:button_attrib_t ->
        name:[< string Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:string -> button_content_elt_list -> button_elt
      val int_button :
        ?a:button_attrib_t ->
        name:[< int Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int -> button_content_elt_list -> button_elt
      val int32_button :
        ?a:button_attrib_t ->
        name:[< int32 Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int32 -> button_content_elt_list -> button_elt
      val int64_button :
        ?a:button_attrib_t ->
        name:[< int64 Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:int64 -> button_content_elt_list -> button_elt
      val float_button :
        ?a:button_attrib_t ->
        name:[< float Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:float -> button_content_elt_list -> button_elt
      val user_type_button :
        ('-> string) ->
        ?a:button_attrib_t ->
        name:[< 'Eliom_parameters.setone ] Eliom_parameters.param_name ->
        value:'-> button_content_elt_list -> button_elt
      val raw_button :
        ?a:button_attrib_t ->
        button_type:button_type_t ->
        name:string -> value:string -> button_content_elt_list -> button_elt
      val button :
        ?a:button_attrib_t ->
        button_type:button_type_t -> button_content_elt_list -> button_elt
      val textarea :
        ?a:textarea_attrib_t ->
        name:[< string Eliom_parameters.setoneradio ]
             Eliom_parameters.param_name ->
        ?value:string -> rows:int -> cols:int -> unit -> textarea_elt
      val raw_textarea :
        ?a:textarea_attrib_t ->
        name:string ->
        ?value:string -> rows:int -> cols:int -> unit -> textarea_elt
      type 'a soption = option_attrib_t * 'a * pcdata_elt option * bool
      type 'a select_opt =
          Optgroup of optgroup_attrib_t * string * 'a soption *
            'a soption list
        | Option of 'a soption
      val raw_select :
        ?a:select_attrib_t ->
        name:string ->
        string select_opt -> string select_opt list -> select_elt
      val int_select :
        ?a:select_attrib_t ->
        name:[< `One of int ] Eliom_parameters.param_name ->
        int select_opt -> int select_opt list -> select_elt
      val int32_select :
        ?a:select_attrib_t ->
        name:[< `One of int32 ] Eliom_parameters.param_name ->
        int32 select_opt -> int32 select_opt list -> select_elt
      val int64_select :
        ?a:select_attrib_t ->
        name:[< `One of int64 ] Eliom_parameters.param_name ->
        int64 select_opt -> int64 select_opt list -> select_elt
      val float_select :
        ?a:select_attrib_t ->
        name:[< `One of float ] Eliom_parameters.param_name ->
        float select_opt -> float select_opt list -> select_elt
      val string_select :
        ?a:select_attrib_t ->
        name:[< `One of string ] Eliom_parameters.param_name ->
        string select_opt -> string select_opt list -> select_elt
      val user_type_select :
        ('-> string) ->
        ?a:select_attrib_t ->
        name:[< `One of 'a ] Eliom_parameters.param_name ->
        'a select_opt -> 'a select_opt list -> select_elt
      val raw_multiple_select :
        ?a:select_attrib_t ->
        name:string ->
        string select_opt -> string select_opt list -> select_elt
      val int_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int ] Eliom_parameters.param_name ->
        int select_opt -> int select_opt list -> select_elt
      val int32_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int32 ] Eliom_parameters.param_name ->
        int32 select_opt -> int32 select_opt list -> select_elt
      val int64_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of int64 ] Eliom_parameters.param_name ->
        int64 select_opt -> int64 select_opt list -> select_elt
      val float_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of float ] Eliom_parameters.param_name ->
        float select_opt -> float select_opt list -> select_elt
      val string_multiple_select :
        ?a:select_attrib_t ->
        name:[< `Set of string ] Eliom_parameters.param_name ->
        string select_opt -> string select_opt list -> select_elt
      val user_type_multiple_select :
        ('-> string) ->
        ?a:select_attrib_t ->
        name:[< `Set of 'a ] Eliom_parameters.param_name ->
        'a select_opt -> 'a select_opt list -> select_elt
    end
  module Xhtmlforms : XhtmlFormsSig
  module Xml :
    sig
      type page = Ocamlduce.Load.anyxml
      type options = unit
      val send :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        sp:Eliom_sessions.server_params ->
        page -> Ocsigen_http_frame.result Lwt.t
      val register :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        service:('a, 'b, [< Eliom_services.internal_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                Eliom_services.service ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
      val register_for_session :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        service:('a, 'b, [< Eliom_services.internal_service_kind ],
                 [< Eliom_services.suff ], 'c, 'd, [ `Registrable ])
                Eliom_services.service ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) -> unit
      val register_new_service :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?https:bool ->
        path:Ocsigen_lib.url_path ->
        get_params:('a, [< Eliom_services.suff ] as 'b, 'c)
                   Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Service ] * [> `Get ] ] Eliom_services.a_s ],
         'b, 'c, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:(unit, unit,
                  [ `Attached of
                      [ `Internal of [ `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [ `WithoutSuffix ], unit, unit,
                  [< Eliom_services.registrable ])
                 Eliom_services.service ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Get ] ]
              Eliom_services.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice_for_session :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:(unit, unit,
                  [ `Attached of
                      [ `Internal of [ `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [ `WithoutSuffix ], unit, unit,
                  [< Eliom_services.registrable ])
                 Eliom_services.service ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Get ] ]
              Eliom_services.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_coservice_for_session' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?session_name:string ->
        ?secure:bool ->
        sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit, [> `Nonattached of [> `Get ] Eliom_services.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliom_services.service
      val register_new_post_service :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?https:bool ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [ `Coservice | `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [< Eliom_services.suff ] as 'b, 'c, unit,
                  [< `Registrable ])
                 Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [ `Coservice | `Service ] * [> `Post ] ]
              Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
        ?csrf_session_name:string ->
        ?csrf_secure_session:bool ->
        ?max_use:int ->
        ?timeout:float ->
        ?https:bool ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                      Eliom_services.a_s ],
                  [< Eliom_services.suff ] as 'b, 'c, unit,
                  [< `Registrable ])
                 Eliom_services.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliom_parameters.params_type ->
        ?error_handler:(Eliom_sessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliom_sessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Post ] ]
              Eliom_services.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliom_services.service
      val register_new_post_coservice' :
        ?options:options ->
        ?cookies:Eliom_services.cookie list ->
        ?charset:string ->
        ?code:int ->
        ?content_type:string ->
        ?headers:Http_headers.t ->
        ?sp:Eliom_sessions.server_params ->
        ?name:string ->
        ?csrf_safe:bool ->
       &n