fs-api-private.h revision 2766f1de8141c09767a959d2d2c3065c5a300bf0
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
cf63dc8723b971cc80638fccbf494d961cbafc7fTimo Sirainen enum fs_properties (*get_properties)(struct fs *fs);
23878bd03d1de531e3261a25598beec621351910Timo Sirainen struct fs_file *(*file_init)(struct fs *fs, const char *path,
cf63dc8723b971cc80638fccbf494d961cbafc7fTimo Sirainen void (*set_async_callback)(struct fs_file *file,
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen void (*set_metadata)(struct fs_file *file, const char *key,
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen const char *value);
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen bool (*prefetch)(struct fs_file *file, uoff_t length);
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen ssize_t (*read)(struct fs_file *file, void *buf, size_t size);
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen struct istream *(*read_stream)(struct fs_file *file,
a9efdb661eb7a8a33aacfdcc3486dcc675a21543Timo Sirainen int (*write)(struct fs_file *file, const void *data, size_t size);
fab850a6aee4aaef4f4795bd7946807a3ba45041Timo Sirainen int (*write_stream_finish)(struct fs_file *file, bool success);
a6ab8f00351265e35b79f3a22b1f5a4978ae5c35Timo Sirainen int (*lock)(struct fs_file *file, unsigned int secs,
97afa073e3e1e0301dc41173ec34beb08edcce50Timo Sirainen int (*stat)(struct fs_file *file, struct stat *st_r);
97afa073e3e1e0301dc41173ec34beb08edcce50Timo Sirainen int (*copy)(struct fs_file *src, struct fs_file *dest);
94ba4820927b906b333e39445c1508a29387c3aaTimo Sirainen int (*rename)(struct fs_file *src, struct fs_file *dest);
23878bd03d1de531e3261a25598beec621351910Timo Sirainen struct fs_iter *(*iter_init)(struct fs *fs, const char *path);
23878bd03d1de531e3261a25598beec621351910Timo Sirainen const char *(*iter_next)(struct fs_iter *iter);
struct fs_file {
char *path;
struct fs_lock {
struct fs_iter {