-/*
- * 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.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;
/** \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