]> gitweb.factorcode.org Git - factor.git/blob - extra/tokyo/alien/tcutil/tcutil.factor
d77c28b103f50a2d95826884b0882138a1209410
[factor.git] / extra / tokyo / alien / tcutil / tcutil.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 system ;
5 IN: tokyo.alien.tcutil
6
7 << "tokyocabinet" {
8     { [ os macosx? ] [ "/opt/local/lib/libtokyocabinet.dylib" ] }
9     { [ os unix? ] [ "libtokyocabinet.so" ] }
10     { [ os windows? ] [ "tokyocabinet.dll" ] }
11 } cond cdecl add-library >>
12
13 LIBRARY: tokyocabinet
14
15 ENUM: f
16     TCDBTHASH
17     TCDBTBTREE
18     TCDBTFIXED
19     TCDBTTABLE ;
20
21 ! FIXME: on windows 64bits this isn't correct, because long is 32bits there, and time_t is int64
22 TYPEDEF: long tokyo_time_t
23
24 C-TYPE: TCLIST
25
26 FUNCTION: TCLIST* tclistnew ( ) ;
27 FUNCTION: TCLIST* tclistnew2 ( int anum ) ;
28 FUNCTION: void tclistdel ( TCLIST* list ) ;
29 FUNCTION: int tclistnum ( TCLIST* list ) ;
30 FUNCTION: void* tclistval ( TCLIST* list, int index, int* sp ) ;
31 FUNCTION: c-string tclistval2 ( TCLIST* list, int index ) ;
32 FUNCTION: void tclistpush ( TCLIST* list, void* ptr, int size ) ;
33 FUNCTION: void tclistpush2 ( TCLIST* list, c-string str ) ;
34 FUNCTION: void tcfree ( void* ptr ) ;
35
36 TYPEDEF: void* TCCMP
37 TYPEDEF: void* TCCODEC
38 TYPEDEF: void* TCPDPROC
39 TYPEDEF: void* TCITER