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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
let pollin = 0x1
let pollout = 0x4
let pollerr = 0x8
let pollhup = 0x10
let o_rdonly = 0x0
let o_wronly = 0x1
let o_rdwr = 0x2
let o_creat = 0x40
let o_excl = 0x80
let o_noctty = 0x100
let o_trunc = 0x200
let o_append = 0x400
let o_nonblock = 0x800
let o_dsync = 0x1000
let o_direct = 0x4000
let o_largefile = 0x0
let o_directory = 0x10000
let o_nofollow = 0x20000
let o_noatime = 0x40000
let o_cloexec = 0x80000
let o_sync = 0x101000
let o_path = 0x200000
let o_tmpfile = 0x410000
let at_fdcwd = 0x7fffffffffffff9c
let iov_max = 0x400
let sizeof_iovec = 0x10
let sizeof_kernel_timespec = 0x10
module Op : sig
type t
val nop : t
val readv : t
val writev : t
val fsync : t
val read_fixed : t
val write_fixed : t
val poll_add : t
val poll_remove : t
val sync_file_range : t
val sendmsg : t
val recvmsg : t
val timeout : t
val timeout_remove : t
val accept : t
val async_cancel : t
val link_timeout : t
val connect : t
val fallocate : t
val openat : t
val close : t
val files_update : t
val statx : t
val read : t
val write : t
val fadvise : t
val madvise : t
val send : t
val recv : t
val openat2 : t
val epoll_ctl : t
val splice : t
val provide_buffers : t
val remove_buffers : t
val tee : t
val shutdown : t
val renameat : t
val unlinkat : t
val mkdirat : t
val symlinkat : t
val linkat : t
val msg_ring : t
val fsetxattr : t
val setxattr : t
val fgetxattr : t
val getxattr : t
val socket : t
val uring_cmd : t
end = struct
type t = int
let nop = 0x0
let readv = 0x1
let writev = 0x2
let fsync = 0x3
let read_fixed = 0x4
let write_fixed = 0x5
let poll_add = 0x6
let poll_remove = 0x7
let sync_file_range = 0x8
let sendmsg = 0x9
let recvmsg = 0xa
let timeout = 0xb
let timeout_remove = 0xc
let accept = 0xd
let async_cancel = 0xe
let link_timeout = 0xf
let connect = 0x10
let fallocate = 0x11
let openat = 0x12
let close = 0x13
let files_update = 0x14
let statx = 0x15
let read = 0x16
let write = 0x17
let fadvise = 0x18
let madvise = 0x19
let send = 0x1a
let recv = 0x1b
let openat2 = 0x1c
let epoll_ctl = 0x1d
let splice = 0x1e
let provide_buffers = 0x1f
let remove_buffers = 0x20
let tee = 0x21
let shutdown = 0x22
let renameat = 0x23
let unlinkat = 0x24
let mkdirat = 0x25
let symlinkat = 0x26
let linkat = 0x27
let msg_ring = 0x28
let fsetxattr = 0x29
let setxattr = 0x2a
let fgetxattr = 0x2b
let getxattr = 0x2c
let socket = 0x2d
let uring_cmd = 0x2e
end