/**
 *    @author   ETSI / STF
 *    @version  $URL:$
 *              $Id:$
 *    @desc     This module provides the types used by the test component for NGAP tests.
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
 *    @see      ETSI TS  / 3GPP TS 
 */
module Lib_NG_NAS_Interface {

    // LibCommon
    import from LibCommon_Sync all;
    
    //Lib3GPP
    import from NG_NAS_MsgContainers all;
    import from NG_NAS_SecurityFunctions all;

    // LibNGAP
    //import from NGAP_IEs language "ASN.1:1997" all;
    //import from NGAP_PDU_Descriptions language "ASN.1:1997" all;
    //import from LibNGAP_Pixits all;
    import from LibNGAP_Interface all;

    group portDefinitions {
    } // End of group portDefinitions 

    group interfacePorts {
        type component NGNASComponent extends NGAPComponent {//extends SelfSyncComp {
            // Port
            //port NGAPPort N2_gNBaMF_P;

            // Global variables
            var template NG_NAS_UL_Message_Type vt_NgNasUl_Msg := omit;
            var template NG_NAS_DL_Message_Type vt_NgNasDl_Msg := omit;
            var octetstring vc_sendNAS_PDU       :=''O;
            var octetstring vc_recvNAS_PDU       :=''O;
            var octetstring vc_recvNAS_PDUDefault:=''O;
            var NG_NAS_UL_Message_Type vc_recvNgNasUl_Msg;
            var NG_NAS_DL_Message_Type vc_recvNgNasDl_Msg;
            var NG_NAS_SecurityParams_Type       vc_ng_nas_security_params_type := {};
            
            // Init of values at component started
            
            // General timers
            //timer tc_wait  := PX_NGAP_TWAIT;
            //timer tc_delay := 0.3;  // delay next Request

            // Variables for storing default references
            var default     vc_default_nas;
            var default     vc_def_catchSyncStop_nas;

        } // End of type component NASComponent

    } // End of group interfacePorts 

} // End of module Lib_NG_NAS_Interface

