Happy new year
[yaz-moved-to-github.git] / include / yaz / prt-ext.h
index 3622192..9256d28 100644 (file)
@@ -1,5 +1,5 @@
-/*
- * Copyright (c) 1995-2006, Index Data
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2009 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:
@@ -24,7 +24,6 @@
  * (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.14 2006-10-09 21:02:41 adam Exp $ */
 
 /**
  * \file prt-ext.h
@@ -39,7 +38,7 @@
 #define PRT_EXT_H
 
 #include <yaz/yconfig.h>
-#include <yaz/oid.h>
+#include <yaz/oid_util.h>
 
 
 YAZ_BEGIN_CDECL
@@ -50,7 +49,7 @@ 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;
@@ -139,10 +138,21 @@ struct Z_External
 /** \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