From f585ba4ba31fb3090889825c4cc98bd4151d7fa2 Mon Sep 17 00:00:00 2001 From: Bruno Deferrari Date: Sat, 13 Jun 2009 01:49:07 -0300 Subject: [PATCH] tokyo.alien: Add tcadb --- extra/tokyo/alien/tcadb/authors.txt | 1 + extra/tokyo/alien/tcadb/tcadb.factor | 67 ++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 extra/tokyo/alien/tcadb/authors.txt create mode 100644 extra/tokyo/alien/tcadb/tcadb.factor diff --git a/extra/tokyo/alien/tcadb/authors.txt b/extra/tokyo/alien/tcadb/authors.txt new file mode 100644 index 0000000000..f4a8cb1dc2 --- /dev/null +++ b/extra/tokyo/alien/tcadb/authors.txt @@ -0,0 +1 @@ +Bruno Deferrari diff --git a/extra/tokyo/alien/tcadb/tcadb.factor b/extra/tokyo/alien/tcadb/tcadb.factor new file mode 100644 index 0000000000..203a0b8cbb --- /dev/null +++ b/extra/tokyo/alien/tcadb/tcadb.factor @@ -0,0 +1,67 @@ +! Copyright (C) 2009 Bruno Deferrari +! See http://factorcode.org/license.txt for BSD license. +USING: alien alien.c-types alien.libraries alien.syntax +combinators kernel tokyo.alien.tchdb tokyo.alien.tcutil +tokyo.alien.tcbdb tokyo.alien.tcfdb tokyo.alien.tctdb ; +IN: tokyo.alien.tcrdb + +TYPEDEF: void* TCADB + +C-ENUM: + ADBOVOID + ADBOMDB + ADBONDB + ADBOHDB + ADBOBDB + ADBOFDB + ADBOTDB + ADBOSKEL ; + +FUNCTION: TCADB* tcadbnew ( ) ; +FUNCTION: void tcadbdel ( TCADB* adb ) ; +FUNCTION: bool tcadbopen ( TCADB* adb, char* name ) ; +FUNCTION: bool tcadbclose ( TCADB* adb ) ; +FUNCTION: bool tcadbput ( TCADB* adb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ; +FUNCTION: bool tcadbput2 ( TCADB* adb, char* kstr, char* vstr ) ; +FUNCTION: bool tcadbputkeep ( TCADB* adb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ; +FUNCTION: bool tcadbputkeep2 ( TCADB* adb, char* kstr, char* vstr ) ; +FUNCTION: bool tcadbputcat ( TCADB* adb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ; +FUNCTION: bool tcadbputcat2 ( TCADB* adb, char* kstr, char* vstr ) ; +FUNCTION: bool tcadbout ( TCADB* adb, void* kbuf, int ksiz ) ; +FUNCTION: bool tcadbout2 ( TCADB* adb, char* kstr ) ; +FUNCTION: void* tcadbget ( TCADB* adb, void* kbuf, int ksiz, int* sp ) ; +FUNCTION: char* tcadbget2 ( TCADB* adb, char* kstr ) ; +FUNCTION: int tcadbvsiz ( TCADB* adb, void* kbuf, int ksiz ) ; +FUNCTION: int tcadbvsiz2 ( TCADB* adb, char* kstr ) ; +FUNCTION: bool tcadbiterinit ( TCADB* adb ) ; +FUNCTION: void* tcadbiternext ( TCADB* adb, int* sp ) ; +FUNCTION: char* tcadbiternext2 ( TCADB* adb ) ; +FUNCTION: TCLIST* tcadbfwmkeys ( TCADB* adb, void* pbuf, int psiz, int max ) ; +FUNCTION: TCLIST* tcadbfwmkeys2 ( TCADB* adb, char* pstr, int max ) ; +FUNCTION: int tcadbaddint ( TCADB* adb, void* kbuf, int ksiz, int num ) ; +FUNCTION: double tcadbadddouble ( TCADB* adb, void* kbuf, int ksiz, double num ) ; +FUNCTION: bool tcadbsync ( TCADB* adb ) ; +FUNCTION: bool tcadboptimize ( TCADB* adb, char* params ) ; +FUNCTION: bool tcadbvanish ( TCADB* adb ) ; +FUNCTION: bool tcadbcopy ( TCADB* adb, char* path ) ; +FUNCTION: bool tcadbtranbegin ( TCADB* adb ) ; +FUNCTION: bool tcadbtrancommit ( TCADB* adb ) ; +FUNCTION: bool tcadbtranabort ( TCADB* adb ) ; +FUNCTION: char* tcadbpath ( TCADB* adb ) ; +FUNCTION: uint64_t tcadbrnum ( TCADB* adb ) ; +FUNCTION: uint64_t tcadbsize ( TCADB* adb ) ; +FUNCTION: TCLIST* tcadbmisc ( TCADB* adb, char* name, TCLIST* args ) ; + +! ----- + +TYPEDEF: void* ADBSKEL + +TYPEDEF: void* ADBMAPPROC + +FUNCTION: bool tcadbsetskel ( TCADB* adb, ADBSKEL* skel ) ; +FUNCTION: int tcadbomode ( TCADB* adb ) ; +FUNCTION: void* tcadbreveal ( TCADB* adb ) ; +FUNCTION: bool tcadbputproc ( TCADB* adb, void* kbuf, int ksiz, void* vbuf, int vsiz, TCPDPROC proc, void* op ) ; +FUNCTION: bool tcadbforeach ( TCADB* adb, TCITER iter, void* op ) ; +FUNCTION: bool tcadbmapbdb ( TCADB* adb, TCLIST* keys, TCBDB* bdb, ADBMAPPROC proc, void* op, int64_t csiz ) ; +FUNCTION: bool tcadbmapbdbemit ( void* map, char* kbuf, int ksiz, char* vbuf, int vsiz ) ; -- 2.34.1