X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fbackend.h;h=da2ee2969834c4b5a6c6dec4728506265635fe7a;hp=8296e6367035ba22d846338aea49a77fdd2dc608;hb=6d7038a051e53896c8447bec79279353a3ab57ef;hpb=bceb14af6e76b53d2dcb49af2c981d4bbfc20e3a diff --git a/include/backend.h b/include/backend.h index 8296e63..da2ee29 100644 --- a/include/backend.h +++ b/include/backend.h @@ -29,6 +29,7 @@ #define BACKEND_H #include +#include typedef struct bend_initrequest { @@ -43,6 +44,8 @@ typedef struct bend_initresult void *handle; /* private handle to the backend module */ } bend_initresult; +bend_initresult *bend_init(bend_initrequest *r); + typedef struct bend_searchrequest { char *setname; /* name to give to this set */ @@ -52,6 +55,37 @@ typedef struct bend_searchrequest Z_Query *query; /* query structure */ } bend_searchrequest; +typedef struct bend_searchresult +{ + int hits; /* number of hits */ + int errcode; /* 0==OK */ + char *errstring; /* system error string or NULL */ +} bend_searchresult; + +bend_searchresult *bend_search(void *handle, bend_searchrequest *r, int *fd); +bend_searchresult *bend_searchresponse(void *handle); + +typedef struct bend_fetchrequest +{ + char *setname; /* set name */ + int number; /* record number */ + oid_value format; /* One of the CLASS_RECSYN members */ +} bend_fetchrequest; + +typedef struct bend_fetchresult +{ + char *basename; /* name of database that provided record */ + int len; /* length of record */ + char *record; /* record */ + int last_in_set; /* is it? */ + oid_value format; /* format */ + int errcode; /* 0==success */ + char *errstring; /* system error string or NULL */ +} bend_fetchresult; + +bend_fetchresult *bend_fetch(void *handle, bend_fetchrequest *r, int *fd); +bend_fetchresult *bend_fetchresponse(void *handle); + typedef struct bend_scanrequest { int num_bases; /* number of elements in databaselist */ @@ -79,28 +113,8 @@ typedef struct bend_scanresult char *errstring; } bend_scanresult; -typedef struct bend_searchresult -{ - int hits; /* number of hits */ - int errcode; /* 0==OK */ - char *errstring; /* system error string or NULL */ -} bend_searchresult; - -typedef struct bend_fetchrequest -{ - char *setname; /* set name */ - int number; /* record number */ -} bend_fetchrequest; - -typedef struct bend_fetchresult -{ - char *basename; /* name of database that provided record */ - int len; /* length of record */ - char *record; /* record */ - int last_in_set; /* is it? */ - int errcode; /* 0==success */ - char *errstring; /* system error string or NULL */ -} bend_fetchresult; +bend_scanresult *bend_scan(void *handle, bend_scanrequest *r, int *fd); +bend_scanresult *bend_scanresponse(void *handle); typedef struct bend_deleterequest { @@ -113,17 +127,6 @@ typedef struct bend_deleteresult char *errstring; /* system error string or NULL */ } bend_deleteresult; -bend_initresult *bend_init(bend_initrequest *r); - -bend_searchresult *bend_search(void *handle, bend_searchrequest *r, int *fd); -bend_searchresult *bend_searchresponse(void *handle); - -bend_fetchresult *bend_fetch(void *handle, bend_fetchrequest *r, int *fd); -bend_fetchresult *bend_fetchresponse(void *handle); - -bend_scanresult *bend_scan(void *handle, bend_scanrequest *r, int *fd); -bend_scanresult *bend_scanresponse(void *handle); - bend_deleteresult *bend_delete(void *handle, bend_deleterequest *r, int *fd); bend_deleteresult *bend_deleteresponse(void *handle);