changeset 241: |
bc5832f97879 |
parent 240: |
a3b65a8138ac |
child 242: |
37a48c39be02 |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Sun, 24 Mar 2024 23:05:46 -0400 |
files: |
lisp/ffi/tree-sitter/api.lisp lisp/ffi/uring/constants.lisp lisp/ffi/uring/pkg.lisp |
description: |
more urings |
1.1--- a/lisp/ffi/tree-sitter/api.lisp Sun Mar 24 21:46:43 2024 -0400
1.2+++ b/lisp/ffi/tree-sitter/api.lisp Sun Mar 24 23:05:46 2024 -0400
1.3@@ -125,9 +125,7 @@
1.4 ;; TODO
1.5 (let ((field-name (deref field-name-ptr)))
1.6 (setf type (list (funcall name-generator field-name) type))))
1.7- (push (make-node :type type
1.8- :range (list (list (second start-point) (fourth start-point))
1.9- (list (second end-point) (fourth end-point))))
1.10+ (push (make-node :type type :range (list start-point end-point))
1.11 parse-stack)))
1.12 (setf did-visit-children
1.13 (not (ts-tree-cursor-goto-first-child cursor))))))))))
2.1--- a/lisp/ffi/uring/constants.lisp Sun Mar 24 21:46:43 2024 -0400
2.2+++ b/lisp/ffi/uring/constants.lisp Sun Mar 24 23:05:46 2024 -0400
2.3@@ -1,9 +1,10 @@
2.4 ("sys/socket.h" "sys/stat.h" "sys/uio.h" "errno.h" "signal.h" "stdbool.h" "stdatomic.h" "linux/openat2.h"
2.5 "inttypes.h" "linux/time_types.h" "time.h" "fcntl.h" "sched.h" "linux/swab.h" "liburing/compat.h"
2.6- "linux/fs.h" "liburing/io_uring.h" "liburing/io_uring_version.h" "liburing/barrier.h"
2.7- "linux/types.h")
2.8+ "linux/fs.h" "liburing/io_uring_version.h" "liburing/barrier.h"
2.9+ "linux/types.h" "liburing/io_uring.h")
2.10
2.11 ( ;; liburing/io_uring.h
2.12+ (:integer %nr-io-uring-setup "__NR_io_uring_setup" t)
2.13 (:structure io-uring-sqe ("struct io_uring_sqe"
2.14 (char opcode "__u8" "opcode")
2.15 (char flags "__u8" "flags")
2.16@@ -100,7 +101,8 @@
2.17 (ioring-op-uring-cmd "IORING_OP_URING_CMD")
2.18 (ioring-op-send-zc "IORING_OP_SEND_ZC")
2.19 (ioring-op-sendmsg-zc "IORING_OP_SENDMSG_ZC")
2.20- (ioring-op-last "IORING_OP_LAST")))
2.21+ (ioring-op-last "IORING_OP_LAST"))
2.22+ t)
2.23 (:integer ioring-uring-cmd-fixed "IORING_URING_CMD_FIXED")
2.24 (:integer ioring-fsync-datasync "IORING_FSYNC_DATASYNC")
2.25 (:integer ioring-timeout-abs "IORING_TIMEOUT_ABS")
2.26@@ -176,18 +178,18 @@
2.27 (:integer ioring-enter-sq-wait "IORING_ENTER_SQ_WAIT")
2.28 (:integer ioring-enter-ext-arg "IORING_ENTER_EXT_ARG")
2.29 (:integer ioring-enter-registered-ring "IORING_ENTER_REGISTERED_RING")
2.30- ;; (:structure io-uring-params ("struct io_uring_params"
2.31- ;; ((unsigned-int sq-entries "__u32" "sq_entries")
2.32- ;; (unsigned-int cq-entries "__u32" "cq_entries")
2.33- ;; (unsigned-int flags "__u32" "flags")
2.34- ;; (unsigned-int sq-thread-cpu "__u32" "sq_thread_cpu")
2.35- ;; (unsigned-int sq-thread-idle "__u32" "sq_thread_idle")
2.36- ;; (unsigned-int features "__u32" "features")
2.37- ;; (unsigned-int wq-fd "__u32" "wq_fd")
2.38- ;; ((array unsigned-int 3) "__u32" "resv[3]")
2.39- ;; ;; (io-sqring-offsets "struct io_sqring_offsets" "sq_off")
2.40- ;; ;; (io-cqring-offsets "struct io_cqring_offsets" "cq_off")
2.41- ;; )))
2.42+ (:structure io-uring-params ("struct io_uring_params"
2.43+ (unsigned-int sq-entries "__u32" "sq_entries")
2.44+ (unsigned-int cq-entries "__u32" "cq_entries")
2.45+ (unsigned-int flags "__u32" "flags")
2.46+ (unsigned-int sq-thread-cpu "__u32" "sq_thread_cpu")
2.47+ (unsigned-int sq-thread-idle "__u32" "sq_thread_idle")
2.48+ (unsigned-int features "__u32" "features")
2.49+ (unsigned-int wq-fd "__u32" "wq_fd")
2.50+ ((array unsigned-int) resv "__u32" "resv[3]")
2.51+ ((struct io-sqring-offsets) sq-off "struct io_sqring_offsets" "sq_off" :distrust-length t)
2.52+ ((struct io-cqring-offsets) cq-off "struct io_cqring_offsets" "cq_off" :distrust-length t)
2.53+ ))
2.54 (:integer ioring-feat-single-mmap "IORING_FEAT_SINGLE_MMAP")
2.55 (:integer ioring-feat-nodrop "IORING_FEAT_NODROP")
2.56 (:integer ioring-feat-submit-stable "IORING_FEAT_SUBMIT_STABLE")
2.57@@ -204,12 +206,38 @@
2.58 (:integer ioring-feat-reg-reg-ring "IORING_FEAT_REG_REG_RING")
2.59
2.60 (:integer ioring-rsrc-register-sparse "IORING_RSRC_REGISTER_SPARSE")
2.61-
2.62+ (:structure io-uring-rsrc-register ("struct io_uring_rsrc_register"
2.63+ (unsigned-int nr "__u32" "nr")
2.64+ (unsigned-int flags "__u32" "flags")
2.65+ (unsigned-int resv2 "__u32" "resv2")
2.66+ (unsigned-long data "__aligned_u64" "data")
2.67+ (unsigned-long tags "__aligned_u64" "tags")))
2.68+ (:structure io-uring-rsrc-update ("struct io_uring_rsrc_update"
2.69+ (unsigned-int offset "__u32" "offset")
2.70+ (unsigned-int resv "__u32" "resv")
2.71+ (unsigned-int data "__aligned_u64" "data")))
2.72+ (:structure io-uring-rsrc-update2 ("struct io_uring_rsrc_update2"
2.73+ (unsigned-int offset "__u32" "offset")
2.74+ (unsigned-int resv "__u32" "resv")
2.75+ (unsigned-int data "__aligned_u64" "data")
2.76+ (unsigned-int tags "__aligned_u64" "tags")
2.77+ (unsigned-int nr "__u32" "nr")
2.78+ (unsigned-int resv2 "__u32" "resv2")))
2.79 (:integer ioring-register-files-skip "IORING_REGISTER_FILES_SKIP")
2.80-
2.81 (:integer io-uring-op-supported "IO_URING_OP_SUPPORTED")
2.82+ (:structure io-uring-probe-op ("struct io_uring_probe_op"
2.83+ (char op "__u8" "op")
2.84+ (char resv "__u8" "resv")
2.85+ (unsigned-short flags "__u16" "flags")
2.86+ (unsigned-int resv2 "__u32" "resv2")))
2.87+ (:structure io-uring-probe ("struct io_uring_probe"
2.88+ (char last-op "__u8" "last_op")
2.89+ (char ops-len "__u8" "ops_len")
2.90+ ;; (unsigned-short resv "__u16" "resv")
2.91+ ;; ((array unsigned-int 3) resv2 "__u32" "resv2[3]")
2.92+ ((array (struct io-uring-probe-op)) ops "struct io_uring_probe_op" "ops[1]")))
2.93 ;; TODO
2.94 ;; io_uring_register
2.95-
2.96+
2.97 ;; liburing.h -- public API
2.98 (:integer +nr-io-uring-setup+ "__NR_io_uring_setup"))
3.1--- a/lisp/ffi/uring/pkg.lisp Sun Mar 24 21:46:43 2024 -0400
3.2+++ b/lisp/ffi/uring/pkg.lisp Sun Mar 24 23:05:46 2024 -0400
3.3@@ -35,4 +35,4 @@
3.4 ;; (defun io-uring-smp-mb ())
3.5
3.6 ;;; io_uring.h
3.7-;; io_uring_sqe
3.8+