-/*
- * Copyright (c) 1995-2007, Index Data
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2011 Index Data.
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/* $Id: prt-ext.h,v 1.15 2007-01-03 08:42:14 adam Exp $ */
/**
* \file prt-ext.h
#define PRT_EXT_H
#include <yaz/yconfig.h>
-#include <yaz/oid.h>
+#include <yaz/oid_util.h>
YAZ_BEGIN_CDECL
*/
typedef struct Z_ext_typeent
{
- oid_value dref; /* the direct-reference OID value. */
+ Odr_oid oid[OID_SIZE]; /* the direct-reference OID */
int what; /* discriminator value for the external CHOICE */
Odr_fun fun; /* decoder function */
} Z_ext_typeent;
struct Z_External
{
Odr_oid *direct_reference;
- int *indirect_reference;
+ Odr_int *indirect_reference;
char *descriptor;
int which;
/* Generic types */
#define Z_External_multisrch2 26
#define Z_External_CQL 27
#define Z_External_OCLCUserInfo 28
+#define Z_External_persistentResultSet 29
+#define Z_External_persistentQuery 30
+#define Z_External_periodicQuerySchedule 31
+#define Z_External_exportSpecification 32
+#define Z_External_exportInvocation 33
+#define Z_External_userFacets 34
union
{
/* Generic types */
Z_MultipleSearchTerms_2 *multipleSearchTerms_2;
Z_InternationalString *cql;
Z_OCLC_UserInformation *oclc;
+ Z_PRPersistentResultSet *persistentResultSet;
+
+ Z_PQueryPersistentQuery *persistentQuery;
+ Z_PQSPeriodicQuerySchedule *periodicQuerySchedule;
+ Z_ESExportSpecification *exportSpecification;
+ Z_EIExportInvocation *exportInvocation;
+ Z_FacetList *facetList;
} 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);
+YAZ_EXPORT Z_ext_typeent *z_ext_getentbyref(const Odr_oid *oid);
+/** \brief encodes EXTERNAL record based on OID (NULL if not known) */
+YAZ_EXPORT Z_External *z_ext_record_oid(ODR o, const Odr_oid *oid,
+ const char *buf, int len);
+/** \brief encodes EXTERNAL record as ANY */
+YAZ_EXPORT Z_External *z_ext_record_oid_any(ODR o, const Odr_oid *oid,
+ const char *buf, int len);
+/** \brief encodes EXTERNAL XML record */
+YAZ_EXPORT Z_External *z_ext_record_xml(ODR o, const char *buf, int len);
+
+/** \brief encodes EXTERNAL SUTRS record */
+YAZ_EXPORT Z_External *z_ext_record_sutrs(ODR o, const char *buf, int len);
+
+/** \brief encodes EXTERNAL USMARC/MARC21 record */
+YAZ_EXPORT Z_External *z_ext_record_usmarc(ODR o, const char *buf, int len);
YAZ_END_CDECL
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab