/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "CIM"
 * 	found in "/home/wangsiyuan/work/wangsiyuan/asn1Demo/msgs/CIM.asn"
 * 	`asn1c -S /home/wangsiyuan/work/wangsiyuan/asn1Demo/tool/share/asn1c`
 */

#ifndef	_InteractionData_H_
#define	_InteractionData_H_


#include <asn_application.h>

/* Including external dependencies */
#include "VehReqInfo.h"
#include "MapUpdateReq.h"
#include "RoadCooRes.h"
#include "RoadControlRes.h"
#include "MapUpdateRes.h"
#include "VehConfirm.h"
#include <constr_CHOICE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum InteractionData_PR {
	InteractionData_PR_NOTHING,	/* No components present */
	InteractionData_PR_vehReqInfo,
	InteractionData_PR_mapUpdateReq,
	InteractionData_PR_roadCooRes,
	InteractionData_PR_roadControlRes,
	InteractionData_PR_mapUpdateRes,
	InteractionData_PR_vehConfirm
	/* Extensions may appear below */
	
} InteractionData_PR;

/* InteractionData */
typedef struct InteractionData {
	InteractionData_PR present;
	union InteractionData_u {
		VehReqInfo_t	 vehReqInfo;
		MapUpdateReq_t	 mapUpdateReq;
		RoadCooRes_t	 roadCooRes;
		RoadControlRes_t	 roadControlRes;
		MapUpdateRes_t	 mapUpdateRes;
		VehConfirm_t	 vehConfirm;
		/*
		 * This type is extensible,
		 * possible extensions are below.
		 */
	} choice;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} InteractionData_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_InteractionData;
extern asn_CHOICE_specifics_t asn_SPC_InteractionData_specs_1;
extern asn_TYPE_member_t asn_MBR_InteractionData_1[6];
extern asn_per_constraints_t asn_PER_type_InteractionData_constr_1;

#ifdef __cplusplus
}
#endif

#endif	/* _InteractionData_H_ */
#include <asn_internal.h>
