X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fbackend.h;h=dafafad9399321c696f275ad2b8f6f06c7b719ed;hb=9a2b41f58cf220c9583b654ff77776a18e958b44;hp=75f9914d900ba81712d961b1e2c9cd818f05c574;hpb=657fb99115b87a5244e9a33bbe4ca3d9d18849c4;p=yaz-moved-to-github.git diff --git a/include/backend.h b/include/backend.h index 75f9914..dafafad 100644 --- a/include/backend.h +++ b/include/backend.h @@ -32,6 +32,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct bend_initrequest { char *configname; @@ -45,7 +49,7 @@ typedef struct bend_initresult void *handle; /* private handle to the backend module */ } bend_initresult; -bend_initresult MDF MDF *bend_init(bend_initrequest *r); +YAZ_EXPORT bend_initresult MDF *bend_init(bend_initrequest *r); typedef struct bend_searchrequest { @@ -63,14 +67,16 @@ typedef struct bend_searchresult char *errstring; /* system error string or NULL */ } bend_searchresult; -bend_searchresult MDF *bend_search(void *handle, bend_searchrequest *r, int *fd); -bend_searchresult MDF *bend_searchresponse(void *handle); +YAZ_EXPORT bend_searchresult *bend_search(void *handle, bend_searchrequest *r, + int *fd); +YAZ_EXPORT 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 */ + Z_RecordComposition *comp; /* Formatting instructions */ ODR stream; /* encoding stream - memory source if required */ } bend_fetchrequest; @@ -85,13 +91,15 @@ typedef struct bend_fetchresult char *errstring; /* system error string or NULL */ } bend_fetchresult; -bend_fetchresult MDF *bend_fetch(void *handle, bend_fetchrequest *r, int *fd); -bend_fetchresult MDF *bend_fetchresponse(void *handle); +YAZ_EXPORT bend_fetchresult *bend_fetch(void *handle, bend_fetchrequest *r, + int *fd); +YAZ_EXPORT bend_fetchresult *bend_fetchresponse(void *handle); 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 */ @@ -115,8 +123,9 @@ typedef struct bend_scanresult char *errstring; } bend_scanresult; -bend_scanresult MDF *bend_scan(void *handle, bend_scanrequest *r, int *fd); -bend_scanresult MDF *bend_scanresponse(void *handle); +YAZ_EXPORT bend_scanresult *bend_scan(void *handle, bend_scanrequest *r, + int *fd); +YAZ_EXPORT bend_scanresult *bend_scanresponse(void *handle); typedef struct bend_deleterequest { @@ -129,9 +138,14 @@ typedef struct bend_deleteresult char *errstring; /* system error string or NULL */ } bend_deleteresult; -bend_deleteresult MDF *bend_delete(void *handle, bend_deleterequest *r, int *fd); -bend_deleteresult MDF *bend_deleteresponse(void *handle); +YAZ_EXPORT bend_deleteresult *bend_delete(void *handle, + bend_deleterequest *r, int *fd); +YAZ_EXPORT bend_deleteresult *bend_deleteresponse(void *handle); -void MDF bend_close(void *handle); +YAZ_EXPORT void bend_close(void *handle); + +#ifdef __cplusplus +} +#endif #endif