File: http_client_aux.mli

package info (click to toggle)
netclient 0.3-OCaml3.04-4
  • links: PTS
  • area: main
  • in suites: woody
  • size: 144 kB
  • ctags: 369
  • sloc: ml: 1,639; makefile: 134
file content (91 lines) | stat: -rw-r--r-- 3,261 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
(* $Id: http_client_aux.mli,v 1.1.2.2 2001/12/15 16:15:48 gerd Exp $
 * ----------------------------------------------------------------------
 * Auxiliary functions for which two implementations exist, one which is
 * multi-threading safe, one which is not.
 *)

(* The following functions match strings with a fixed pattern and return
 * the interesting substrings. 
 * Always Not_found is raised if matching fails.
 *)

val match_query : string -> (string * int * string)
val match_status : string -> (string * int * string)
val match_header_line : string -> (string * string)
val match_hex : string -> string
val match_ip : string -> string
val match_http : string -> (string option *
			    string option *
			    string *
			    int *
			    string)

(* Splits a string into pieces separated by a pattern: *)

val split_words_by_commas : string -> string list

(* The Unix system calls that are different in an MT environment: *)

module Unx :
    sig
      val execv : string -> string array -> unit
      val execve : string -> string array -> string array -> unit
      val execvp : string -> string array -> unit
      val wait : unit -> int * Unix.process_status
      val waitpid : Unix.wait_flag list -> int -> int * Unix.process_status
      val system : string -> Unix.process_status
      val read : Unix.file_descr -> string -> int -> int -> int
      val write : Unix.file_descr -> string -> int -> int -> int
      val select :
	  Unix.file_descr list -> Unix.file_descr list ->
	    Unix.file_descr list -> float ->
	      Unix.file_descr list * Unix.file_descr list * Unix.file_descr list
      val pipe : unit -> Unix.file_descr * Unix.file_descr
      val open_process_in: string -> in_channel
      val open_process_out: string -> out_channel
      val open_process: string -> in_channel * out_channel
      val sleep : int -> unit
      val socket : Unix.socket_domain -> Unix.socket_type -> int -> Unix.file_descr
      val socketpair : Unix.socket_domain -> Unix.socket_type -> int ->
	Unix.file_descr * Unix.file_descr
      val accept : Unix.file_descr -> Unix.file_descr * Unix.sockaddr
      val connect : Unix.file_descr -> Unix.sockaddr -> unit
      val recv : Unix.file_descr -> string -> int -> int -> Unix.msg_flag list -> int
      val recvfrom : Unix.file_descr -> string -> int -> int ->
	Unix.msg_flag list -> int * Unix.sockaddr
      val send : Unix.file_descr -> string -> int -> int ->
	Unix.msg_flag list -> int
      val sendto : Unix.file_descr -> string -> int -> int ->
	Unix.msg_flag list -> Unix.sockaddr -> int
      val open_connection : Unix.sockaddr -> in_channel * out_channel
      val establish_server :
	  (in_channel -> out_channel -> unit) -> Unix.sockaddr -> unit
    end

(* Mutexes: *)

module Mtx :
    sig
      type t
      val create: unit -> t
      val lock: t -> unit
      val try_lock: t -> bool
      val unlock: t -> unit
    end


(* ======================================================================
 * History:
 * 
 * $Log: http_client_aux.mli,v $
 * Revision 1.1.2.2  2001/12/15 16:15:48  gerd
 * 	Updates for O'Caml 3.04
 *
 * Revision 1.1.2.1  2000/04/26 17:36:35  gerd
 * 	Upgrade for O'Caml 3.
 *
 * Revision 1.1  1999/07/08 03:00:44  gerd
 * 	Initial revision.
 *
 * 
 *)