141 |
} |
} |
142 |
XSRETURN(1); |
XSRETURN(1); |
143 |
|
|
144 |
|
|
145 |
|
void |
146 |
|
tcidbsearch(idb, word, smode) |
147 |
|
void * idb |
148 |
|
SV * word |
149 |
|
int smode |
150 |
|
PREINIT: |
151 |
|
AV *av; |
152 |
|
STRLEN wsize; |
153 |
|
uint64_t *results; |
154 |
|
const char *wbuf; |
155 |
|
int i, rnum; |
156 |
|
PPCODE: |
157 |
|
wbuf = SvPV(word, wsize); |
158 |
|
results = tcidbsearch(idb, wbuf, smode, &rnum); |
159 |
|
if ( rnum > 0 ) { |
160 |
|
av = newAV(); |
161 |
|
for(i = 0; i < rnum; i++){ |
162 |
|
av_push(av, newSViv( (int)results[i] )); |
163 |
|
} |
164 |
|
XPUSHs(sv_2mortal(newRV_noinc((SV *)av))); |
165 |
|
} else { |
166 |
|
XPUSHs((SV *)&PL_sv_undef); |
167 |
|
} |
168 |
|
XSRETURN(1); |
169 |
|
|
170 |
|
|
171 |
|
void |
172 |
|
tcidbsearch2(idb, expr) |
173 |
|
void * idb |
174 |
|
SV * expr |
175 |
|
PREINIT: |
176 |
|
AV *av; |
177 |
|
STRLEN wsize; |
178 |
|
uint64_t *results; |
179 |
|
const char *wbuf; |
180 |
|
int i, rnum; |
181 |
|
PPCODE: |
182 |
|
wbuf = SvPV(expr, wsize); |
183 |
|
results = tcidbsearch2(idb, wbuf, &rnum); |
184 |
|
if ( rnum > 0 ) { |
185 |
|
av = newAV(); |
186 |
|
for(i = 0; i < rnum; i++){ |
187 |
|
av_push(av, newSViv( (int)results[i] )); |
188 |
|
} |
189 |
|
XPUSHs(sv_2mortal(newRV_noinc((SV *)av))); |
190 |
|
} else { |
191 |
|
XPUSHs((SV *)&PL_sv_undef); |
192 |
|
} |
193 |
|
XSRETURN(1); |
194 |
|
|
195 |
|
|
196 |
|
int |
197 |
|
tcidbiterinit(idb) |
198 |
|
void * idb |
199 |
|
CODE: |
200 |
|
RETVAL = tcidbiterinit(idb); |
201 |
|
OUTPUT: |
202 |
|
RETVAL |
203 |
|
|
204 |
|
|
205 |
|
int |
206 |
|
tcidbiternext(idb) |
207 |
|
void * idb |
208 |
|
CODE: |
209 |
|
RETVAL = tcidbiternext(idb); |
210 |
|
OUTPUT: |
211 |
|
RETVAL |
212 |
|
|
213 |
|
|
214 |
|
int |
215 |
|
tcidbsync(idb) |
216 |
|
void * idb |
217 |
|
CODE: |
218 |
|
RETVAL = tcidbsync(idb); |
219 |
|
OUTPUT: |
220 |
|
RETVAL |
221 |
|
|
222 |
|
|
223 |
|
int |
224 |
|
tcidboptimize(idb) |
225 |
|
void * idb |
226 |
|
CODE: |
227 |
|
RETVAL = tcidboptimize(idb); |
228 |
|
OUTPUT: |
229 |
|
RETVAL |
230 |
|
|
231 |
|
|
232 |
|
int |
233 |
|
tcidbvanish(idb) |
234 |
|
void * idb |
235 |
|
CODE: |
236 |
|
RETVAL = tcidbvanish(idb); |
237 |
|
OUTPUT: |
238 |
|
RETVAL |
239 |
|
|
240 |
|
|
241 |
|
int |
242 |
|
tcidbcopy(idb, path) |
243 |
|
void * idb |
244 |
|
char * path |
245 |
|
CODE: |
246 |
|
RETVAL = tcidbcopy(idb, path); |
247 |
|
OUTPUT: |
248 |
|
RETVAL |
249 |
|
|
250 |
|
|
251 |
|
void |
252 |
|
tcidbpath(idb) |
253 |
|
void * idb |
254 |
|
PREINIT: |
255 |
|
const char *path; |
256 |
|
PPCODE: |
257 |
|
path = tcidbpath(idb); |
258 |
|
if(path){ |
259 |
|
XPUSHs(sv_2mortal(newSVpv(path, 0))); |
260 |
|
} else { |
261 |
|
XPUSHs((SV *)&PL_sv_undef); |
262 |
|
} |
263 |
|
XSRETURN(1); |
264 |
|
|
265 |
|
|
266 |
|
double |
267 |
|
tcidbrnum(idb) |
268 |
|
void * idb |
269 |
|
CODE: |
270 |
|
RETVAL = tcidbrnum(idb); |
271 |
|
OUTPUT: |
272 |
|
RETVAL |
273 |
|
|