/******************************************************************************/
// @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.
//   (c) 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
//   All rights reserved.
// @version: IWD_23wk37
// $Date: 2022-01-18 15:32:38 +0100 (Tue, 18 Jan 2022) $
// $Rev: 32443 $
/******************************************************************************/

module NG_V2X_MsgContainers
{
  import from NG_V2X_TypeDefs all;

  type union NG_V2X_Message_Type {
    DIRECT_LINK_ESTABLISHMENT_REQUEST                      Direct_Link_Establishment_Request,
    DIRECT_LINK_ESTABLISHMENT_ACCEPT                       Direct_Link_Establishment_Accept,
    DIRECT_LINK_MODIFICATION_REQUEST                       Direct_Link_Modification_Request,
    DIRECT_LINK_MODIFICATION_ACCEPT                        Direct_Link_Modification_Accept,
    DIRECT_LINK_RELEASE_REQUEST                            Direct_Link_Release_Request,
    DIRECT_LINK_RELEASE_ACCEPT                             Direct_Link_Release_Accept,
    DIRECT_LINK_KEEPALIVE_REQUEST                          Direct_Link_Keepalive_Request,
    DIRECT_LINK_KEEPALIVE_RESPONSE                         Direct_Link_Keepalive_Response,
    DIRECT_LINK_AUTHENTICATION_REQUEST                     Direct_Link_Authentication_Request,
    DIRECT_LINK_AUTHENTICATION_RESPONSE                    Direct_Link_Authentication_Response,
    DIRECT_LINK_AUTHENTICATION_REJECT                      Direct_Link_Authentication_Reject,
    DIRECT_LINK_SECURITY_MODE_COMMAND                      Direct_Link_Security_Mode_Command,
    DIRECT_LINK_SECURITY_MODE_COMPLETE                     Direct_Link_Security_Mode_Complete,
    DIRECT_LINK_SECURITY_MODE_REJECT                       Direct_Link_Security_Mode_Reject,
    DIRECT_LINK_REKEYING_REQUEST                           Direct_Link_Rekeying_Request,
    DIRECT_LINK_REKEYING_RESPONSE                          Direct_Link_Rekeying_Response,
    DIRECT_LINK_IDENTIFIER_UPDATE_REQUEST                  Direct_Link_Identifier_Update_Request,
    DIRECT_LINK_IDENTIFIER_UPDATE_ACCEPT                   Direct_Link_Identifier_Update_Accept,
    DIRECT_LINK_IDENTIFIER_UPDATE_ACK                      Direct_Link_Identifier_Update_Ack,
    DIRECT_LINK_IDENTIFIER_UPDATE_REJECT                   Direct_Link_Identifier_Update_Reject,
    DIRECT_LINK_MODIFICATION_REJECT                        Direct_Link_Modification_Reject,
    DIRECT_LINK_ESTABLISHMENT_REJECT                       Direct_Link_Establishment_Reject,
    DIRECT_LINK_AUTHENTICATION_FAILURE                     Direct_Link_Authentication_Failure
  };


// The encoding rule is needed because the types in this file are part of the overall message sent over the air
}  with { encode "NAS Types"}
