Add test target for figfs_test.
[figfs.git] / fuse / Fuse.mli
blobcb2298616635186d6680da5d88e07c8126ab8217
1 (*
2 This file is part of the "OCamlFuse" library.
4 OCamlFuse is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation (version 2 of the License).
8 OCamlFuse is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with OCamlFuse. See the file LICENSE. If you haven't received
15 a copy of the GNU General Public License, write to:
17 Free Software Foundation, Inc.,
18 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA
21 Vincenzo Ciancia
23 applejack@users.sf.net
24 vincenzo_ml@yahoo.it
27 type buffer = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
28 type context = Fuse_bindings.__fuse_context
29 val get_context : unit -> context
30 type xattr_flags = AUTO | CREATE | REPLACE
31 type statfs = {
32 f_bsize : int64;
33 f_blocks : int64;
34 f_bfree : int64;
35 f_bavail : int64;
36 f_files : int64;
37 f_ffree : int64;
38 f_namelen : int64;
40 type operations = {
41 getattr : string -> Unix.LargeFile.stats;
42 readlink : string -> string;
43 readdir : string -> int -> string list;
44 opendir : string -> Unix.open_flag list -> int option;
45 releasedir : string -> Unix.open_flag list -> int -> unit;
46 fsyncdir : string -> bool -> int -> unit;
47 mknod : string -> int -> unit;
48 mkdir : string -> int -> unit;
49 unlink : string -> unit;
50 rmdir : string -> unit;
51 symlink : string -> string -> unit;
52 rename : string -> string -> unit;
53 link : string -> string -> unit;
54 chmod : string -> int -> unit;
55 chown : string -> int -> int -> unit;
56 truncate : string -> int64 -> unit;
57 utime : string -> float -> float -> unit;
58 fopen : string -> Unix.open_flag list -> int option;
59 read : string -> buffer -> int64 -> int -> int;
60 write : string -> buffer -> int64 -> int -> int;
61 release : string -> Unix.open_flag list -> int -> unit;
62 flush : string -> int -> unit;
63 statfs : string -> statfs;
64 fsync : string -> bool -> int -> unit;
65 listxattr : string -> string list;
66 getxattr : string -> string -> string;
67 setxattr : string -> string -> string -> xattr_flags -> unit;
68 removexattr : string -> string -> unit;
70 val op_names_of_operations : operations -> Fuse_bindings.fuse_operation_names
71 val default_operations : operations
72 val main : Fuse_bindings.str array -> operations -> unit