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