X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fprt-ext.h;h=ed29603dec7c65ec3af08257da7c4dc5a5e4b6e4;hp=dd55770521c05476f6a032b5e7f89eff12c235f9;hb=fb6d99a0c7e07d9cc4a315c447deaf6564a85505;hpb=fd4adcc80d442f84c6a1894e890b1b6ccd02615e diff --git a/include/yaz/prt-ext.h b/include/yaz/prt-ext.h index dd55770..ed29603 100644 --- a/include/yaz/prt-ext.h +++ b/include/yaz/prt-ext.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995-1999, Index Data. + * Copyright (C) 1995-2005, Index Data ApS * * Permission to use, copy, modify, distribute, and sell this software and * its documentation, in whole or in part, for any purpose, is hereby granted, @@ -23,6 +23,12 @@ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * + * $Id: prt-ext.h,v 1.13 2005-06-25 15:46:03 adam Exp $ + */ + +/** + * \file prt-ext.h + * \brief Header for utilities that handles Z39.50 EXTERNALs */ /* @@ -38,11 +44,10 @@ YAZ_BEGIN_CDECL -/* +/** * 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. */ @@ -50,6 +55,7 @@ typedef struct Z_ext_typeent Odr_fun fun; /* decoder function */ } Z_ext_typeent; +/** \brief structure for all known EXTERNALs */ struct Z_External { Odr_oid *direct_reference; @@ -79,41 +85,73 @@ struct Z_External #define Z_External_universeReport 18 #define Z_External_ESAdmin 19 #define Z_External_update0 20 +#define Z_External_userInfo1 21 +#define Z_External_charSetandLanguageNegotiation 22 +#define Z_External_acfPrompt1 23 +#define Z_External_acfDes1 24 +#define Z_External_acfKrb1 25 +#define Z_External_multisrch2 26 +#define Z_External_CQL 27 +#define Z_External_OCLCUserInfo 28 union { - /* Generic types */ - Odr_any *single_ASN1_type; - Odr_oct *octet_aligned; - Odr_bitmask *arbitrary; - - /* Specific types */ - Z_SUTRS *sutrs; - Z_ExplainRecord *explainRecord; - Z_ResourceReport1 *resourceReport1; - Z_ResourceReport2 *resourceReport2; - Z_PromptObject1 *promptObject1; - Z_GenericRecord *grs1; - Z_TaskPackage *extendedService; - Z_ItemOrder *itemOrder; - Z_DiagnosticFormat *diag1; - Z_Espec1 *espec1; - Z_BriefBib *summary; + /* Generic types */ + Odr_any *single_ASN1_type; + Odr_oct *octet_aligned; + Odr_bitmask *arbitrary; + + /* Specific types */ + Z_SUTRS *sutrs; + Z_ExplainRecord *explainRecord; + + Z_ResourceReport1 *resourceReport1; + Z_ResourceReport2 *resourceReport2; + Z_PromptObject1 *promptObject1; + Z_GenericRecord *grs1; + Z_TaskPackage *extendedService; + + Z_ItemOrder *itemOrder; + Z_DiagnosticFormat *diag1; + Z_Espec1 *espec1; + Z_BriefBib *summary; Z_OPACRecord *opac; - Z_SearchInfoReport *searchResult1; - Z_IUUpdate *update; - Z_DateTime *dateTime; + + Z_SearchInfoReport *searchResult1; + Z_IUUpdate *update; + Z_DateTime *dateTime; Z_UniverseReport *universeReport; Z_Admin *adminService; - Z_IU0Update *update0; + + Z_IU0Update *update0; + Z_OtherInformation *userInfo1; + Z_CharSetandLanguageNegotiation *charNeg3; + Z_PromptObject1 *acfPrompt1; + Z_DES_RN_Object *acfDes1; + + Z_KRBObject *acfKrb1; + Z_MultipleSearchTerms_2 *multipleSearchTerms_2; + Z_InternationalString *cql; + Z_OCLC_UserInformation *oclc; } u; }; +/** \brief codec for BER EXTERNAL */ YAZ_EXPORT int z_External(ODR o, Z_External **p, int opt, const char *name); +/** \brief returns type information for OID (NULL if not known) */ YAZ_EXPORT Z_ext_typeent *z_ext_getentbyref(oid_value val); +/** \brief encodes EXTERNAL record based on OID (NULL if knot known) */ YAZ_EXPORT Z_External *z_ext_record(ODR o, int format, const char *buf, - int len); + int len); YAZ_END_CDECL #endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +