X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fprt-ext.h;h=988f75e792467046ce41dc81def5ae0a18d85382;hb=28231d4c83085109d800c6689ae778cc041c51e7;hp=9e1f48f0da515fc9080f2803301e0eee8c8af110;hpb=4ae699c927bc26f3550d1a8ca911e8d1fe75dbfc;p=yaz-moved-to-github.git diff --git a/include/prt-ext.h b/include/prt-ext.h index 9e1f48f..988f75e 100644 --- a/include/prt-ext.h +++ b/include/prt-ext.h @@ -34,6 +34,22 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Used to keep track of known External definitions (a loose approach + * to DEFINED_BY). + */ + +typedef struct Z_ext_typeent +{ + oid_value dref; /* the direct-reference OID value. */ + int what; /* discriminator value for the external CHOICE */ + Odr_fun fun; /* decoder function */ +} Z_ext_typeent; + struct Z_External { Odr_oid *direct_reference; @@ -55,6 +71,10 @@ struct Z_External #define Z_External_itemOrder 10 #define Z_External_diag1 11 #define Z_External_espec1 12 +#define Z_External_summary 13 +#define Z_External_OPAC 14 +#define Z_External_searchResult1 15 +#define Z_External_update 16 union { /* Generic types */ @@ -73,9 +93,17 @@ struct Z_External Z_ItemOrder *itemOrder; Z_DiagnosticFormat *diag1; Z_Espec1 *espec1; + Z_BriefBib *summary; + Z_SearchInfoReport *searchResult1; + Z_IUUpdate *update; } u; }; -int z_External(ODR o, Z_External **p, int opt); +YAZ_EXPORT int z_External(ODR o, Z_External **p, int opt); +YAZ_EXPORT Z_ext_typeent *z_ext_getentbyref(oid_value val); + +#ifdef __cplusplus +} +#endif #endif