changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate lisp/ffi/rocksdb/macs.lisp

changeset 14: c953c2a35835
author: ellis <ellis@rwest.io>
date: Sat, 21 Oct 2023 01:11:32 -0400
permissions: -rw-r--r--
description: rocksdb symbols and macs
14
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
1
 ;;; rocksdb/macs.lisp --- macros used to generate the alien API
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
2
 
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
3
 ;;; Code:
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
4
 (defpackage :rocksdb/macs
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
5
   (:use :cl :std)
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
6
   (:export
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
7
    :def-rocksdb-opt))
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
8
 
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
9
 (in-package :rocksdb/macs)
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
10
 
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
11
 (defmacro def-opt-getter (opt &rest args)
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
12
   `(define-alien-routine ,opt (* ,opt) ,args))
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
13
 
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
14
 (defmacro def-opt-setter (opt &rest args)
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
15
   `(define-alien-routine ,opt (* ,opt) ,args))
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
16
 
c953c2a35835 rocksdb symbols and macs
ellis <ellis@rwest.io>
parents:
diff changeset
17
 (defmacro def-rocksdb-opt (opt))