/*
 * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
 * From ASN.1 module "MMS"
 * 	found in "../mms-extended.asn"
 * 	`asn1c -fskeletons-copy`
 */

#ifndef	_VariableAccessSpecification_H_
#define	_VariableAccessSpecification_H_


#include <asn_application.h>

/* Including external dependencies */
#include "ObjectName.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_CHOICE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum VariableAccessSpecification_PR {
	VariableAccessSpecification_PR_NOTHING,	/* No components present */
	VariableAccessSpecification_PR_listOfVariable,
	VariableAccessSpecification_PR_variableListName
} VariableAccessSpecification_PR;

/* Forward declarations */
struct ListOfVariableSeq;

struct VariableAccessSpecification__listOfVariable {
			A_SEQUENCE_OF(struct ListOfVariableSeq) list;
			
			/* Context for parsing across buffer boundaries */
			asn_struct_ctx_t _asn_ctx;
		};

/* VariableAccessSpecification */
typedef struct VariableAccessSpecification {
	VariableAccessSpecification_PR present;
	union VariableAccessSpecification_u {
		 struct VariableAccessSpecification__listOfVariable listOfVariable;
		ObjectName_t	 variableListName;
	} choice;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} VariableAccessSpecification_t;

/* Implementation */
LIB61850_INTERNAL extern asn_TYPE_descriptor_t asn_DEF_VariableAccessSpecification;

#ifdef __cplusplus
}
#endif

/* Referred external types */
#include "ListOfVariableSeq.h"

#endif	/* _VariableAccessSpecification_H_ */
