]> gitweb.factorcode.org Git - factor.git/blob - extra/tokyo/alien/tcrdb/tcrdb.factor
Remove ENUM: f and replace uses with CONSTANTs.
[factor.git] / extra / tokyo / alien / tcrdb / tcrdb.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 tokyo.alien.tchdb tokyo.alien.tcutil
5 tokyo.alien.tctdb classes.struct ;
6 IN: tokyo.alien.tcrdb
7
8 << "tokyotyrant" {
9     { [ os macosx? ] [ "/opt/local/lib/libtokyotyrant.dylib" ] }
10     { [ os unix? ] [ "libtokyotyrant.so" ] }
11     { [ os windows? ] [ "tokyotyrant.dll" ] }
12 } cond cdecl add-library >>
13
14 LIBRARY: tokyotyrant
15
16 C-TYPE: TCRDB
17 ! STRUCT: TCRDB
18 !     { mmtx pthread_mutex_t }
19 !     { eckey pthread_key_t }
20 !     { host c-string }
21 !     { port int }
22 !     { expr c-string }
23 !     { fd int }
24 !     { sock TTSOCK* }
25 !     { timeout double }
26 !     { opts int } ;
27
28 CONSTANT: TTESUCCESS 0
29 CONSTANT: TTEINVALID 1
30 CONSTANT: TTENOHOST  2
31 CONSTANT: TTEREFUSED 3
32 CONSTANT: TTESEND    4
33 CONSTANT: TTERECV    5
34 CONSTANT: TTEKEEP    6
35 CONSTANT: TTENOREC   7
36 CONSTANT: TTEMISC    9999
37
38 CONSTANT: RDBTRECON   1
39 CONSTANT: RDBXOLCKREC 1
40 CONSTANT: RDBXOLCKGLB 2
41 CONSTANT: RDBROCHKCON 1
42 CONSTANT: RDBMONOULOG 1
43
44 FUNCTION: c-string tcrdberrmsg ( int ecode ) ;
45 FUNCTION: TCRDB* tcrdbnew ( ) ;
46 FUNCTION: void tcrdbdel ( TCRDB* rdb ) ;
47 FUNCTION: int tcrdbecode ( TCRDB* rdb ) ;
48 FUNCTION: bool tcrdbtune ( TCRDB* rdb, double timeout, int opts ) ;
49 FUNCTION: bool tcrdbopen ( TCRDB* rdb, c-string host, int port ) ;
50 FUNCTION: bool tcrdbopen2 ( TCRDB* rdb, c-string expr ) ;
51 FUNCTION: bool tcrdbclose ( TCRDB* rdb ) ;
52 FUNCTION: bool tcrdbput ( TCRDB* rdb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ;
53 FUNCTION: bool tcrdbput2 ( TCRDB* rdb, c-string kstr, c-string vstr ) ;
54 FUNCTION: bool tcrdbputkeep ( TCRDB* rdb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ;
55 FUNCTION: bool tcrdbputkeep2 ( TCRDB* rdb, c-string kstr, c-string vstr ) ;
56 FUNCTION: bool tcrdbputcat ( TCRDB* rdb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ;
57 FUNCTION: bool tcrdbputcat2 ( TCRDB* rdb, c-string kstr, c-string vstr ) ;
58 FUNCTION: bool tcrdbputshl ( TCRDB* rdb, void* kbuf, int ksiz, void* vbuf, int vsiz, int width ) ;
59 FUNCTION: bool tcrdbputshl2 ( TCRDB* rdb, c-string kstr, c-string vstr, int width ) ;
60 FUNCTION: bool tcrdbputnr ( TCRDB* rdb, void* kbuf, int ksiz, void* vbuf, int vsiz ) ;
61 FUNCTION: bool tcrdbputnr2 ( TCRDB* rdb, c-string kstr, c-string vstr ) ;
62 FUNCTION: bool tcrdbout ( TCRDB* rdb, void* kbuf, int ksiz ) ;
63 FUNCTION: bool tcrdbout2 ( TCRDB* rdb, c-string kstr ) ;
64 FUNCTION: void* tcrdbget ( TCRDB* rdb, void* kbuf, int ksiz, int* sp ) ;
65 FUNCTION: c-string tcrdbget2 ( TCRDB* rdb, c-string kstr ) ;
66 FUNCTION: bool tcrdbget3 ( TCRDB* rdb, TCMAP* recs ) ;
67 FUNCTION: int tcrdbvsiz ( TCRDB* rdb, void* kbuf, int ksiz ) ;
68 FUNCTION: int tcrdbvsiz2 ( TCRDB* rdb, c-string kstr ) ;
69 FUNCTION: bool tcrdbiterinit ( TCRDB* rdb ) ;
70 FUNCTION: void* tcrdbiternext ( TCRDB* rdb, int* sp ) ;
71 FUNCTION: c-string tcrdbiternext2 ( TCRDB* rdb ) ;
72 FUNCTION: TCLIST* tcrdbfwmkeys ( TCRDB* rdb, void* pbuf, int psiz, int max ) ;
73 FUNCTION: TCLIST* tcrdbfwmkeys2 ( TCRDB* rdb, c-string pstr, int max ) ;
74 FUNCTION: int tcrdbaddint ( TCRDB* rdb, void* kbuf, int ksiz, int num ) ;
75 FUNCTION: double tcrdbadddouble ( TCRDB* rdb, void* kbuf, int ksiz, double num ) ;
76 FUNCTION: void* tcrdbext ( TCRDB* rdb, c-string name, int opts, void* kbuf, int ksiz, void* vbuf, int vsiz, int* sp ) ;
77 FUNCTION: c-string tcrdbext2 ( TCRDB* rdb, c-string name, int opts, c-string kstr, c-string vstr ) ;
78 FUNCTION: bool tcrdbsync ( TCRDB* rdb ) ;
79 FUNCTION: bool tcrdboptimize ( TCRDB* rdb, c-string params ) ;
80 FUNCTION: bool tcrdbvanish ( TCRDB* rdb ) ;
81 FUNCTION: bool tcrdbcopy ( TCRDB* rdb, c-string path ) ;
82 FUNCTION: bool tcrdbrestore ( TCRDB* rdb, c-string path, ulonglong ts, int opts ) ;
83 FUNCTION: bool tcrdbsetmst ( TCRDB* rdb, c-string host, int port, int opts ) ;
84 FUNCTION: bool tcrdbsetmst2 ( TCRDB* rdb, c-string expr, int opts ) ;
85 FUNCTION: c-string tcrdbexpr ( TCRDB* rdb ) ;
86 FUNCTION: ulonglong tcrdbrnum ( TCRDB* rdb ) ;
87 FUNCTION: ulonglong tcrdbsize ( TCRDB* rdb ) ;
88 FUNCTION: c-string tcrdbstat ( TCRDB* rdb ) ;
89 FUNCTION: TCLIST* tcrdbmisc ( TCRDB* rdb, c-string name, int opts, TCLIST* args ) ;
90
91 CONSTANT: RDBITLEXICAL TDBITLEXICAL
92 CONSTANT: RDBITDECIMAL TDBITDECIMAL
93 CONSTANT: RDBITOPT     TDBITOPT
94 CONSTANT: RDBITVOID    TDBITVOID
95 CONSTANT: RDBITKEEP    TDBITKEEP
96
97 C-TYPE: RDBQRY
98 ! STRUCT: RDBQRY
99 !     { rdb TCRDB* }
100 !     { args TCLIST* } ;
101
102 CONSTANT: RDBQCSTREQ   TDBQCSTREQ
103 CONSTANT: RDBQCSTRINC  TDBQCSTRINC
104 CONSTANT: RDBQCSTRBW   TDBQCSTRBW
105 CONSTANT: RDBQCSTREW   TDBQCSTREW
106 CONSTANT: RDBQCSTRAND  TDBQCSTRAND
107 CONSTANT: RDBQCSTROR   TDBQCSTROR
108 CONSTANT: RDBQCSTROREQ TDBQCSTROREQ
109 CONSTANT: RDBQCSTRRX   TDBQCSTRRX
110 CONSTANT: RDBQCNUMEQ   TDBQCNUMEQ
111 CONSTANT: RDBQCNUMGT   TDBQCNUMGT
112 CONSTANT: RDBQCNUMGE   TDBQCNUMGE
113 CONSTANT: RDBQCNUMLT   TDBQCNUMLT
114 CONSTANT: RDBQCNUMLE   TDBQCNUMLE
115 CONSTANT: RDBQCNUMBT   TDBQCNUMBT
116 CONSTANT: RDBQCNUMOREQ TDBQCNUMOREQ
117 CONSTANT: RDBQCNEGATE  TDBQCNEGATE
118 CONSTANT: RDBQCNOIDX   TDBQCNOIDX
119
120 CONSTANT: RDBQOSTRASC  TDBQOSTRASC
121 CONSTANT: RDBQOSTRDESC TDBQOSTRDESC
122 CONSTANT: RDBQONUMASC  TDBQONUMASC
123 CONSTANT: RDBQONUMDESC TDBQONUMDESC
124
125 FUNCTION: bool tcrdbtblput ( TCRDB* rdb, void* pkbuf, int pksiz, TCMAP* cols ) ;
126 FUNCTION: bool tcrdbtblputkeep ( TCRDB* rdb, void* pkbuf, int pksiz, TCMAP* cols ) ;
127 FUNCTION: bool tcrdbtblputcat ( TCRDB* rdb, void* pkbuf, int pksiz, TCMAP* cols ) ;
128 FUNCTION: bool tcrdbtblout ( TCRDB* rdb, void* pkbuf, int pksiz ) ;
129 FUNCTION: TCMAP* tcrdbtblget ( TCRDB* rdb, void* pkbuf, int pksiz ) ;
130 FUNCTION: bool tcrdbtblsetindex ( TCRDB* rdb, c-string name, int type ) ;
131 FUNCTION: longlong tcrdbtblgenuid ( TCRDB* rdb ) ;
132 FUNCTION: RDBQRY* tcrdbqrynew ( TCRDB* rdb ) ;
133 FUNCTION: void tcrdbqrydel ( RDBQRY* qry ) ;
134 FUNCTION: void tcrdbqryaddcond ( RDBQRY* qry, c-string name, int op, c-string expr ) ;
135 FUNCTION: void tcrdbqrysetorder ( RDBQRY* qry, c-string name, int type ) ;
136 FUNCTION: void tcrdbqrysetlimit ( RDBQRY* qry, int max, int skip ) ;
137 FUNCTION: TCLIST* tcrdbqrysearch ( RDBQRY* qry ) ;
138 FUNCTION: bool tcrdbqrysearchout ( RDBQRY* qry ) ;
139 FUNCTION: TCLIST* tcrdbqrysearchget ( RDBQRY* qry ) ;
140 FUNCTION: TCMAP* tcrdbqryrescols ( TCLIST* res, int index ) ;
141 FUNCTION: int tcrdbqrysearchcount ( RDBQRY* qry ) ;
142
143 FUNCTION: void tcrdbsetecode ( TCRDB* rdb, int ecode ) ;