/* RetrievalRecordBuff is a special construct, to allow to map a char * buf
to non-null terminated perl string scalar value (SVpv). */
+%typemap(in) int * {
+ int i;
+ if (!SvIOK($input))
+ croak("Argument $argnum is not an integer.");
+ i = SvIV($input);
+ $1 = &i;
+}
+
+%typemap(out) int * {
+ $result=newSViv($1)
+ sv_2mortal($result);
+ argvi++;
+}
+
%typemap(out) RetrievalRecordBuf * {
- $result = newSVpv($1->buf,$1->len);
+ if ($1->len) {
+ $result = newSVpv($1->buf,$1->len);
+ } else {
+ $result = newSVpv("",0);
+ }
sv_2mortal($result);
argvi++;
}
RetrievalRecord *res,
int pos);
+/* Delete Result Set(s) (zebraapi.c) */
+%name(deleteResultSet)
+int zebra_deleleResultSet(ZebraHandle zh, int function,
+ int num_setnames, char **setnames,
+ int *statuses);
+
+
/* == Sort ================================================================= */
int sort (ZebraHandle zh,
ODR stream,
ODR stream,
const char *pqf_query);
-ScanEntry *getScanEntry(ScanObj *so, int pos);
+scanEntry *getScanEntry(ScanObj *so, int pos);
/* Admin functionality */
/*
*/
-/* Delete Result Set(s) */
-/*
-int zebra_deleleResultSet(ZebraHandle zh, int function,
- int num_setnames, char **setnames,
- int *statuses);
-*/
/* do authentication */
/*
* =========================================================================
*/
int grs_perl_readf(struct perl_context *context, size_t len);
+int grs_perl_readline(struct perl_context *context);
+char grs_perl_getc(struct perl_context *context);
off_t grs_perl_seekf(struct perl_context *context, off_t offset);
off_t grs_perl_tellf(struct perl_context *context);
void grs_perl_endf(struct perl_context *context, off_t offset);