/[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 33 by dpavlin, Tue Sep 9 11:57:52 2008 UTC revision 37 by dpavlin, Sun Sep 21 20:16:39 2008 UTC
# Line 505  CODE: Line 505  CODE:
505  OUTPUT:  OUTPUT:
506          RETVAL          RETVAL
507    
508    
509    #include <laputa.h>
510    
511    const char *
512    tcjdberrmsg(ecode)
513            int     ecode
514    CODE:
515            RETVAL = tcjdberrmsg(ecode);
516    OUTPUT:
517            RETVAL
518    
519    
520    void *
521    tcjdbnew()
522    PREINIT:
523            TCJDB *jdb;
524    CODE:
525            jdb = tcjdbnew();
526            RETVAL = jdb;
527    OUTPUT:
528            RETVAL
529    
530    
531    void
532    tcjdbdel(jdb)
533            void *  jdb
534    CODE:
535            tcjdbdel(jdb);
536    
537    
538    int
539    tcjdbecode(jdb)
540            void *  jdb
541    CODE:
542            RETVAL = tcjdbecode(jdb);
543    OUTPUT:
544            RETVAL
545    
546    
547    int
548    tcjdbtune(jdb, ernum, etnum, iusiz, opts)
549            void *  jdb
550            int     ernum
551            int     etnum
552            int     iusiz
553            int     opts
554    CODE:
555            RETVAL = tcjdbtune(jdb, ernum, etnum, iusiz, opts);
556    OUTPUT:
557            RETVAL
558    
559    
560    int
561    tcjdbsetcache(jdb, icsiz, lcnum)
562            void *  jdb
563            int     icsiz
564            int     lcnum
565    CODE:
566            RETVAL = tcjdbsetcache(jdb, icsiz, lcnum);
567    OUTPUT:
568            RETVAL
569    
570    
571    int
572    tcjdbsetfwmmax(jdb, fwmax)
573            void *  jdb
574            int     fwmax
575    CODE:
576            RETVAL = tcjdbsetfwmmax(jdb, fwmax);
577    OUTPUT:
578            RETVAL
579    
580    
581    int
582    tcjdbopen(jdb, path, omode)
583            void *  jdb
584            char *  path
585            int     omode
586    CODE:
587            RETVAL = tcjdbopen(jdb, path, omode);
588    OUTPUT:
589            RETVAL
590    
591    
592    int
593    tcjdbclose(jdb)
594            void *  jdb
595    CODE:
596            RETVAL = tcjdbclose(jdb);
597    OUTPUT:
598            RETVAL
599    
600    
601    int
602    tcjdbput(jdb, id, vals)
603            void *  jdb
604            int     id
605            AV *    vals
606    PREINIT:
607            TCLIST *tvals;
608            SV *val;
609            STRLEN vsiz;
610            const char *vbuf;
611            int i, num;
612    CODE:
613            tvals = tclistnew();
614            num = av_len(vals) + 1;
615            for(i = 0; i < num; i++) {
616                    val = *av_fetch(vals, i, 0);
617                    vbuf = SvPV(val, vsiz);
618                    tclistpush(tvals, vbuf, (int)vsiz);
619            }
620            RETVAL = tcjdbput(jdb, id, tvals);
621            tclistdel(tvals);
622    OUTPUT:
623            RETVAL
624    
625    
626    int
627    tcjdbput2(jdb, id, text, delims)
628            void *  jdb
629            int     id
630            SV *    text
631            SV *    delims
632    PREINIT:
633            STRLEN tsiz, dsiz;
634            const char *tbuf, *dbuf;
635    CODE:
636            tbuf = SvPV(text, tsiz);
637            dbuf = SvPV(delims, dsiz);
638            RETVAL = tcjdbput2(jdb, id, tbuf, dbuf);
639    OUTPUT:
640            RETVAL
641    
642    int
643    tcjdbout(jdb, id)
644            void *  jdb
645            int     id
646    CODE:
647            RETVAL = tcjdbout(jdb, id);
648    OUTPUT:
649            RETVAL
650    
651    
652    void
653    tcjdbsearch(jdb, word, smode)
654            void *  jdb
655            SV *    word
656            int     smode
657    PREINIT:
658            AV *av;
659            STRLEN wsize;
660            uint64_t *results;
661            const char *wbuf;
662            int i, rnum;
663    PPCODE:
664            wbuf = SvPV(word, wsize);
665            results = tcjdbsearch(jdb, wbuf, smode, &rnum);
666            if ( rnum > 0 ) {
667              av = newAV();
668              for(i = 0; i < rnum; i++){
669                av_push(av, newSViv( (int)results[i] ));
670              }
671              XPUSHs(sv_2mortal(newRV_noinc((SV *)av)));
672            } else {
673              XPUSHs((SV *)&PL_sv_undef);
674            }
675            XSRETURN(1);
676    
677    
678    int
679    tcjdbsync(jdb)
680            void *  jdb
681    CODE:
682            RETVAL = tcjdbsync(jdb);
683    OUTPUT:
684            RETVAL
685    
686    
687    int
688    tcjdboptimize(jdb)
689            void *  jdb
690    CODE:
691            RETVAL = tcjdboptimize(jdb);
692    OUTPUT:
693            RETVAL
694    
695    
696    int
697    tcjdbvanish(jdb)
698            void *  jdb
699    CODE:
700            RETVAL = tcjdbvanish(jdb);
701    OUTPUT:
702            RETVAL
703    
704    
705    int
706    tcjdbcopy(jdb, path)
707            void *  jdb
708            char *  path
709    CODE:
710            RETVAL = tcjdbcopy(jdb, path);
711    OUTPUT:
712            RETVAL
713    
714    
715    void
716    tcjdbpath(jdb)
717            void *  jdb
718    PREINIT:
719            const char *path;
720    PPCODE:
721            path = tcjdbpath(jdb);
722            if(path){
723              XPUSHs(sv_2mortal(newSVpv(path, 0)));
724            } else {
725              XPUSHs((SV *)&PL_sv_undef);
726            }
727            XSRETURN(1);
728    
729    
730    double
731    tcjdbrnum(jdb)
732            void *  jdb
733    CODE:
734            RETVAL = tcjdbrnum(jdb);
735    OUTPUT:
736            RETVAL
737    
738    
739    double
740    tcjdbfsiz(jdb)
741            void *  jdb
742    CODE:
743            RETVAL = tcjdbfsiz(jdb);
744    OUTPUT:
745            RETVAL
746    

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

  ViewVC Help
Powered by ViewVC 1.1.26