/[Search-TokyoDystopia]/TokyoDystopia.xs
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /TokyoDystopia.xs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 27 by dpavlin, Mon Aug 18 19:07:04 2008 UTC revision 33 by dpavlin, Tue Sep 9 11:57:52 2008 UTC
# Line 10  Line 10 
10  MODULE = Search::TokyoDystopia          PACKAGE = Search::TokyoDystopia  MODULE = Search::TokyoDystopia          PACKAGE = Search::TokyoDystopia
11  PROTOTYPES: DISABLE  PROTOTYPES: DISABLE
12    
13    
14    const char *
15    tdversion()
16    CODE:
17            RETVAL = tdversion;
18    OUTPUT:
19            RETVAL
20    
21    
22  const char *  const char *
23  tcidberrmsg(ecode)  tcidberrmsg(ecode)
24          int     ecode          int     ecode
# Line 184  PPCODE: Line 193  PPCODE:
193          if ( rnum > 0 ) {          if ( rnum > 0 ) {
194            av = newAV();            av = newAV();
195            for(i = 0; i < rnum; i++){            for(i = 0; i < rnum; i++){
196              av_push(av, newSViv( (int)results[i] ));              av_push(av, newSViv( (int)results[i] ));    // FIXME convert to double?
197            }            }
198            XPUSHs(sv_2mortal(newRV_noinc((SV *)av)));            XPUSHs(sv_2mortal(newRV_noinc((SV *)av)));
199          } else {          } else {
# Line 202  OUTPUT: Line 211  OUTPUT:
211          RETVAL          RETVAL
212    
213    
214  int  double
215  tcidbiternext(idb)  tcidbiternext(idb)
216          void *  idb          void *  idb
217  CODE:  CODE:
# Line 271  CODE: Line 280  CODE:
280  OUTPUT:  OUTPUT:
281          RETVAL          RETVAL
282    
283    
284    double
285    tcidbfsiz(idb)
286            void *  idb
287    CODE:
288            RETVAL = tcidbfsiz(idb);
289    OUTPUT:
290            RETVAL
291    
292    
293    #include <tcqdb.h>
294    
295    const char *
296    tcqdberrmsg(ecode)
297            int     ecode
298    CODE:
299            RETVAL = tcqdberrmsg(ecode);
300    OUTPUT:
301            RETVAL
302    
303    
304    void *
305    tcqdbnew()
306    PREINIT:
307            TCQDB *qdb;
308    CODE:
309            qdb = tcqdbnew();
310            RETVAL = qdb;
311    OUTPUT:
312            RETVAL
313    
314    
315    void
316    tcqdbdel(qdb)
317            void *  qdb
318    CODE:
319            tcqdbdel(qdb);
320    
321    
322    int
323    tcqdbecode(qdb)
324            void *  qdb
325    CODE:
326            RETVAL = tcqdbecode(qdb);
327    OUTPUT:
328            RETVAL
329    
330    
331    int
332    tcqdbtune(qdb, etnum, opts)
333            void *  qdb
334            int     etnum
335            int     opts
336    CODE:
337            RETVAL = tcqdbtune(qdb, etnum, opts);
338    OUTPUT:
339            RETVAL
340    
341    
342    int
343    tcqdbsetcache(qdb, icsiz, lcnum)
344            void *  qdb
345            int     icsiz
346            int     lcnum
347    CODE:
348            RETVAL = tcqdbsetcache(qdb, icsiz, lcnum);
349    OUTPUT:
350            RETVAL
351    
352    
353    int
354    tcqdbsetfwmmax(qdb, fwmax)
355            void *  qdb
356            int     fwmax
357    CODE:
358            RETVAL = tcqdbsetfwmmax(qdb, fwmax);
359    OUTPUT:
360            RETVAL
361    
362    
363    int
364    tcqdbopen(qdb, path, omode)
365            void *  qdb
366            char *  path
367            int     omode
368    CODE:
369            RETVAL = tcqdbopen(qdb, path, omode);
370    OUTPUT:
371            RETVAL
372    
373    
374    int
375    tcqdbclose(qdb)
376            void *  qdb
377    CODE:
378            RETVAL = tcqdbclose(qdb);
379    OUTPUT:
380            RETVAL
381    
382    
383    int
384    tcqdbput(qdb, id, val)
385            void *  qdb
386            int     id
387            SV *    val
388    PREINIT:
389            STRLEN vsiz;
390            const char *vbuf;
391    CODE:
392            vbuf = SvPV(val, vsiz);
393            RETVAL = tcqdbput(qdb, id, vbuf);
394    OUTPUT:
395            RETVAL
396    
397    
398    int
399    tcqdbout(qdb, id, text)
400            void *  qdb
401            int     id
402            SV *    text
403    PREINIT:
404            STRLEN  tsize;
405            const char *tbuf;
406    CODE:
407            tbuf = SvPV(text, tsize);
408            RETVAL = tcqdbout(qdb, id, tbuf);
409    OUTPUT:
410            RETVAL
411    
412    
413    void
414    tcqdbsearch(qdb, word, smode)
415            void *  qdb
416            SV *    word
417            int     smode
418    PREINIT:
419            AV *av;
420            STRLEN wsize;
421            uint64_t *results;
422            const char *wbuf;
423            int i, rnum;
424    PPCODE:
425            wbuf = SvPV(word, wsize);
426            results = tcqdbsearch(qdb, wbuf, smode, &rnum);
427            if ( rnum > 0 ) {
428              av = newAV();
429              for(i = 0; i < rnum; i++){
430                av_push(av, newSViv( (int)results[i] ));
431              }
432              XPUSHs(sv_2mortal(newRV_noinc((SV *)av)));
433            } else {
434              XPUSHs((SV *)&PL_sv_undef);
435            }
436            XSRETURN(1);
437    
438    
439    int
440    tcqdbsync(qdb)
441            void *  qdb
442    CODE:
443            RETVAL = tcqdbsync(qdb);
444    OUTPUT:
445            RETVAL
446    
447    
448    int
449    tcqdboptimize(qdb)
450            void *  qdb
451    CODE:
452            RETVAL = tcqdboptimize(qdb);
453    OUTPUT:
454            RETVAL
455    
456    
457    int
458    tcqdbvanish(qdb)
459            void *  qdb
460    CODE:
461            RETVAL = tcqdbvanish(qdb);
462    OUTPUT:
463            RETVAL
464    
465    
466    int
467    tcqdbcopy(qdb, path)
468            void *  qdb
469            char *  path
470    CODE:
471            RETVAL = tcqdbcopy(qdb, path);
472    OUTPUT:
473            RETVAL
474    
475    
476    void
477    tcqdbpath(qdb)
478            void *  qdb
479    PREINIT:
480            const char *path;
481    PPCODE:
482            path = tcqdbpath(qdb);
483            if(path){
484              XPUSHs(sv_2mortal(newSVpv(path, 0)));
485            } else {
486              XPUSHs((SV *)&PL_sv_undef);
487            }
488            XSRETURN(1);
489    
490    
491    double
492    tcqdbtnum(qdb)
493            void *  qdb
494    CODE:
495            RETVAL = tcqdbtnum(qdb);
496    OUTPUT:
497            RETVAL
498    
499    
500    double
501    tcqdbfsiz(qdb)
502            void *  qdb
503    CODE:
504            RETVAL = tcqdbfsiz(qdb);
505    OUTPUT:
506            RETVAL
507    

Legend:
Removed from v.27  
changed lines
  Added in v.33

  ViewVC Help
Powered by ViewVC 1.1.26