/*
 *    any.h
 *
 *    "ANY-TEST" ASN.1 module C type definitions and prototypes
 *
 *    This .h file was generated by snacc on Wed Oct 23 09:29:42 2002
 *
 *    UBC snacc written compiler by Mike Sample
 *
 *    NOTE: This is a machine generated file--editing not recommended
 */


#ifndef _any_h_
#define _any_h_



#include "asn-incl.h"


typedef enum ANY_TESTAnyId
{
    intId_ANY_ID = 0,
    boolId_ANY_ID = 1,
    octsId_ANY_ID = 2,
    bitsId_ANY_ID = 3,
    realId_ANY_ID = 4,
    intOid_ANY_ID = 5,
    boolOid_ANY_ID = 6,
    octsOid_ANY_ID = 7,
    bitsOid_ANY_ID = 8,
    realOid_ANY_ID = 9} ANY_TESTAnyId;


void InitAnyANY_TEST();

typedef AsnBits BitsId; /* [PRIVATE 1] BIT STRING */

AsnLen BEncBitsId PROTO ((GenBuf * b, BitsId *v));

void BDecBitsId PROTO ((GenBuf * b, BitsId *result, AsnLen *bytesDecoded, ENV_TYPE env));
#define BEncBitsIdContent BEncAsnBitsContent

#define BDecBitsIdContent BDecAsnBitsContent

#define PrintBitsId PrintAsnBits

#define FreeBitsId FreeAsnBits 




typedef AsnOcts OctsId; /* [PRIVATE 2] IMPLICIT OCTET STRING */

AsnLen BEncOctsId PROTO ((GenBuf * b, OctsId *v));

void BDecOctsId PROTO ((GenBuf * b, OctsId *result, AsnLen *bytesDecoded, ENV_TYPE env));
#define BEncOctsIdContent BEncAsnOctsContent

#define BDecOctsIdContent BDecAsnOctsContent

#define PrintOctsId PrintAsnOcts

#define FreeOctsId FreeAsnOcts 




typedef struct AttrValue1 /* SEQUENCE */
{
    AsnInt id; /* INTEGER */
    AsnAnyDefinedBy anyDefBy; /* ANY DEFINED BY id */
} AttrValue1;

AsnLen BEncAttrValue1Content PROTO ((GenBuf * b, AttrValue1 *v));

void BDecAttrValue1Content PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, AttrValue1 *v, AsnLen *bytesDecoded, ENV_TYPE env));


void PrintAttrValue1 PROTO ((FILE* f, AttrValue1 *v, unsigned short int indent));
void FreeAttrValue1 PROTO ((AttrValue1 *v));





typedef struct AttrValue2 /* SEQUENCE */
{
    AsnOid id; /* OBJECT IDENTIFIER */
    AsnAnyDefinedBy anyDefBy; /* ANY DEFINED BY id */
} AttrValue2;

AsnLen BEncAttrValue2Content PROTO ((GenBuf * b, AttrValue2 *v));

void BDecAttrValue2Content PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, AttrValue2 *v, AsnLen *bytesDecoded, ENV_TYPE env));


void PrintAttrValue2 PROTO ((FILE* f, AttrValue2 *v, unsigned short int indent));
void FreeAttrValue2 PROTO ((AttrValue2 *v));





typedef AsnList TSeq1; /* SEQUENCE OF AttrValue1 */

AsnLen BEncTSeq1Content PROTO ((GenBuf * b, TSeq1 *v));

void BDecTSeq1Content PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, TSeq1 *v, AsnLen *bytesDecoded, ENV_TYPE env));


void PrintTSeq1 PROTO ((FILE* f, TSeq1 *v, unsigned short int indent));
void FreeTSeq1 PROTO ((TSeq1 *v));





typedef AsnList TSeq2; /* SEQUENCE OF AttrValue2 */

AsnLen BEncTSeq2Content PROTO ((GenBuf * b, TSeq2 *v));

void BDecTSeq2Content PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, TSeq2 *v, AsnLen *bytesDecoded, ENV_TYPE env));


void PrintTSeq2 PROTO ((FILE* f, TSeq2 *v, unsigned short int indent));
void FreeTSeq2 PROTO ((TSeq2 *v));





typedef struct AnyTestType /* SEQUENCE */
{
    TSeq1* intMap; /* TSeq1 */
    TSeq2* oidMap; /* TSeq2 */
} AnyTestType;

AsnLen BEncAnyTestType PROTO ((GenBuf * b, AnyTestType *v));

void BDecAnyTestType PROTO ((GenBuf * b, AnyTestType *result, AsnLen *bytesDecoded, ENV_TYPE env));
AsnLen BEncAnyTestTypeContent PROTO ((GenBuf * b, AnyTestType *v));

void BDecAnyTestTypeContent PROTO ((GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, AnyTestType *v, AsnLen *bytesDecoded, ENV_TYPE env));


void PrintAnyTestType PROTO ((FILE* f, AnyTestType *v, unsigned short int indent));
void FreeAnyTestType PROTO ((AnyTestType *v));





extern AsnInt intId;
extern AsnInt boolId;
extern AsnInt octsId;
extern AsnInt bitsId;
extern AsnInt realId;
extern AsnOid intOid;
extern AsnOid boolOid;
extern AsnOid octsOid;
extern AsnOid bitsOid;
extern AsnOid realOid;

#endif /* conditional include of any.h */
