17 #define PRT_EXT_DEBUG 0
44 {{1, 2, 840, 10003, 9, 5, 1,-1},
Z_External_update0, (
Odr_fun)
z_IU0Update},
45 {{1, 2, 840, 10003, 9, 5, 1, 1,-1},
Z_External_update, (
Odr_fun)
z_IUUpdate},
47 {{1, 2, 840, 10003, 7, 1000, 81, 1,-1},
Z_External_universeReport,(
Odr_fun)
z_UniverseReport},
48 {{1, 2, 840, 10003, 9, 1000, 81, 1,-1},
Z_External_ESAdmin, (
Odr_fun)
z_Admin},
50 {{1, 2, 840, 10003, 10, 1000, 81, 5,-1},
Z_External_userFacets, (
Odr_fun)
z_FacetList},
177 {-1, -1, -1, -1, 0, 0}
183 if (!(
odr_oid(o, &(*p)->direct_reference, 1, 0) &&
192 if ((*p)->direct_reference)
195 if ((oid = oid_getentbyoid((*p)->direct_reference)))
208 int zclass, tag, cons;
215 tag, cons, zclass,
type->what);
217 if (zclass ==
ODR_CONTEXT && tag == 1 && cons == 0)
240 r = (*
type->fun)(o, &voidp, 0, 0);
241 (*p)->which =
type->what;
242 (*p)->u.single_ASN1_type = (
Odr_any*) voidp;
251 if (zclass ==
ODR_CONTEXT && tag == 0 && cons == 1)
263 const char *buf,
int len)
321 memcpy(sutrs->
buf, buf, len);
339 const char *buf,
int len)
345 const char *buf,
int len)
void yaz_log(int level, const char *fmt,...)
Writes log message.
#define YLOG_LOG
log level: log (regular)
void * nmem_malloc(NMEM n, size_t size)
allocates memory block on NMEM handle
Internal ODR definitions.
int(* Odr_fun)(ODR, char **, int, const char *)
#define odr_implicit_tag(o, t, p, cl, tg, opt, name)
int odr_any(ODR o, Odr_any **p, int opt, const char *name)
int odr_bitstring(ODR o, Odr_bitmask **p, int opt, const char *name)
void odr_choice_bias(ODR o, int what)
int odr_choice(ODR o, Odr_arm arm[], void *p, void *whichp, const char *name)
int odr_integer(ODR o, Odr_int **p, int opt, const char *name)
void * odr_malloc(ODR o, size_t size)
int odr_octetstring(ODR o, Odr_oct **p, int opt, const char *name)
int odr_oid(ODR o, Odr_oid **p, int opt, const char *name)
int odr_sequence_end(ODR o)
int odr_sequence_begin(ODR o, void *p, int size, const char *name)
int odr_peektag(ODR o, int *zclass, int *tag, int *cons)
int odr_implicit_settag(ODR o, int zclass, int tag)
int odr_graphicstring(ODR o, char **p, int opt, const char *name)
Odr_oid * odr_oiddup(ODR odr, const Odr_oid *o)
Odr_oid * odr_oiddup_nmem(NMEM nmem, const Odr_oid *o)
const Odr_oid yaz_oid_recsyn_sutrs[]
const Odr_oid yaz_oid_recsyn_summary[]
const Odr_oid yaz_oid_recsyn_explain[]
const Odr_oid yaz_oid_recsyn_grs_1[]
const Odr_oid yaz_oid_recsyn_xml[]
const Odr_oid yaz_oid_recsyn_extended[]
const Odr_oid yaz_oid_recsyn_opac[]
const Odr_oid yaz_oid_recsyn_usmarc[]
int oid_oidcmp(const Odr_oid *o1, const Odr_oid *o2)
compares OIDs
Header for Z39.50 Protocol.
Z_ext_typeent * z_ext_getentbyref(const Odr_oid *oid)
returns type information for OID (NULL if not known)
Z_External * z_ext_record_sutrs(ODR o, const char *buf, int len)
encodes EXTERNAL SUTRS record
Z_External * z_ext_record_oid_nmem(NMEM nmem, const Odr_oid *oid, const char *buf, int len)
encodes EXTERNAL record based on OID (NULL if not known)
Z_External * z_ext_record_xml(ODR o, const char *buf, int len)
encodes EXTERNAL XML record
Z_External * z_ext_record_oid(ODR o, const Odr_oid *oid, const char *buf, int len)
encodes EXTERNAL record based on OID (NULL if not known)
static Z_ext_typeent type_table[]
int z_External(ODR o, Z_External **p, int opt, const char *name)
codec for BER EXTERNAL
Z_External * z_ext_record_usmarc(ODR o, const char *buf, int len)
encodes EXTERNAL USMARC/MARC21 record
Z_External * z_ext_record_oid_any(ODR o, const Odr_oid *oid, const char *buf, int len)
encodes EXTERNAL record as ANY
#define Z_External_acfKrb1
#define Z_External_single
#define Z_External_update0
#define Z_External_persistentResultSet
#define Z_External_summary
#define Z_External_persistentQuery
#define Z_External_espec1
#define Z_External_promptObject1
#define Z_External_acfDes1
#define Z_External_searchResult1
#define Z_External_resourceReport2
#define Z_External_universeReport
#define Z_External_multisrch2
#define Z_External_resourceReport1
#define Z_External_userInfo1
#define Z_External_explainRecord
#define Z_External_charSetandLanguageNegotiation
#define Z_External_userFacets
#define Z_External_acfPrompt1
#define Z_External_arbitrary
#define Z_External_exportSpecification
#define Z_External_OCLCUserInfo
#define Z_External_periodicQuerySchedule
#define Z_External_update
#define Z_External_dateTime
#define Z_External_exportInvocation
#define Z_External_extendedService
#define Z_External_ESAdmin
#define Z_External_itemOrder
structure for all known EXTERNALs
Odr_int * indirect_reference
Odr_oid * direct_reference
Odr_any * single_ASN1_type
int z_DES_RN_Object(ODR o, Z_DES_RN_Object **p, int opt, const char *name)
int z_KRBObject(ODR o, Z_KRBObject **p, int opt, const char *name)
int z_CharSetandLanguageNegotiation(ODR o, Z_CharSetandLanguageNegotiation **p, int opt, const char *name)
int z_InternationalString(ODR o, Z_InternationalString **p, int opt, const char *name)
int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt, const char *name)
int z_DateTime(ODR o, Z_DateTime **p, int opt, const char *name)
int z_DiagnosticFormat(ODR o, Z_DiagnosticFormat **p, int opt, const char *name)
int z_Espec1(ODR o, Z_Espec1 **p, int opt, const char *name)
int z_TaskPackage(ODR o, Z_TaskPackage **p, int opt, const char *name)
int z_ExplainRecord(ODR o, Z_ExplainRecord **p, int opt, const char *name)
int z_FacetList(ODR o, Z_FacetList **p, int opt, const char *name)
int z_GenericRecord(ODR o, Z_GenericRecord **p, int opt, const char *name)
int z_MultipleSearchTerms_2(ODR o, Z_MultipleSearchTerms_2 **p, int opt, const char *name)
int z_OCLC_UserInformation(ODR o, Z_OCLC_UserInformation **p, int opt, const char *name)
int z_OPACRecord(ODR o, Z_OPACRecord **p, int opt, const char *name)
int z_ResourceReport1(ODR o, Z_ResourceReport1 **p, int opt, const char *name)
int z_ResourceReport2(ODR o, Z_ResourceReport2 **p, int opt, const char *name)
int z_BriefBib(ODR o, Z_BriefBib **p, int opt, const char *name)
int z_SUTRS(ODR o, Odr_oct **p, int opt, const char *name)
int z_SearchInfoReport(ODR o, Z_SearchInfoReport **p, int opt, const char *name)
int z_UniverseReport(ODR o, Z_UniverseReport **p, int opt, const char *name)
int z_Admin(ODR o, Z_Admin **p, int opt, const char *name)
int z_EIExportInvocation(ODR o, Z_EIExportInvocation **p, int opt, const char *name)
int z_ESExportSpecification(ODR o, Z_ESExportSpecification **p, int opt, const char *name)
int z_IOItemOrder(ODR o, Z_IOItemOrder **p, int opt, const char *name)
int z_PQueryPersistentQuery(ODR o, Z_PQueryPersistentQuery **p, int opt, const char *name)
int z_PQSPeriodicQuerySchedule(ODR o, Z_PQSPeriodicQuerySchedule **p, int opt, const char *name)
int z_PRPersistentResultSet(ODR o, Z_PRPersistentResultSet **p, int opt, const char *name)
int z_IU0Update(ODR o, Z_IU0Update **p, int opt, const char *name)
int z_IUUpdate(ODR o, Z_IUUpdate **p, int opt, const char *name)