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