changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/ffi/rocksdb/comparator.lisp

changeset 594: 5bd0eb9fa1fa
parent: e2e5c4831389
child: ab579a19f4ef
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 14 Aug 2024 21:49:56 -0400
permissions: -rw-r--r--
description: rocksdb callbacks, missing symbol fixes
1 ;;; rocksdb/comparator.lisp --- RocksDB Comparators
2 
3 ;; RocksDB Lisp Comparator API
4 
5 ;;; Code:
6 (in-package :rocksdb)
7 
8 (define-alien-type rocksdb-compare-function
9  (function int
10  (* t)
11  c-string
12  size-t
13  c-string
14  size-t))
15 
16 (define-alien-type rocksdb-compare-ts-function
17  (function int
18  (* t)
19  c-string
20  size-t
21  c-string
22  size-t))
23 
24 (define-alien-type rocksdb-compare-without-ts-function
25  (function int
26  (* t)
27  c-string
28  size-t
29  unsigned-char
30  c-string
31  size-t
32  unsigned-char))
33 
34 (define-alien-routine rocksdb-comparator-create (* rocksdb-comparator)
35  (state (* t))
36  (destructor (* t))
37  (compare (* int))
38  (name (* unsigned-char)))
39 
40 ;; (rocksdb-comparator-create nil nil (make-alien int 1) (make-alien unsigned-char 10))
41 
42 (define-alien-routine rocksdb-comparator-destroy void (self (* rocksdb-comparator)))
43 
44 (define-alien-routine rocksdb-comparator-with-ts-create (* rocksdb-comparator)
45  (state (* t))
46  (destructor (* t))
47  (compare (* int))
48  (compare-ts (* int))
49  (compare-without-ts (* int))
50  (name (* unsigned-char)))
51 
52 (export '(rocksdb-comparator-destroy rocksdb-comparator-create rocksdb-comparator-with-ts-create))