#include <yconfig.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef struct Z_OccurValues
{
int *start;
typedef struct Z_Occurrences
{
- enum
- {
- Z_Occurrences_all,
- Z_Occurrences_last,
- Z_Occurrences_values
- } which;
+ int which;
+#define Z_Occurrences_all 0
+#define Z_Occurrences_last 1
+#define Z_Occurrences_values 2
union
{
Odr_null *all;
typedef struct Z_SpecificTag
{
+ Odr_oid *schemaId; /* OPTIONAL */
int *tagType; /* OPTIONAL */
Z_StringOrNumeric *tagValue;
Z_Occurrences *occurrences; /* OPTIONAL */
typedef struct Z_ETagUnit
{
- enum
- {
- Z_ETagUnit_specificTag,
- Z_ETagUnit_wildThing,
- Z_ETagUnit_wildPath
- } which;
+ int which;
+#define Z_ETagUnit_specificTag 0
+#define Z_ETagUnit_wildThing 1
+#define Z_ETagUnit_wildPath 2
union
{
Z_SpecificTag *specificTag;
typedef struct Z_CompositeElement
{
- enum
- {
- Z_CompoElement_primitives,
- Z_CompoElement_specs
- } which;
+ int which;
+#define Z_CompoElement_primitives 0
+#define Z_CompoElement_specs 1
union
{
Z_CompoPrimitives *primitives;
typedef struct Z_ElementRequest
{
- enum
- {
- Z_ERequest_simpleElement,
- Z_ERequest_compositeElement
- } which;
+ int which;
+#define Z_ERequest_simpleElement 0
+#define Z_ERequest_compositeElement 1
union
{
Z_SimpleElement *simpleElement;
Z_ElementRequest **elements; /* OPTIONAL */
} Z_Espec1;
-int z_Espec1(ODR o, Z_Espec1 **p, int opt);
+YAZ_EXPORT int z_Espec1(ODR o, Z_Espec1 **p, int opt);
+
+#ifdef __cplusplus
+}
+#endif
#endif