📄 villa.xs
字号:
/************************************************************************************************* * Villa.c * Copyright (C) 2000-2003 Mikio Hirabayashi * This file is part of QDBM, Quick Database Manager. * QDBM is free software; you can redistribute it and/or modify it under the terms of the GNU * Lesser General Public License as published by the Free Software Foundation; either version * 2.1 of the License or any later version. QDBM is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * You should have received a copy of the GNU Lesser General Public License along with QDBM; if * not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA * 02111-1307 USA. *************************************************************************************************/#include "EXTERN.h"#include "perl.h"#include "XSUB.h"#include <depot.h>#include <cabin.h>#include <villa.h>#include <stdlib.h>MODULE = Villa PACKAGE = Villa##================================================================================================## public objects##================================================================================================char *plvlerrmsg()CODE: RETVAL = (char *)dperrmsg(dpecode);OUTPUT: RETVALvoid *plvlopen(name, omode, cmode) char * name int omode int cmodeCODE: VLCFUNC cmp; switch(cmode){ case 1: cmp = VL_CMPDEC; break; default: cmp = VL_CMPLEX; break; } RETVAL = vlopen(name, omode, cmp);OUTPUT: RETVALintplvlclose(villa) void *villaCODE: RETVAL = vlclose(villa);OUTPUT: RETVALintplvlput(villa, kbuf, ksiz, vbuf, vsiz, dmode) void * villa char * kbuf int ksiz char * vbuf int vsiz int dmodeCODE: RETVAL = vlput(villa, kbuf, ksiz, vbuf, vsiz, dmode);OUTPUT: RETVALintplvlout(villa, kbuf, ksiz) void * villa char * kbuf int ksizCODE: RETVAL = vlout(villa, kbuf, ksiz);OUTPUT: RETVALchar *plvlget(villa, kbuf, ksiz) void * villa char * kbuf int ksizPPCODE: char *vbuf; int vsiz; SV *sv; vbuf = vlget(villa, kbuf, ksiz, &vsiz); if(!vbuf) XSRETURN_UNDEF; sv = sv_2mortal(newSVpv(vbuf, vsiz)); free(vbuf); sv_setsv(ST(0), sv); XSRETURN(1);intplvlvnum(villa, kbuf, ksiz) void * villa char * kbuf int ksizCODE: RETVAL = vlvnum(villa, kbuf, ksiz);OUTPUT: RETVALintplvlcurfirst(villa) void * villaCODE: RETVAL = vlcurfirst(villa);OUTPUT: RETVALintplvlcurlast(villa) void * villaCODE: RETVAL = vlcurlast(villa);OUTPUT: RETVALintplvlcurprev(villa) void * villaCODE: RETVAL = vlcurprev(villa);OUTPUT: RETVALintplvlcurnext(villa) void * villaCODE: RETVAL = vlcurnext(villa);OUTPUT: RETVALintplvlcurjump(villa, kbuf, ksiz, jmode) void * villa char * kbuf int ksiz int jmodeCODE: RETVAL = vlcurjump(villa, kbuf, ksiz, jmode);OUTPUT: RETVALchar *plvlcurkey(villa) void * villaPPCODE: char *kbuf; int ksiz; SV *sv; kbuf = vlcurkey(villa, &ksiz); if(!kbuf) XSRETURN_UNDEF; sv = sv_2mortal(newSVpv(kbuf, ksiz)); free(kbuf); sv_setsv(ST(0), sv); XSRETURN(1);char *plvlcurval(villa) void * villaPPCODE: char *vbuf; int vsiz; SV *sv; vbuf = vlcurval(villa, &vsiz); if(!vbuf) XSRETURN_UNDEF; sv = sv_2mortal(newSVpv(vbuf, vsiz)); free(vbuf); sv_setsv(ST(0), sv); XSRETURN(1);voidplvlsettuning(villa, lrecmax, nidxmax, lcnum, ncnum) void * villa int lrecmax int nidxmax int lcnum int ncnumCODE: vlsettuning(villa, lrecmax, nidxmax, lcnum, ncnum);intplvlsync(villa) void * villaCODE: RETVAL = vlsync(villa);OUTPUT: RETVALintplvloptimize(villa) void * villaCODE: RETVAL = vloptimize(villa);OUTPUT: RETVALintplvlfsiz(villa) void * villaCODE: RETVAL = vlfsiz(villa);OUTPUT: RETVALintplvlrnum(villa) void * villaCODE: RETVAL = vlrnum(villa);OUTPUT: RETVALintplvlwritable(villa) void * villaCODE: RETVAL = vlwritable(villa);OUTPUT: RETVALintplvlfatalerror(villa) void * villaCODE: RETVAL = vlfatalerror(villa);OUTPUT: RETVALintplvltranbegin(villa) void * villaCODE: RETVAL = vltranbegin(villa);OUTPUT: RETVALintplvltrancommit(villa) void * villaCODE: RETVAL = vltrancommit(villa);OUTPUT: RETVALintplvltranabort(villa) void * villaCODE: RETVAL = vltranabort(villa);OUTPUT: RETVAL## END OF FILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -