/******************************************************************************/
// @copyright   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.
//   Trademark 2010, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC).
//   All rights reserved.
// @version: IWD_10wk37
// $Date: 2010-09-13 12:42:27 +0200 (Mon, 13 Sep 2010) $
// $Rev: 3856 $
/******************************************************************************/

module MTC_Component {
  import from EUTRA_Component all;
  import from UTRAN_Component all;
  import from GERAN_Component all;
  import from CDMA2000_Component all;

  import from UpperTesterDefs all;
  import from EUTRA_ASP_TypeDefs all;
  import from EUTRA_ASP_DrbDefs all;
  import from NasEmu_AspTypes all;
  import from UTRAN_TypeDefs all;
  import from GERAN_TypeDefs all;
  import from CDMA2000_ASP_TypeDefs all;

  import from IP_ASP_TypeDefs all;

  /*--------------------------------------------------------------------------*/
  // local type definitions:

  type record MTC_Components_Type {     /* @status    APPROVED */
    EUTRA_PTC  Eutra,
    UTRAN_PTC  Utran,
    GERAN_PTC  Geran,
    CDMA2000_PTC Cdma2000               /* @sic R5-104796 change 12: CDMA2000 added sic@ */
  };

  // Component:

  type component MTC {                  /* @status    APPROVED */
    var MTC_Components_Type vc_Components;
    // Ports:
    port MTC_System_Ut      Ut;     // Upper Tester: Port at MTC connected to the system interface
    port UT_MTC_PTC_PORT    E_Ut;   // Upper Tester: Port at MTC connected to EUTRA PTC
    port UT_MTC_PTC_PORT    U_Ut;   // Upper Tester: Port at MTC connected to UTRAN PTC
    port UT_MTC_PTC_PORT    G_Ut;   // Upper Tester: Port at MTC connected to GERAN PTC
    port UT_MTC_PTC_PORT    CDMA2000_Ut; // Upper Tester: Port at MTC connected to CDMA2000 PTC
  };

  type component SYSTEM {               /* @status    APPROVED */
    // MTC ports
    port MTC_System_Ut       Ut;
    // EUTRA ports
    port EUTRA_SYSTEM_PORT   E_SYS;
    port EUTRA_SYSIND_PORT   E_SYSIND;
    port EUTRA_DRB_PORT      E_DRB;

    // NASEMU ports
    port NASEMU_SYSTEM_PORT  E_SRB;

    // UTRAN ports
    port UTRAN_AM_PORT          S_U_AM;
    port UTRAN_TM_PORT          S_U_TM;
    port UTRAN_UM_PORT          S_U_UM;
    port UTRAN_CPHY_PORT        S_U_CPHY;
    port UTRAN_CMAC_PORT        S_U_CMAC;
    port UTRAN_CRLC_PORT        S_U_CRLC;
    port UTRAN_Dc_PORT          S_U_Dc;

    // GERAN ports
    port GERAN_CL1_PORT         S_G_CL1;
    port GERAN_CLLC_PORT        S_G_CLLC;
    port GERAN_CRLC_PORT        S_G_CRLC;
    port GERAN_L2_PORT          S_G_L2;
    port GERAN_LLC_PORT         S_G_LLC;
    port GERAN_RLC_PORT         S_G_RLC;

    // CDMA2000 ports
    port CDMA2000_SYSTEM_PORT        CDMA2000_SYS;          /* @sic R5-104796 change 12: CDMA2000 added sic@ */
    port CDMA2000_SYSCMD_IND_PORT    CDMA2000_SYSCMD_IND;   /* @sic R5-104796 change 12: CDMA2000 added sic@ */
    port CDMA2000_RLP_FLOW_PORT      CDMA2000_RLP_FLOW;     /* @sic R5-104796 change 12: CDMA2000 added sic@ */

    // IP PTC
    port IP_CONTROL_PORT        IP_CTRL;
    port IP_SOCKET_PORT         IP_SOCK;
  };



}
