/*
 * SPDX-FileCopyrightText: (c) 2003, 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
 * SPDX-License-Identifier: BSD-1-Clause
 * Generated by asn1c-0.9.22 (http://lionet.info/asn1c)
 * From ASN.1 module "RRLP-Messages"
 *     found in "../rrlp-messages.asn"
 */

#ifndef _RRLP_Component_H
#define _RRLP_Component_H

#include <asn_application.h>

/* Including external dependencies */
#include "AssistanceData.h"
#include "MsrPosition-Req.h"
#include "MsrPosition-Rsp.h"
#include "ProtocolError.h"
#include <NULL.h>
#include <constr_CHOICE.h>

#ifdef __cplusplus
extern "C"
{
#endif

    /* Dependencies */
    typedef enum RRLP_Component_PR
    {
        RRLP_Component_PR_NOTHING, /* No components present */
        RRLP_Component_PR_msrPositionReq,
        RRLP_Component_PR_msrPositionRsp,
        RRLP_Component_PR_assistanceData,
        RRLP_Component_PR_assistanceDataAck,
        RRLP_Component_PR_protocolError,
        /* Extensions may appear below */
    } RRLP_Component_PR;

    /* RRLP-Component */
    typedef struct RRLP_Component
    {
        RRLP_Component_PR present;
        union RRLP_Component_u
        {
            MsrPosition_Req_t msrPositionReq;
            MsrPosition_Rsp_t msrPositionRsp;
            AssistanceData_t assistanceData;
            NULL_t assistanceDataAck;
            ProtocolError_t protocolError;
            /*
             * This type is extensible,
             * possible extensions are below.
             */
        } choice;

        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
    } RRLP_Component_t;

    /* Implementation */
    extern asn_TYPE_descriptor_t asn_DEF_RRLP_Component;

#ifdef __cplusplus
}
#endif

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