changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/ffi/arrow/pkg.lisp

changeset 698: 96958d3eb5b0
parent: cf0c1933289f
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
1 ;;; pkg.lisp --- Apache Arrow FFI
2 
3 ;;
4 
5 ;;; Code:
6 (defpackage :arrow
7  (:use :cl :std :sb-alien)
8  (:export))
9 
10 (in-package :arrow)
11 
12 (define-alien-loader "arrow" t "/usr/lib/")
13 
14 (define-alien-type arrow-release-function (function void (* (struct nil))))
15 
16 (define-alien-type arrow-schema
17  (struct arrow-schema
18  (format c-string)
19  (name c-string)
20  (metadata c-string)
21  (flags long)
22  (n-children long)
23  (children (array (* (struct arrow-schema))))
24  (dictionary (* (struct arrow-schema)))
25  (release (* arrow-release-function))
26  (private-data (* t))))
27 
28 
29 (define-alien-type arrow-array
30  (struct arrow-array
31  (length long)
32  (null-count long)
33  (offset long)
34  (n-buffers long)
35  (n-children long)
36  (buffers (array (* t)))
37  (children (array (* (struct arrow-array))))
38  (dictionary (* (struct arrow-array)))
39  (release (* arrow-release-function))
40  (private-data (* t))))