CIsam
view release on metacpan or search on metacpan
int fd
char * data
CODE:
RETVAL = isdelete(fd,data);
OUTPUT:
RETVAL
int
isdelindex1(fd,k_flags,k_nparts, ...)
int fd
short k_flags
short k_nparts
PREINIT:
struct keydesc kd;
int ind;
int offset;
CODE:
kd.k_flags = k_flags;
kd.k_nparts = k_nparts;
for (ind = 0; ind < k_nparts; ind++) {
offset = 3 + 3*ind;
kd.k_part[ind].kp_start = (short)SvIV(ST(offset));
kd.k_part[ind].kp_leng = (short)SvIV(ST(offset+1));
kd.k_part[ind].kp_type = (short)SvIV(ST(offset+2));
}
RETVAL = isdelindex(fd,&kd);
OUTPUT:
RETVAL
int
isdelrec1(fd,recnum)
int fd
long recnum
CODE:
RETVAL = isdelrec(fd,recnum);
OUTPUT:
RETVAL
int
iserase1(name)
char * name
CODE:
RETVAL = iserase(name);
OUTPUT:
RETVAL
int
isflush1(fd)
int fd;
CODE:
RETVAL = isflush(fd);
OUTPUT:
RETVAL
int
isisaminfo1(fd)
int fd
PREINIT:
struct dictinfo di;
int cc;
PPCODE:
cc = isindexinfo(fd,&di,0);
EXTEND(SP, 5);
PUSHs(sv_2mortal(newSViv(cc)));
PUSHs(sv_2mortal(newSViv(di.di_nkeys)));
PUSHs(sv_2mortal(newSViv(di.di_recsize)));
PUSHs(sv_2mortal(newSViv(di.di_idxsize)));
PUSHs(sv_2mortal(newSViv(di.di_nrecords)));
int
isindexinfo1(fd,idx)
int fd
int idx
PREINIT:
struct keydesc kd;
int cc;
int i, j;
PPCODE:
cc = isindexinfo(fd,&kd,idx);
EXTEND(SP,1+2+3*kd.k_nparts);
PUSHs(sv_2mortal(newSViv(cc)));
PUSHs(sv_2mortal(newSViv(kd.k_flags)));
PUSHs(sv_2mortal(newSViv(kd.k_nparts)));
for (i=0; i<kd.k_nparts; i++) {
PUSHs(sv_2mortal(newSViv(kd.k_part[i].kp_start)));
PUSHs(sv_2mortal(newSViv(kd.k_part[i].kp_leng)));
PUSHs(sv_2mortal(newSViv(kd.k_part[i].kp_type)));
}
int
islock1(fd)
int fd;
CODE:
RETVAL = islock(fd);
OUTPUT:
RETVAL
int
islogclose1()
CODE:
RETVAL = islogclose();
OUTPUT:
RETVAL
int
islogopen1(name)
char * name
CODE:
RETVAL = islogopen(name);
OUTPUT:
RETVAL
int
isopen1(name,mode)
char * name
int mode
CODE:
RETVAL = isopen(name,mode);
OUTPUT:
RETVAL
int
isread1(fd,data,mode)
int fd
char * data
int mode
PREINIT:
int foo;
#if defined (CISAM4)
struct dictinfo info;
#endif
CODE:
#if defined (CISAM4)
isindexinfo(fd, &info, 0);
isreclen = info.di_recsize;
#endif
RETVAL = isread(fd,data,mode);
sv_setpvn((SV*)ST(1), data, isreclen);
kd.k_part[ind].kp_leng = (short)SvIV(ST(offset+1));
kd.k_part[ind].kp_type = (short)SvIV(ST(offset+2));
}
RETVAL = isstart(fd,&kd,len,data,mode);
OUTPUT:
RETVAL
int
isuniqueid1(fd,uniqueid)
int fd
long uniqueid
CODE:
RETVAL = isuniqueid(fd,&uniqueid);
OUTPUT:
RETVAL
uniqueid
int
isunlock1(fd)
int fd;
CODE:
RETVAL = isunlock(fd);
OUTPUT:
RETVAL
int
iswrcurr1(fd,data)
int fd
char * data
CODE:
RETVAL = iswrcurr(fd,data);
OUTPUT:
RETVAL
int
iswrite1(fd,data)
int fd
char * data
CODE:
RETVAL = iswrite(fd,data);
OUTPUT:
RETVAL
double
lddbl1(p)
char *p
CODE:
RETVAL = lddbl(p);
OUTPUT:
RETVAL
void
stdbl1(p, length_of_field)
char *p
int length_of_field
PREINIT:
char string[200];
char return_val[2];
double d;
int i;
PPCODE:
EXTEND(SP, length_of_field);
d = atof(p);
stdbl(d,string);
/* The next steps of magic are done because Perl treats
treats everything as string */
return_val[1]='\000';
for(i = 0; i < length_of_field; i++)
{
return_val[0] = string[i];
PUSHs(sv_2mortal(newSVpv(return_val, 2)));
}
int
ldint1(p)
char *p
CODE:
RETVAL = ldint(p);
OUTPUT:
RETVAL
void
stint1(p, length_of_field)
char *p
int length_of_field
PREINIT:
char string[20];
char return_val[2];
int d;
int i;
PPCODE:
EXTEND(SP, length_of_field);
d = atoi(p);
stint(d,string);
/* The next steps of magic are done because Perl treats
treats everything as string */
return_val[1]='\000';
for(i = 0; i < length_of_field; i++)
{
return_val[0] = string[i];
PUSHs(sv_2mortal(newSVpv(return_val, 2)));
}
long
ldlong1(p)
char *p
CODE:
RETVAL = ldlong(p);
OUTPUT:
RETVAL
void
stlong1(p, length_of_field)
char *p
int length_of_field
PREINIT:
char string[20];
char return_val[2];
long d;
int i;
PPCODE:
EXTEND(SP, length_of_field);
d = atol(p);
stlong(d,string);
/* The next steps of magic are done because Perl treats
treats everything as string */
return_val[1]='\000';
for(i = 0; i < length_of_field; i++)
{
return_val[0] = string[i];
PUSHs(sv_2mortal(newSVpv(return_val, 2)));
}
void
stfloat1(p, length_of_field)
char *p
int length_of_field
PREINIT:
char string[20];
char return_val[2];
float d;
int i;
PPCODE:
EXTEND(SP, length_of_field);
d = atof(p);
stfloat(d,string);
/* The next steps of magic are done because Perl treats
treats everything as string */
return_val[1]='\000';
for(i = 0; i < length_of_field; i++)
{
return_val[0] = string[i];
PUSHs(sv_2mortal(newSVpv(return_val, 2)));
}
double
ldfloat1(p)
char *p
CODE:
RETVAL = (double) ldfloat(p);
OUTPUT:
RETVAL
( run in 0.767 second using v1.01-cache-2.11-cpan-71847e10f99 )