-/*
- * Copyright (c) 1995-2007, Index Data
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2008 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.16 2007-04-12 13:52:57 adam Exp $ */
/**
* \file prt-ext.h
*/
typedef struct Z_ext_typeent
{
-#if 0
- oid_value dref; /* the direct-reference OID value. */
-#else
- int oid[OID_SIZE]; /* the direct-reference OID */
-#endif
+ 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;
/** \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(const int *oid);
-/** \brief encodes EXTERNAL record based on OID (NULL if knot known) */
-YAZ_EXPORT Z_External *z_ext_record_oid(ODR o, const int *oid,
+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
#endif