]> gitweb.factorcode.org Git - factor.git/blob - extra/tokyo/alien/tcadb/tcadb.factor
Merge branch 'master' into tokyo
[factor.git] / extra / tokyo / alien / tcadb / tcadb.factor
1 ! Copyright (C) 2009 Bruno Deferrari
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.c-types alien.libraries alien.syntax
4 combinators kernel tokyo.alien.tchdb tokyo.alien.tcutil
5 tokyo.alien.tcbdb tokyo.alien.tcfdb tokyo.alien.tctdb ;
6 IN: tokyo.alien.tcrdb
7
8 TYPEDEF: void* TCADB
9
10 C-ENUM:
11     ADBOVOID
12     ADBOMDB
13     ADBONDB
14     ADBOHDB
15     ADBOBDB
16     ADBOFDB
17     ADBOTDB
18     ADBOSKEL ;
19
20 FUNCTION: TCADB* tcadbnew ( ) ;
21 FUNCTION: void tcadbdel ( TCADB* adb ) ;
22 FUNCTION: bool tcadbopen ( TCADB* adb, char* name ) ;
23 FUNCTION: bool tcadbclose ( TCADB* adb ) ;
24 FUNCTION: bool tcadbput ( TCADB* adb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ;
25 FUNCTION: bool tcadbput2 ( TCADB* adb, char* kstr, char* vstr ) ;
26 FUNCTION: bool tcadbputkeep ( TCADB* adb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ;
27 FUNCTION: bool tcadbputkeep2 ( TCADB* adb, char* kstr, char* vstr ) ;
28 FUNCTION: bool tcadbputcat ( TCADB* adb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ;
29 FUNCTION: bool tcadbputcat2 ( TCADB* adb, char* kstr, char* vstr ) ;
30 FUNCTION: bool tcadbout ( TCADB* adb, void* kbuf, int ksiz ) ;
31 FUNCTION: bool tcadbout2 ( TCADB* adb, char* kstr ) ;
32 FUNCTION: void* tcadbget ( TCADB* adb, void* kbuf, int ksiz, int* sp ) ;
33 FUNCTION: char* tcadbget2 ( TCADB* adb, char* kstr ) ;
34 FUNCTION: int tcadbvsiz ( TCADB* adb, void* kbuf, int ksiz ) ;
35 FUNCTION: int tcadbvsiz2 ( TCADB* adb, char* kstr ) ;
36 FUNCTION: bool tcadbiterinit ( TCADB* adb ) ;
37 FUNCTION: void* tcadbiternext ( TCADB* adb, int* sp ) ;
38 FUNCTION: char* tcadbiternext2 ( TCADB* adb ) ;
39 FUNCTION: TCLIST* tcadbfwmkeys ( TCADB* adb, void* pbuf, int psiz, int max ) ;
40 FUNCTION: TCLIST* tcadbfwmkeys2 ( TCADB* adb, char* pstr, int max ) ;
41 FUNCTION: int tcadbaddint ( TCADB* adb, void* kbuf, int ksiz, int num ) ;
42 FUNCTION: double tcadbadddouble ( TCADB* adb, void* kbuf, int ksiz, double num ) ;
43 FUNCTION: bool tcadbsync ( TCADB* adb ) ;
44 FUNCTION: bool tcadboptimize ( TCADB* adb, char* params ) ;
45 FUNCTION: bool tcadbvanish ( TCADB* adb ) ;
46 FUNCTION: bool tcadbcopy ( TCADB* adb, char* path ) ;
47 FUNCTION: bool tcadbtranbegin ( TCADB* adb ) ;
48 FUNCTION: bool tcadbtrancommit ( TCADB* adb ) ;
49 FUNCTION: bool tcadbtranabort ( TCADB* adb ) ;
50 FUNCTION: char* tcadbpath ( TCADB* adb ) ;
51 FUNCTION: uint64_t tcadbrnum ( TCADB* adb ) ;
52 FUNCTION: uint64_t tcadbsize ( TCADB* adb ) ;
53 FUNCTION: TCLIST* tcadbmisc ( TCADB* adb, char* name, TCLIST* args ) ;
54
55 ! -----
56
57 TYPEDEF: void* ADBSKEL
58
59 TYPEDEF: void* ADBMAPPROC
60
61 FUNCTION: bool tcadbsetskel ( TCADB* adb, ADBSKEL* skel ) ;
62 FUNCTION: int tcadbomode ( TCADB* adb ) ;
63 FUNCTION: void* tcadbreveal ( TCADB* adb ) ;
64 FUNCTION: bool tcadbputproc ( TCADB* adb, void* kbuf, int ksiz, void* vbuf, int vsiz, TCPDPROC proc, void* op ) ;
65 FUNCTION: bool tcadbforeach ( TCADB* adb, TCITER iter, void* op ) ;
66 FUNCTION: bool tcadbmapbdb ( TCADB* adb, TCLIST* keys, TCBDB* bdb, ADBMAPPROC proc, void* op, int64_t csiz ) ;
67 FUNCTION: bool tcadbmapbdbemit ( void* map, char* kbuf, int ksiz, char* vbuf, int vsiz ) ;