forked from yhirokawa-ccs/cbsl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwrapper.v
54 lines (43 loc) · 1.14 KB
/
wrapper.v
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
module cbsl
#flag -I @VMODROOT/include
#flag windows -I @VMODROOT/windows -L @VMODROOT/windows
#flag -lzstd
#flag @VMODROOT/src/buffer.o
#flag @VMODROOT/src/file.o
#flag @VMODROOT/src/flush.o
#flag @VMODROOT/src/read.o
#flag @VMODROOT/src/record.o
#flag @VMODROOT/src/utils.o
#flag @VMODROOT/src/write.o
#include "cbsl.h"
pub enum CBSL_MODE {
cbsl_load_mode = 1
cbsl_store_mode = 2
cbsl_unknown_mode = -1
}
pub enum CBSL_ERRORS {
cbsl_success = 0
cbsl_end = 1
cbsl_error = -1
}
struct C.cbsl_ctx {
}
fn C.cbsl_open(mode CBSL_MODE, filename &char) &C.cbsl_ctx
fn C.cbsl_read(ctx voidptr, data voidptr, size u64) CBSL_ERRORS
fn C.cbsl_write(ctx voidptr, data voidptr, size u64) CBSL_ERRORS
fn C.cbsl_close(ctx voidptr) CBSL_ERRORS
pub fn cbsl_open(mod CBSL_MODE, filename string) voidptr {
return C.cbsl_open(mod, filename.str)
}
@[inline]
pub fn cbsl_write(ctx voidptr, data voidptr, size u64) CBSL_ERRORS {
return C.cbsl_write(ctx, data, size)
}
@[inline]
pub fn cbsl_read(ctx voidptr, data voidptr, size u64) CBSL_ERRORS {
return C.cbsl_read(ctx, data, size)
}
@[inline]
pub fn cbsl_close(ctx voidptr) CBSL_ERRORS {
return C.cbsl_close(ctx)
}