/*
 * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
 * From ASN.1 module "SABP-PDU"
 * 	found in "../../asn1/sabp/SABP-PDU.asn"
 */

#ifndef	_SABP_UnsuccessfulOutcome_H_
#define	_SABP_UnsuccessfulOutcome_H_


#include <asn_application.h>

/* Including external dependencies */
#include <osmocom/sabp/SABP_ProcedureCode.h>
#include <osmocom/sabp/SABP_Criticality.h>
#include <ANY.h>
#include <constr_SEQUENCE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* SABP_UnsuccessfulOutcome */
typedef struct SABP_UnsuccessfulOutcome {
	SABP_ProcedureCode_t	 procedureCode;
	SABP_Criticality_t	 criticality;
	ANY_t	 value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SABP_UnsuccessfulOutcome_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SABP_UnsuccessfulOutcome;

#ifdef __cplusplus
}
#endif

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