X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fbackend.h;h=7d5dcefcf13920a2b8ece70e3e62fbaacf37e03a;hb=a00dfa73d5d3796f8048f2134fec2685b62e2658;hp=da2ee2969834c4b5a6c6dec4728506265635fe7a;hpb=6d7038a051e53896c8447bec79279353a3ab57ef;p=yaz-moved-to-github.git diff --git a/include/backend.h b/include/backend.h index da2ee29..7d5dcef 100644 --- a/include/backend.h +++ b/include/backend.h @@ -28,9 +28,14 @@ #ifndef BACKEND_H #define BACKEND_H +#include #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct bend_initrequest { char *configname; @@ -44,7 +49,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 { @@ -70,12 +75,14 @@ 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 */ @@ -90,6 +97,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 */ @@ -132,4 +140,8 @@ bend_deleteresult *bend_deleteresponse(void *handle); void bend_close(void *handle); +#ifdef __cplusplus +} +#endif + #endif