blob: 42f87b683d011f601eace4e189cd55bdcca39211 (
plain)
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
|
(*
* Copyright (C) 2006-2007 XenSource Ltd.
* Copyright (C) 2008 Citrix Ltd.
* Author Vincent Hanquez <vincent.hanquez@eu.citrix.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; version 2.1 only. with the special
* exception on linking described in file LICENSE.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*)
exception Partial_not_empty
exception Unexpected_packet of string
exception Invalid_path of string
val unexpected_packet : Xb.Op.operation -> Xb.Op.operation -> 'a
type con = { xb : Xb.t; watchevents : (string * string) Queue.t; }
val close : con -> unit
val open_fd : Unix.file_descr -> con
val split_string : ?limit:int -> char -> string -> string list
type perm = PERM_NONE | PERM_READ | PERM_WRITE | PERM_RDWR
type perms = int * perm * (int * perm) list
val string_of_perms : int * perm * (int * perm) list -> string
val perms_of_string : string -> int * perm * (int * perm) list
val pkt_send : con -> unit
val pkt_recv : con -> Xb.Packet.t
val pkt_recv_timeout : con -> float -> bool * Xb.Packet.t option
val queue_watchevent : con -> string -> unit
val has_watchevents : con -> bool
val get_watchevent : con -> string * string
val read_watchevent : con -> string * string
val sync_recv : Xb.Op.operation -> con -> string
val sync : (Xb.t -> 'a) -> con -> string
val ack : string -> unit
val validate_path : string -> unit
val validate_watch_path : string -> unit
val directory : int -> string -> con -> string list
val debug : string list -> con -> string
val read : int -> string -> con -> string
val readv : int -> string -> string list -> con -> string list
val getperms : int -> string -> con -> int * perm * (int * perm) list
val watch : string -> string -> con -> unit
val unwatch : string -> string -> con -> unit
val transaction_start : con -> int
val transaction_end : int -> bool -> con -> bool
val introduce : int -> nativeint -> int -> con -> unit
val release : int -> con -> unit
val resume : int -> con -> unit
val getdomainpath : int -> con -> string
val write : int -> string -> string -> con -> unit
val writev : int -> string -> (string * string) list -> con -> unit
val mkdir : int -> string -> con -> unit
val rm : int -> string -> con -> unit
val setperms : int -> string -> int * perm * (int * perm) list -> con -> unit
val setpermsv :
int ->
string -> string list -> int * perm * (int * perm) list -> con -> unit
|