X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fbackend.h;h=92ffb50f782cf8a46c27680c551c0f485ab1bcf2;hp=392f68b75d71b3cf1d34d7a7bd638848fef8242f;hb=8e4dbf0df9d4d7d72c288d79b97ba3d3c22ac17a;hpb=c70f63352bac2f0bfdcc3078d69f43adbcc7ad2d diff --git a/include/backend.h b/include/backend.h index 392f68b..92ffb50 100644 --- a/include/backend.h +++ b/include/backend.h @@ -28,6 +28,7 @@ #ifndef BACKEND_H #define BACKEND_H +#include #include #include @@ -44,7 +45,7 @@ typedef struct bend_initresult void *handle; /* private handle to the backend module */ } bend_initresult; -bend_initresult *bend_init(bend_initrequest *r); +bend_initresult MDF *bend_init(bend_initrequest *r); typedef struct bend_searchrequest { @@ -69,14 +70,18 @@ typedef struct bend_fetchrequest { char *setname; /* set name */ int number; /* record number */ + oid_value format; /* One of the CLASS_RECSYN members */ + Z_RecordComposition *comp; /* Formatting instructions */ + ODR stream; /* encoding stream - memory source if required */ } bend_fetchrequest; typedef struct bend_fetchresult { char *basename; /* name of database that provided record */ - int len; /* length of record */ + int len; /* length of record or -1 if structured */ 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; @@ -88,6 +93,7 @@ typedef struct bend_scanrequest { int num_bases; /* number of elements in databaselist */ char **basenames; /* databases to search */ + oid_value attributeset; Z_AttributesPlusTerm *term; int term_position; /* desired index of term in result list */ int num_entries; /* number of entries requested */