changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/ffi/uring/constants.lisp

changeset 698: 96958d3eb5b0
parent: f08ae719ab2a
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
1 ("sys/socket.h" "sys/stat.h" "sys/uio.h" "errno.h" "signal.h" "stdbool.h" "stdatomic.h" "linux/openat2.h"
2  "inttypes.h" "linux/time_types.h" "time.h" "fcntl.h" "sched.h" "linux/swab.h" "liburing/compat.h"
3  "linux/fs.h" "liburing/io_uring_version.h" "liburing/barrier.h"
4  "linux/types.h" "liburing/io_uring.h")
5 
6 ( ;; sched.h ;; not found on alpine
7  ;; (:integer %cpu-setsize "__CPU_SETSIZE")
8  ;; (:integer %ncpu-bits "__NCPUBITS")
9  ;; (:integer %sigset-nwords "_SIGSET_NWORDS")
10  ;; sys/uio.h
11  (:structure iovec ("struct iovec"
12  (unsigned-long iov-base "ptr_t" "iov_base")
13  (sb-unix:size-t iov-len "size_t" "iov_len")))
14  ;; bits/socket.h
15  (:structure msghdr ("struct msghdr"
16  ((* t) msg-name "void *" "msg_name")
17  (unsigned-int msg-namelen "socklen_t" "msg_namelen")
18  ((* iovec) msg-iov "struct iovec *" "msg_iov")
19  (sb-unix:size-t msg-iovlen "size_t" "msg_iovlen")
20  ((* t) msg-control "void *" "msg_control")
21  (sb-unix:size-t msg-controllen "size_t" "msg_controllen")
22  (int msg-flags "int" "msg_flags")))
23  ;; linux/time.h
24  (:structure kernel-timespec ("struct __kernel_timespec"
25  (long-long tv-sec "__kernel_time64_t" "tv_sec")
26  (long-long tv-nsec "__s64" "tv_nsec")))
27  ;; liburing/io_uring.h
28  ;; (:integer nr-io-uring-setup "__NR_io_uring_setup") ;; not workin - C macro trouble?
29  ;; (:integer nr-io-uring-register "__NR_io_uring_register")
30  ;; (:integer nr-io-uring-enter "__NR_io_uring_enter")
31  (:integer ioring-file-index-alloc "IORING_FILE_INDEX_ALLOC")
32  (:enum iosqe ((iosqe-fixed-file-bit "IOSQE_FIXED_FILE_BIT")
33  (iosqe-io-drain-bit "IOSQE_IO_DRAIN_BIT")
34  (iosqe-io-link-bit "IOSQE_IO_LINK_BIT")
35  (iosqe-io-hardlink-bit "IOSQE_IO_HARDLINK_BIT")
36  (iosqe-async-bit "IOSQE_ASYNC_BIT")
37  (iosqe-cqe-skip-success-bit "IOSQE_CQE_SKIP_SUCCESS_BIT")))
38  (:integer iosqe-fixed-file "IOSQE_FIXED_FILE")
39  (:integer iosqe-io-drain "IOSQE_IO_DRAIN")
40  (:integer iosqe-io-link "IOSQE_IO_LINK")
41  (:integer iosqe-io-hardlink "IOSQE_IO_HARDLINK")
42  (:integer iosqe-async "IOSQE_ASYNC")
43  (:integer iosqe-buffer-select "IOSQE_BUFFER_SELECT")
44  (:integer iosqe-cqe-skip-success "IOSQE_CQE_SKIP_SUCCESS")
45  ;; setup flags
46  (:integer ioring-setup-iopoll "IORING_SETUP_IOPOLL")
47  (:integer ioring-setup-sqpoll "IORING_SETUP_SQPOLL")
48  (:integer ioring-setup-sq-aff "IORING_SETUP_SQ_AFF")
49  (:integer ioring-setup-cqsize "IORING_SETUP_CQSIZE")
50  (:integer ioring-setup-clamp "IORING_SETUP_CLAMP")
51  (:integer ioring-setup-attach-wq "IORING_SETUP_ATTACH_WQ")
52  (:integer ioring-setup-r-disabled "IORING_SETUP_R_DISABLED")
53  (:integer ioring-setup-submit-all "IORING_SETUP_SUBMIT_ALL")
54  (:integer ioring-setup-coop-taskrun "IORING_SETUP_COOP_TASKRUN")
55  (:integer ioring-setup-taskrun-flag "IORING_SETUP_TASKRUN_FLAG")
56  (:integer ioring-setup-sqe128 "IORING_SETUP_SQE128")
57  (:integer ioring-setup-cqe32 "IORING_SETUP_CQE32")
58  (:integer ioring-setup-single-issuer "IORING_SETUP_SINGLE_ISSUER")
59  (:integer ioring-setup-defer-taskrun "IORING_SETUP_DEFER_TASKRUN")
60  (:integer ioring-setup-no-mmap "IORING_SETUP_NO_MMAP")
61  (:integer ioring-setup-registered-fd-only "IORING_SETUP_REGISTERED_FD_ONLY")
62  (:integer ioring-uring-cmd-fixed "IORING_URING_CMD_FIXED")
63  (:integer ioring-fsync-datasync "IORING_FSYNC_DATASYNC")
64  (:integer ioring-timeout-abs "IORING_TIMEOUT_ABS")
65  (:integer ioring-timeout-update "IORING_TIMEOUT_UPDATE")
66  (:integer ioring-timeout-boottime "IORING_TIMEOUT_BOOTTIME")
67  (:integer ioring-timeout-realtime "IORING_TIMEOUT_REALTIME")
68  (:integer ioring-link-timeout-update "IORING_LINK_TIMEOUT_UPDATE")
69  (:integer ioring-timeout-etime-success "IORING_TIMEOUT_ETIME_SUCCESS")
70  (:integer ioring-timeout-multishot "IORING_TIMEOUT_MULTISHOT")
71  (:integer ioring-timeout-clock-mask "IORING_TIMEOUT_CLOCK_MASK")
72  (:integer ioring-timeout-update-mask "IORING_TIMEOUT_UPDATE_MASK")
73  (:integer splice-f-fd-in-fixed "SPLICE_F_FD_IN_FIXED")
74  (:integer ioring-poll-add-multi "IORING_POLL_ADD_MULTI")
75  (:integer ioring-poll-update-events "IORING_POLL_UPDATE_EVENTS")
76  (:integer ioring-poll-update-user-data "IORING_POLL_UPDATE_USER_DATA")
77  (:integer ioring-poll-add-level "IORING_POLL_ADD_LEVEL")
78  (:integer ioring-async-cancel-all "IORING_ASYNC_CANCEL_ALL")
79  (:integer ioring-async-cancel-fd "IORING_ASYNC_CANCEL_FD")
80  (:integer ioring-async-cancel-any "IORING_ASYNC_CANCEL_ANY")
81  (:integer ioring-async-cancel-fd-fixed "IORING_ASYNC_CANCEL_FD_FIXED")
82  (:integer ioring-recvsend-poll-first "IORING_RECVSEND_POLL_FIRST")
83  (:integer ioring-recv-multishot "IORING_RECV_MULTISHOT")
84  (:integer ioring-recvsend-fixed-buf "IORING_RECVSEND_FIXED_BUF")
85  (:integer ioring-send-zc-report-usage "IORING_SEND_ZC_REPORT_USAGE")
86  (:integer ioring-notif-usage-zc-copied "IORING_NOTIF_USAGE_ZC_COPIED")
87  (:integer ioring-accept-multishot "IORING_ACCEPT_MULTISHOT")
88  (:enum ioring-msg ((ioring-msg-data "IORING_MSG_DATA")
89  (ioring-msg-send-fd "IORING_MSG_SEND_FD")))
90  (:integer ioring-msg-ring-cqe-skip "IORING_MSG_RING_CQE_SKIP")
91  (:integer ioring-msg-ring-flags-pass "IORING_MSG_RING_FLAGS_PASS")
92  (:structure io-uring-cqe ("struct io_uring_cqe"
93  (unsigned-long user-data "__u64" "user_data")
94  (int res "__s32" "res")
95  (unsigned-int flags "__u32" "flags")
96  ((array unsigned-long 2) big-cqe "__u64" "big_cqe[2]")))
97  (:integer ioring-cqe-f-buffer "IORING_CQE_F_BUFFER")
98  (:integer ioring-cqe-f-more "IORING_CQE_F_MORE")
99  (:integer ioring-cqe-f-sock-nonempty "IORING_CQE_F_SOCK_NONEMPTY")
100  (:integer ioring-cqe-f-notif "IORING_CQE_F_NOTIF")
101  ;; (:integer ioring-cqe-buffer-shift "IORING_CQE_BUFFER_SHIFT")
102  (:integer ioring-off-sq-ring "IORING_OFF_SQ_RING")
103  (:integer ioring-off-cq-ring "IORING_OFF_CQ_RING")
104  (:integer ioring-off-sqes "IORING_OFF_SQES")
105  (:integer ioring-off-pbuf-ring "IORING_OFF_PBUF_RING")
106  (:integer ioring-off-pbuf-shift "IORING_OFF_PBUF_SHIFT")
107  (:integer ioring-off-mmap-mask "IORING_OFF_MMAP_MASK")
108  (:structure io-sqring-offsets ("struct io_sqring_offsets"
109  (unsigned-int head "__u32" "head")
110  (unsigned-int tail "__u32" "tail")
111  (unsigned-int ring-mask "__u32" "ring_mask")
112  (unsigned-int ring-entries "__u32" "ring_entries")
113  (unsigned-int flags "__u32" "flags")
114  (unsigned-int dropped "__u32" "dropped")
115  (unsigned-int array "__u32" "array")
116  (unsigned-int resv1 "__u32" "resv1")
117  (unsigned-int user-addr "__u64" "user_addr")))
118  (:integer ioring-sq-need-wakeup "IORING_SQ_NEED_WAKEUP")
119  (:integer ioring-sq-cq-overflow "IORING_SQ_CQ_OVERFLOW")
120  (:integer ioring-sq-taskrun "IORING_SQ_TASKRUN")
121  (:structure io-cqring-offsets ("struct io_cqring_offsets"
122  (unsigned-int head "__u32" "head")
123  (unsigned-int tail "__u32" "tail")
124  (unsigned-int ring-mask "__u32" "ring_mask")
125  (unsigned-int ring-entries "__u32" "ring_entries")
126  (unsigned-int overflow "__u32" "overflow")
127  (unsigned-int cqes "__u32" "cqes")
128  (unsigned-int flags "__u32" "flags")
129  (unsigned-int resv1 "__u32" "resv1")
130  (unsigned-int user-addr "__u64" "user_addr")))
131  (:integer ioring-cq-eventfd-disabled "IORING_CQ_EVENTFD_DISABLED")
132  (:integer ioring-enter-getevents "IORING_ENTER_GETEVENTS")
133  (:integer ioring-enter-sq-wakeup "IORING_ENTER_SQ_WAKEUP")
134  (:integer ioring-enter-sq-wait "IORING_ENTER_SQ_WAIT")
135  (:integer ioring-enter-ext-arg "IORING_ENTER_EXT_ARG")
136  (:integer ioring-enter-registered-ring "IORING_ENTER_REGISTERED_RING")
137  (:structure io-uring-params ("struct io_uring_params"
138  (unsigned-int sq-entries "__u32" "sq_entries")
139  (unsigned-int cq-entries "__u32" "cq_entries")
140  (unsigned-int flags "__u32" "flags")
141  (unsigned-int sq-thread-cpu "__u32" "sq_thread_cpu")
142  (unsigned-int sq-thread-idle "__u32" "sq_thread_idle")
143  (unsigned-int features "__u32" "features")
144  (unsigned-int wq-fd "__u32" "wq_fd")
145  ((array unsigned-int) resv "__u32" "resv[3]")
146  ((struct io-sqring-offsets) sq-off "struct io_sqring_offsets" "sq_off" :distrust-length t)
147  ((struct io-cqring-offsets) cq-off "struct io_cqring_offsets" "cq_off" :distrust-length t)
148  ))
149  (:integer ioring-feat-single-mmap "IORING_FEAT_SINGLE_MMAP")
150  (:integer ioring-feat-nodrop "IORING_FEAT_NODROP")
151  (:integer ioring-feat-submit-stable "IORING_FEAT_SUBMIT_STABLE")
152  (:integer ioring-feat-rw-cur-pos "IORING_FEAT_RW_CUR_POS")
153  (:integer ioring-feat-cur-personality "IORING_FEAT_CUR_PERSONALITY")
154  (:integer ioring-feat-fast-poll "IORING_FEAT_FAST_POLL")
155  (:integer ioring-feat-poll-32bits "IORING_FEAT_POLL_32BITS")
156  (:integer ioring-feat-sqpoll-nonfixed "IORING_FEAT_SQPOLL_NONFIXED")
157  (:integer ioring-feat-ext-arg "IORING_FEAT_EXT_ARG")
158  (:integer ioring-feat-native-workers "IORING_FEAT_NATIVE_WORKERS")
159  (:integer ioring-feat-rsrc-tags "IORING_FEAT_RSRC_TAGS")
160  (:integer ioring-feat-cqe-skip "IORING_FEAT_CQE_SKIP")
161  (:integer ioring-feat-linked-file "IORING_FEAT_LINKED_FILE")
162  (:integer ioring-feat-reg-reg-ring "IORING_FEAT_REG_REG_RING")
163 
164  (:integer ioring-rsrc-register-sparse "IORING_RSRC_REGISTER_SPARSE")
165  (:structure io-uring-rsrc-register ("struct io_uring_rsrc_register"
166  (unsigned-int nr "__u32" "nr")
167  (unsigned-int flags "__u32" "flags")
168  (unsigned-int resv2 "__u32" "resv2")
169  (unsigned-long data "__aligned_u64" "data")
170  (unsigned-long tags "__aligned_u64" "tags")))
171  (:structure io-uring-rsrc-update ("struct io_uring_rsrc_update"
172  (unsigned-int offset "__u32" "offset")
173  (unsigned-int resv "__u32" "resv")
174  (unsigned-int data "__aligned_u64" "data")))
175  (:structure io-uring-rsrc-update2 ("struct io_uring_rsrc_update2"
176  (unsigned-int offset "__u32" "offset")
177  (unsigned-int resv "__u32" "resv")
178  (unsigned-int data "__aligned_u64" "data")
179  (unsigned-int tags "__aligned_u64" "tags")
180  (unsigned-int nr "__u32" "nr")
181  (unsigned-int resv2 "__u32" "resv2")))
182  (:integer ioring-register-files-skip "IORING_REGISTER_FILES_SKIP")
183  (:integer io-uring-op-supported "IO_URING_OP_SUPPORTED")
184  (:structure io-uring-probe-op ("struct io_uring_probe_op"
185  (unsigned-char op "__u8" "op")
186  (unsigned-char resv "__u8" "resv")
187  (unsigned-short flags "__u16" "flags")
188  (unsigned-int resv2 "__u32" "resv2")))
189  (:structure io-uring-probe ("struct io_uring_probe"
190  (unsigned-char last-op "__u8" "last_op")
191  (unsigned-char ops-len "__u8" "ops_len")
192  ;; (unsigned-short resv "__u16" "resv")
193  ;; ((array unsigned-int 3) resv2 "__u32" "resv2[3]")
194  ((array (struct io-uring-probe-op)) ops "struct io_uring_probe_op" "ops[0]" :distrust-length t)))
195  (:structure io-uring-buf ("struct io_uring_buf"
196  (unsigned-long addr "__u64" "addr")
197  (unsigned-int len "__u32" "len")
198  (unsigned-short bid "__u16" "bid")
199  (unsigned-short resv "__u16" "resv")))
200  ;; why is this defined as enum in io_uring.h?
201  (:enum iou-pbuf ((iou-pbuf-ring-mmap "IOU_PBUF_RING_MMAP")))
202  (:structure io-uring-buf-reg ("struct io_uring_buf_reg"
203  (unsigned-long ring-addr "__u64" "ring_addr")
204  (unsigned-int ring-entries "__u32" "ring_entries")
205  (unsigned-short bgid "__u16" "bgid")
206  (unsigned-short flags "__u16" "flags")
207  ((array unsigned-long 3) resv "__u64" "resv[3]")))
208  (:enum io-uring-restriction-opcode ((ioring-restriction-register-op "IORING_RESTRICTION_REGISTER_OP")
209  (ioring-restriction-sqe-op "IORING_RESTRICTION_SQE_OP")
210  (ioring-restriction-sqe-flags-allowed "IORING_RESTRICTION_SQE_FLAGS_ALLOWED")
211  (ioring-restriction-sqe-flags-required "IORING_RESTRICTION_SQE_FLAGS_REQUIRED")
212  (ioring-restriction-last "IORING_RESTRICTION_LAST")))
213  (:structure io-uring-getevents-arg ("struct io_uring_getevents_arg"
214  (unsigned-long sigmask "__u64" "sigmask")
215  (unsigned-int sigmask-sz "__u32" "sigmask_sz")
216  (unsigned-int pad "__u32" "pad")
217  (unsigned-long ts "__u64" "ts")))
218  (:structure io-uring-sync-cancel-reg ("struct io_uring_sync_cancel_reg"
219  (unsigned-long addr "__u64" "addr")
220  (int fd "__s32" "fd")
221  (unsigned-int flags "__u32" "flags")
222  ((struct kernel-timespec) timeout "struct __kernel_timespec" "timeout")
223  ((array unsigned-long 4) pad "__u64" "pad[4]")))
224  (:structure io-uring-file-index-range ("struct io_uring_file_index_range"
225  (unsigned-int off "__u32" "off")
226  (unsigned-int len "__u32" "len")
227  (unsigned-long resv "__u64" "resv")))
228  (:structure io-uring-recvmsg-out ("struct io_uring_recvmsg_out"
229  (unsigned-int namelen "__u32" "namelen")
230  (unsigned-int controllen "__u32" "controllen")
231  (unsigned-int payloadlen "__u32" "payloadlen")
232  (unsigned-int flags "__u32" "flags")))
233  ;; (:integer liburing-udata-timeout "LIBURING_UDATA_TIMEOUT") ;; c macro trouble
234  (:enum socket-uring-op ((socket-uring-op-siocinq "SOCKET_URING_OP_SIOCINQ")
235  (socket-uring-op-siocoutq "SOCKET_URING_OP_SIOCOUTQ"))))