/* @(#)40	1.3  src/tcpip/usr/include/isode/pepsy/UNIV-types.h, isodelib7, tcpip720 4/5/93 13:23:54 */
/*
 * COMPONENT_NAME: (ISODELIB7) ISODE Libraries, Release 7
 *
 * FUNCTIONS: free_UNIV_EXTERNAL
 *
 * ORIGINS: 60
 *
 * FILE:	src/tcpip/usr/include/isode/pepsy/UNIV-types.h
 */

/* automatically generated by pepsy 6.0 #108 (oilers.netmgmt.austin.ibm.com), do not edit! */

#ifndef	_module_UNIV_defined_
#define	_module_UNIV_defined_

#ifndef	PEPSY_VERSION
#define	PEPSY_VERSION		2
#endif

#include <isode/psap.h>
#include <isode/pepsy.h>

#include <isode/pepsy/UNIV_defs.h>

#define	type_UNIV_IA5String	qbuf
#define	free_UNIV_IA5String	qb_free

#define	type_UNIV_NumericString	type_UNIV_IA5String
#define	free_UNIV_NumericString	free_UNIV_IA5String

#define	type_UNIV_PrintableString	type_UNIV_IA5String
#define	free_UNIV_PrintableString	free_UNIV_IA5String

#define	type_UNIV_T61String	qbuf
#define	free_UNIV_T61String	qb_free

#define	type_UNIV_TeletexString	type_UNIV_T61String
#define	free_UNIV_TeletexString	free_UNIV_T61String

#define	type_UNIV_VideotexString	qbuf
#define	free_UNIV_VideotexString	qb_free

#define	type_UNIV_GeneralizedTime	type_UNIV_VisibleString
#define	free_UNIV_GeneralizedTime	free_UNIV_VisibleString

#define	type_UNIV_GeneralisedTime	type_UNIV_GeneralizedTime
#define	free_UNIV_GeneralisedTime	free_UNIV_GeneralizedTime

#define	type_UNIV_UTCTime	type_UNIV_VisibleString
#define	free_UNIV_UTCTime	free_UNIV_VisibleString

#define	type_UNIV_UniversalTime	type_UNIV_UTCTime
#define	free_UNIV_UniversalTime	free_UNIV_UTCTime

#define	type_UNIV_GraphicString	qbuf
#define	free_UNIV_GraphicString	qb_free

#define	type_UNIV_VisibleString	qbuf
#define	free_UNIV_VisibleString	qb_free

#define	type_UNIV_ISO646String	type_UNIV_VisibleString
#define	free_UNIV_ISO646String	free_UNIV_VisibleString

#define	type_UNIV_GeneralString	qbuf
#define	free_UNIV_GeneralString	qb_free

#define	type_UNIV_CharacterString	qbuf
#define	free_UNIV_CharacterString	qb_free

#define	type_UNIV_ObjectDescriptor	type_UNIV_GraphicString
#define	free_UNIV_ObjectDescriptor	free_UNIV_GraphicString

struct type_UNIV_EXTERNAL {
    OID     direct__reference;

    integer     indirect__reference;

    struct type_UNIV_ObjectDescriptor *data__value__descriptor;

    struct choice_UNIV_0 {
        int         offset;
#define	choice_UNIV_0_single__ASN1__type	1
#define	choice_UNIV_0_octet__aligned	2
#define	choice_UNIV_0_arbitrary	3

        union {
            PE      single__ASN1__type;

            struct qbuf *octet__aligned;

            PE      arbitrary;
        }       un;
    } *encoding;
};
#define	free_UNIV_EXTERNAL(parm)\
	(void) fre_obj((char *) parm, _ZUNIV_mod.md_dtab[_ZEXTERNALUNIV], &_ZUNIV_mod, 1)
#endif
