X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fprt-ext.h;h=659a9e3974884936d0fa8d067f703319a74994b3;hb=00757f0ff95a6e5557823e151a7ae9d6f48f0f8f;hp=9bfd485907de8ef470ee0ac3421a7951d49f9c6b;hpb=05586eb8028d6f6a84d6389f8f3ab829b19f1760;p=yaz-moved-to-github.git diff --git a/include/yaz/prt-ext.h b/include/yaz/prt-ext.h index 9bfd485..659a9e3 100644 --- a/include/yaz/prt-ext.h +++ b/include/yaz/prt-ext.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995-2002, 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.12 2005-01-27 09:08:42 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; @@ -85,6 +91,8 @@ struct Z_External #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 */ @@ -122,12 +130,17 @@ struct Z_External 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);