Skip to content
LibItsMgt_Templates.ttcn3 36.2 KiB
Newer Older
garciay's avatar
garciay committed
/**
 *  @author     ETSI / STF422_EETS
 *  @version    $URL:$
 *              $Id:$
garciay's avatar
garciay committed
 *  @desc       Templates definitions for ITS station management (ISO 24102-3)
garciay's avatar
garciay committed
 */
module LibItsMgt_Templates {
    
    // LibCommon 
    import from LibCommon_BasicTypesAndValues { 
garciay's avatar
garciay committed
        type 
garciay's avatar
garciay committed
    // LibIts
    import from CALMmanagement language "ASN.1:1997" { 
        type ITS_scuId 
    }; 
garciay's avatar
garciay committed
    // FIXME Check why TTWB raises an error on ErrStatus (not found)?
garciay's avatar
garciay committed
    import from CALMllsap language "ASN.1:1997" all;/*{ 
        type 
            ErrStatus, 
            MedType , CIaClass, CIclass 
garciay's avatar
garciay committed
    };*/
    import from CALMmsap language "ASN.1:1997" all; 
    import from CALMfntp language "ASN.1:1997" { 
        type PortNumber 
    }; 
garciay's avatar
garciay committed
    import from LibItsMgt_TypesAndValues { 
        type IParamNoList, IParamList, ErrorsList 
    }; 
    import from LibItsMgt_Pixits { 
        modulepar PX_PDU_REQUEST_FILL_FIELD_VALUE 
    }; 
reinaortega's avatar
reinaortega committed
    import from LibItsCalm_Interface { 
garciay's avatar
garciay committed
        type 
            MgtMfSapCommandReq, MgtMfSapCommandConfirm, MgtMfSapRequestReq, MgtMfSapRequestConfirm, 
            MgtMnSapCommandReq, MgtMnSapCommandConfirm, MgtMnSapRequestReq, MgtMnSapRequestConfirm 
garciay's avatar
garciay committed
    }; 
    
    group mgtSapTemplates { 
        
        /**
         * @desc MF-SAP service primitives templates
garciay's avatar
garciay committed
         * @see ISO 24102-3 Clause 8
garciay's avatar
garciay committed
         */
        group mgtMfSapTemplates {
garciay's avatar
garciay committed
            
            /**
             * @desc  Send template for MF-SAP service primitives
             * @param p_msg MF-REQUEST.request service primitive to be sent
             */
            template (value) MgtMfSapRequestReq m_mgtMfSapRequestReq(
                in template (value) MF_Request_request p_msg
            ) := {
                msgInOut := p_msg
            }
            
            /**
             * @desc  Receive template for MF-SAP service primitives
             * @param p_msg MF-REQUEST.request service primitive to be received
             */
            template MgtMfSapRequestReq mw_mgtMfSapRequestReq(
                in template (present) MF_Request_request p_msg
            ) := {
                msgInOut := p_msg
            }
            
garciay's avatar
garciay committed
            /**
             * @desc  Receive template for MF-SAP service primitives
             * @param p_command_request MF-COMMAND.request service primitive to be sent
             */
            template MgtMfSapCommandReq mw_mgtMfSapCommandReq(
garciay's avatar
garciay committed
                in template (present) MF_Command_request p_command_request
            ) := {
                msgIn := p_command_request
            }
            
            /**
             * @desc  Receive template for MF-SAP service primitives
             * @param p_command_request MF-COMMAND.confirm service primitive to be sent
             */
            template MgtMfSapCommandConfirm mw_mgtMfSapCommandConfirm(
                in template (present) MF_Command_confirm p_command_confirm
            ) := {
                msgIn := p_command_confirm
            }
            
            /**
             * @desc  Receive template for MF-SAP service primitives
             * @param p_msg MF-REQUEST.confirm service primitive to be received
             */
            template MgtMfSapRequestConfirm mw_mgtMfSapRequestConfirm(
                in template (present) MF_Request_confirm p_msg
            ) := {
                msgIn := p_msg
            }
            
garciay's avatar
garciay committed
            /**
             * @desc Templates for MF-SAP
             * @see ISO 24102-3 Clause 8.2
             */
            group mfCommandRequest {
garciay's avatar
garciay committed
                group mfCommandRequestSend { 
                    
                    /**
                     * @desc Generic send template for MF-COMMAND.request service primitive
                     * @param   p_commandRef    Unique cyclic reference number of command. 
                     * @param   p_mfCmd         MF-Command message description 
                     */
                    template (value) MF_Command_request m_mfCommandRequest( 
                        in template (value) CommandRef p_commandRef, 
                        in template (value) MF_Command p_mfCmd 
                    ) := { 
                        commandRef := p_commandRef, 
                        command_param := p_mfCmd
                    } // End of template m_mfCommandRequest
garciay's avatar
garciay committed
                    
                } // End of group mfCommandRequestSend
garciay's avatar
garciay committed
                group mfCommandRequestRecv { 
                    
                    /**
                     * @desc Unspecified receive template for MF-COMMAND.request service primitive
                     * Used for:
                     * <li>modifying restrictif template</li>
                     * <li>default altstep</li>
                     * @see  a_mgtMfSapPortDefault altstep statement
garciay's avatar
garciay committed
                     */
                    template MF_Command_request mw_mfCommandRequest_any := {
                        commandRef := ?,
                        command_param := {
                            fill := ?,
                            mfCmd := ?
                        } // End of 'command_param' field
                    } // End of template mw_mfCommandRequest_any
                    
                    /**
                     * @desc Unspecified receive template for MF-COMMAND.confirm service primitive
                     * @see a_mgtMfSapPortDefault altstep statement
garciay's avatar
garciay committed
                     * @see ISO 24102-3 Clause 8.3.3
                     */
                    template MF_Command_confirm mdw_mfCommandConfirm_any := {
                        commandRef := ?,
                        cmdConfirm := {
                            fill := ?,
                            mfCmdConf := ?
                        }, // End of field 'mfCmdConf'
                        errStatus := ?
                    } // End of template mdw_mfCommandConfirm_any
                    
                    /**
                     * @desc    Receive template for MF-Request.confirm service primitive
                     * @param   p_errorStatus Error status
                     */
                    template MF_Command_confirm mdw_mfCommandConfirm(
                        in template (present) ErrStatus p_errorStatus
                    ) modifies mdw_mfCommandConfirm_any:= {
                        errStatus := p_errorStatus
                    } // End of template mdw_mfCommandConfirm
                    
                    template MF_Command_confirm mdw_mfCommandConfirm_gCsamctxConf(
                        in template (value) ErrStatus p_errorStatus
                    ) modifies mdw_mfCommandConfirm := {
                        cmdConfirm := {
                            mfCmdConf := { 
                                gCsamctx := ?
                            } // End of field 'mfCmdConf'
                        } // End of field 'cmdConfirm'
                    } // End of template mdw_mfCommandConfirm_gCsamctxConf
                    
                    /**
                     * @desc Generic receive template for MF-COMMAND.request service primitive
                     * @param   p_commandRef    Unique cyclic reference number of command. 
                     * @param   p_mfCmd         MF-Command message description 
                     */
                    template MF_Command_request mw_mfCommandRequest( 
                        in template (present) CommandRef p_commandRef, 
                        in template (present) MF_Command p_mfCmd 
                    ) := { 
                        commandRef := p_commandRef, 
                        command_param := p_mfCmd
                    } // End of template mw_mfCommandRequest
                    
                } // End of group mfCommandRequestRecv
            } // End of group mfCommandRequest
            
garciay's avatar
garciay committed
                    /**
                     * @desc Generic receive template for MF-REQUEST.request service primitive 
                     * @param   p_commandRef    Unique cyclic reference number of command. 
                     * @param   p_request_param MF-Request message description 
garciay's avatar
garciay committed
                     */
                    template (value) MF_Request_request m_mfRequestRequest( 
                        in template (value) CommandRef p_commandRef, 
                        in template (value) MF_Request p_request_param 
                    ) := { 
                        commandRef := p_commandRef, 
                        request_param := p_request_param 
                    } // End of template m_mfRequestRequest 
garciay's avatar
garciay committed
                } // End of group mfRequestRequestSend
garciay's avatar
garciay committed
                group mfRequestRequestRecv {
                    
                    /**
                     * @desc Unspecified receive template for MF-REQUEST.request service primitive
                     * Used for:
                     * <li>modifying restrictif template</li>
                     * <li>default altstep</li>
                     * @see  a_mgtMfSapPortDefault altstep statement
                     */
                    template MF_Request_request mw_mfRequestRequest_any := {
                        commandRef := ?,
                        request_param := {
                            fill := ?,
                            mfReq := ?
                        } // End of 'request_param' field
                    } // End of template mw_mfRequestRequest_any
                    
                     * @desc    Receive template for MF-Request.confirm service primitive
                     * @param   p_errorStatus Error status in response of MF-REQUEST.request service primitive
                     */
                    template MF_Request_confirm mw_mfRequestConfirm(
garciay's avatar
garciay committed
                        in template (present) ErrStatus p_errorStatus
                    ) := {
                        commandRef := ?,
                        reqConfirm := {
                            fill := ?,
                            mfReqConf := ?
garciay's avatar
garciay committed
                        }, // End of field 'mfReqConf'
                        errStatus := p_errorStatus
                    } // End of template mw_mfRequestConfirm
                    
                     * @desc    Receive template for MF-REQUEST.request service primitive
garciay's avatar
garciay committed
                     * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MF-REQUEST.request
                     * @param   p_mfReq         Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MF-SAP
                     */
                    template (present) MF_Request_request mw_mfRequestRequest( 
                        in template (present) CommandRef p_commandRef, 
                        in template (present) MF_Request p_mfReq 
                        commandRef := p_commandRef, 
                        request_param := p_mfReq
                    } // End of template mdw_mfRequestRequest
garciay's avatar
garciay committed
                } // End of group mfRequestRequestRecv
                
            } // End of group mfRequestRequest
        } // End of group mgtMfSapTemplates
garciay's avatar
garciay committed
        
        /**
         * @desc MN-SAP service primitives templates
garciay's avatar
garciay committed
         * @see ISO 24102-3 Clause 7
garciay's avatar
garciay committed
         */
        group mgtMnSapTemplates {
            /**
             * @desc  Receive template for MN-SAP service primitives. Used to monitor MN-SAP
             * @param p_msg MF-COMMAND.request service primitive to be sent
             * @see ISO 24102-3 Clause 7.2.2
             */
            template MgtMnSapCommandReq mw_mgtMnSapCommandReq(
                in template (present) MN_Command_request p_msg
            ) := {
                msgInOut := p_msg
            }
            /**
             * @desc  Receive template for MN-SAP service primitives
             * @param p_msg MF-COMMAND.confirm service primitive to be received
             * @see ISO 24102-3 Clause 7.2.3
             */
            template MgtMnSapCommandConfirm mw_mgtMnSapCommandConfirm(
                in template (present) MN_Command_confirm p_msg
            ) := {
                msgIn := p_msg
            }
            
            /**
             * @desc  Receive template for MN-SAP service primitives
             * @param p_msg MF-REQUEST.request service primitive to be received
             * @see ISO 24102-3 Clause 7.3.2
             */
            template MgtMnSapRequestReq mw_mgtMnSapRequestReq(
                in template (present) MN_Request_request p_msg
            ) := {
                msgInOut := p_msg
            }
            
            /**
             * @desc  Receive template for MN-SAP service primitives
             * @param p_msg MF-REQUEST.request service primitive to be received
             * @see ISO 24102-3 Clause 7.3.3
             */
            template MgtMnSapRequestConfirm mw_mgtMnSapRequestConfirm(
                in template (present) MN_Request_confirm p_msg
            ) := {
                msgIn := p_msg
            }
            
            group mnCommandRequest {
                group mfCommandRequestSend {
                    
                    /**
                     * @desc  Send template for MN-SAP/MN_Command_request service primitives. used to send MN-COMMAND.request when Management is the IUT
                     * @param p_msg MF-COMMAND.request service primitive to be sent
                     * @see ISO 24102-3 Clause 7.2.2
                     */
                    template (value) MgtMnSapCommandReq m_mgtMnSapCommandReq(
                        in template (value) MN_Command_request p_msg
                    ) := {
                        msgInOut := p_msg
                    }
                    
                    /**
                     * @desc Send template for MN-COMMAND.request service primitive
                     * @see ISO 24102-3 Clause 7.3.3
                     */
                    template (value) MN_Command_request m_mnCommandRequest( 
                        in template (value) CommandRef p_commandRef, 
                        in template (value) MN_Command p_mnCmd 
                    ) := { 
                        commandRef := p_commandRef, 
                        command_param := p_mnCmd
                    } // End of template mw_mnCommandRequest
                    
                } // group mnCommandRequestSend 
                group mnCommandRequestRecv { 
                    
                    /**
                     * @desc Receive template for MN-COMMAND.request service primitive
                     * @see ISO 24102-3 Clause 7.3.3
                     */
                    template MN_Command_request mw_mnCommandRequest( 
                        in template (present) CommandRef p_commandRef, 
                        in template (present) MN_Command p_mnCmd 
                    ) := { 
                        commandRef := p_commandRef, 
                        command_param := p_mnCmd
                    } // End of template mw_mnCommandRequest
                    
                    /**
                     * @desc Unspecified receive template for MN-COMMAND.confirm service primitive
                     * @see a_mgtMnSapPortDefault altstep statement
                     * @see ISO 24102-3 Clause 7.3.3
                     */
                    template MN_Command_confirm mdw_mnCommandConfirm_any := {
                        commandRef := ?,
                        cmdConfirm := {
                            fill := ?,
                            mnCmdConf := ?
                        }, // End of field 'mnCmdConf'
                        errStatus := ?
                    } // End of template mdw_mnCommandConfirm_any
                    
                    template MN_Command_confirm mdw_mnCommandConfirm(
                        in template (present) ErrStatus p_errorStatus
                    ) modifies mdw_mnCommandConfirm_any:= {
                        errStatus := p_errorStatus
                    } // End of template mdw_mnCommandConfirm
                    
                } // group nCommandRequestRecv 
garciay's avatar
garciay committed
                
            } // End of group mnCommandRequest 
garciay's avatar
garciay committed
                
                group mnRequestRequestSend { 
                    
                    /**
                     * @desc  Send template for MN-SAP/MN_Request_request service primitives
                     * @param p_msg MF-REQUEST.confirm service primitive to be received
                     * @see ISO 24102-3 Clause 7.3.2
                     */
                    template (value) MgtMnSapRequestReq m_mgtMnSapRequestReq(
                        in template (value) MN_Request_request p_msg
                    ) := {
                        msgInOut := p_msg
                    }
                    
                    /**
                     * @desc Generic receive template for MN-REQUEST.request service primitive 
                     * @param   p_commandRef    Unique cyclic reference number of command. 
                     * @param   p_request_param MF-Request message description 
                     */
                    template (value) MN_Request_request m_mnRequestRequest( 
                        in template (value) CommandRef p_commandRef, 
                        in template (value) MN_Request p_request_param 
                    ) := { 
                        commandRef := p_commandRef, 
                        request_param := p_request_param 
                    } // End of template m_mnRequestRequest 
                    
                } // End of group mnRequestRequestSend
                group mnRequestRequestRecv { 
                    
                    /**
                     * @desc Unspecified receive template for MN-REQUEST.request service primitive
                     * Used for:
                     * <li>modifying restrictif template</li>
                     * <li>default altstep</li>
                     * @see a_mgtMnSapPortDefault altstep statement
                     */
                    template MN_Request_request mw_mnRequestRequest_any := {
                        commandRef := ?,
                        request_param := {
                            fill := ?,
                            mnReq := ?
                        } // End of 'request_param' field
                    } // End of template mw_mnRequestRequest_any
                    
                    /**
                     * @desc Unspecified receive template for MN-REQUEST.confirm service primitive
                     * Used for:
                     * <li>modifying restrictif template</li>
                     * <li>default altstep</li>
                     * @see a_mgtMnSapPortDefault altstep statement
                     */
                    template MN_Request_confirm mw_mnRequestConfirm_any := {
                        commandRef := ?,
                        reqConfirm := ?,
                        errStatus := ?
                    } // End of template mw_mnRequestConfirm_any
                    
                    /**
                     * @desc    Receive template for MN-Request.confirm service primitive
                     * @param   p_errorStatus Error status in response of MN-REQUEST.request service primitive
                     */
                    template MN_Request_confirm mw_mnRequestConfirm(
                        in template (present) ErrStatus p_errorStatus
                    ) := {
                        commandRef := ?,
                        reqConfirm := {
                            fill := ?,
                            mnReqConf := ?
                        }, // End of field 'reqConfirm'
                        errStatus := p_errorStatus
                    } // End of template mw_mnRequestConfirm
                    
                    /**
                     * @desc Receive template for MN-REQUEST.request service primitive
                     * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MNREQUEST.request
                     * @param   p_mnReq         Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MN-SAP
                     */
                    template MN_Request_request mw_mnRequestRequest( 
                        in template (present) CommandRef p_commandRef, 
                        in template (present) MN_Request p_mnReq 
                    ) := { 
                        commandRef := p_commandRef, 
                        request_param := p_mnReq
                    } // End of template mw_mnRequestRequest
                    
                } // End of group mnRequestRequestRecv
            } // End of group mnRequestRequest
garciay's avatar
garciay committed
            
            group fWTNotifies { 
                
                /**
                 * @desc  Receive "FWTsetNot message" to notify the creation of an entry in a forwarding table
garciay's avatar
garciay committed
                 * @see ISO 24102-3 Clause E.2.3
garciay's avatar
garciay committed
                 */
                template (present) MN_Request_request mdw_fWTSetNotRequestReq 
                modifies mw_mnRequestRequest_any := {
                    request_param := {
garciay's avatar
garciay committed
                            fWTsetNot := {
                                fill := ?,
                                setNot := ?
                            } // End of field 'fWTsetNot'
                        } // End of field 'mfReq'
                    } // End of field 'request_param'
                } // End of template mdw_fWTSetNotRequestReq
                
            } // End of group fWTNotifies
            
            group fWTcommands {
                
                /**
                 * @desc    Received template on forwarding table update request
garciay's avatar
garciay committed
                 * @see     ISO 24102-3 Clause D.2.4
garciay's avatar
garciay committed
                 */
                template MN_Command_request mw_fWTUpdateCommandReq := {
                    commandRef := ?,
                    command_param := {
                        fill := ?,
                        mnCmd := {
                            fWTupdate := mw_fWTupdate
garciay's avatar
garciay committed
                        } // End of field 'mnCmd'
                    } // End of field 'command_param'
                } // End of template mw_fWTUpdateCommandReq
                
garciay's avatar
garciay committed
                /**
                 * @desc    Received template on forwarding table change request
                 * @see     ISO 24102-3 D.2.3 FWTset
                 */
                template MN_Command_request mw_fWTSetCommandReq := {
                    commandRef := ?,
                    command_param := {
                        fill := ?,
                        mnCmd := {
                            fWTset := mw_fWTset_any
                        } // End of field 'mnCmd'
                    } // End of field 'command_param'
                } // End of template mw_fWTSetCommandReq
                
garciay's avatar
garciay committed
                /**
                 * @desc  Receive a "FWTupdate message" to update the FNTP forwarding table
garciay's avatar
garciay committed
                 * @see ISO 24102-3 Clause E.2.4
garciay's avatar
garciay committed
                 */
                template FWTupdate mw_fWTupdate := {
                    fill := ?,
                    update := {
                        fntp := {
garciay's avatar
garciay committed
                            reference := ?, 
                            remotePort := omit,
                            linkID := omit,
                            ciStatus := omit,
                            linkPort := omit,
                            serviceInfo := omit,
                            priority := omit,
                            timeout_ := 100
                        } // End of field 'fntp'
                    } // End of field 'update'
                } // End of template mw_fWTupdate
garciay's avatar
garciay committed
                /**
                 * @desc    Generic received template on setting an entry in the forwarding table of a networking protocol
                 * Used for:
                 * <li>modifying restrictif template</li>
                 * <li>default altstep</li>
                 * @see     ISO 24102-3 D.2.3 FWTset
                 */
                template FWTset mw_fWTset_any := {
                        fill := ?,
                        set_ := {
                            fntp := {
                                remotePort := ?,
                                linkID := ?,
                                ciStatus := ?,
                                linkPort := ?,
                                serviceInfo := ?,
                                priority := ?,
                                timeout_ := ?
                            } // End of field 'fntp'
                        } // End of field 'set_'
                } // End of template mw_fWTset_any
                
garciay's avatar
garciay committed
                /**
                 * @desc    Received template on setting an entry in the forwarding table of a networking protocol
                 * @see     ISO 24102-3 D.2.3 FWTset
                 */
                template FWTset mdw_fWTset( 
garciay's avatar
garciay committed
                    in template (present) PortNumber p_remotePort
                ) modifies mw_fWTset_any := {
                        set_ := {
                            fntp := {
                                remotePort := p_remotePort
                            } // End of field 'fntp'
                        } // End of field 'set_'
                } // End of template mdw_fWTset
                
            } // End of group fWTcommands
            
        } // End of group mgtMnSapTemplates
        group mgtMiSapTemplates {
garciay's avatar
garciay committed
            
            group mgtMiSapTemplatesSend {
garciay's avatar
garciay committed
                
                /**
                 * @desc    Send template for MI-COMMAND.request service primitive
                 * @param   p_linkID        Link ID of the peer station
                 * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MN-REQUEST.request
                 * @param   p_command_param MI_Command message description
                 * @see ISO 24102-3 Clause 6.4.2 MI-COMMAND.request
                 */
                template (value) MI_Command_request m_miCommandRequest( 
                    in template (value) Link_ID p_linkId,
garciay's avatar
garciay committed
                    in template (value) CommandRef p_commandRef, 
                    in template (value) MI_Command p_command_param 
                ) := { 
                    linkID := p_linkId, 
garciay's avatar
garciay committed
                    commandRef := p_commandRef, 
                    command_param := p_command_param
                } // End of template mw_miCommandRequest
                
                /**
                 * @desc Generic receive template for MN-REQUEST.request service primitive 
                 * @param   p_linkId        Link identifier of the CI
                 * @param   p_commandRef    Unique cyclic reference number of command. 
                 * @param   p_request_param MI-Request message description 
                 */
                template (value) MI_Request_request m_miRequestRequest( 
                    in template (value) Link_ID p_linkId, 
                    in template (value) CommandRef p_commandRef, 
                    in template (value) MI_Request p_request_param 
                ) := { 
                    linkID := p_linkId, 
                    commandRef := p_commandRef, 
                    request_param := p_request_param 
                } // End of template m_miRequestRequest 
garciay's avatar
garciay committed
                
                /**
                 * @desc Send template for MI-GET service primitive
                 * @param   p_linkID        Link ID of the peer station
                 * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MN-REQUEST.request
                 * @param   p_get_param_no  Reference number of parameter to be monitored
                 * @see ISO 24102-3 6.3.1 MI-GET.request
                 * @see ISO 21218 Annex A (normative) I parameters
                 */
                template (value) MI_Get_request m_miGetRequest( 
                    in template (value) Link_ID p_linkId,
garciay's avatar
garciay committed
                    in template (value) CommandRef p_commandRef,
                    in template (value) IParamNoList p_get_param_no
                ) := {
                    linkID := p_linkId, 
garciay's avatar
garciay committed
                    commandRef := p_commandRef, 
                    get_param_no := p_get_param_no
                } // End of template m_miGetRequest
                
                /**
                 * @desc Send template for MI-SET service primitive
                 * @param   p_linkID        Link ID of the peer station
                 * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MN-REQUEST.request
                 * @param   p_get_param_no  Reference number of parameter to be monitored
                 * @see ISO 24102-3 6.3.1 MI-SET.request
                 * @see ISO 21218 Annex A (normative) I parameters
                 */
                template (value) MI_Set_request m_miSetRequest( 
                    in template (value) Link_ID p_linkId,
garciay's avatar
garciay committed
                    in template (value) CommandRef p_commandRef,
                    in template (value) IParamList p_set_param
                ) := {
                    linkID := p_linkId, 
garciay's avatar
garciay committed
                    commandRef := p_commandRef, 
                    set_param := p_set_param
                } // End of template m_miSetRequest
                
            } // End of group mgtMiSapTemplatesSend
garciay's avatar
garciay committed
            
            group mgtMiSapTemplatesRecv {
garciay's avatar
garciay committed
                
                /**
garciay's avatar
garciay committed
                 * @desc    Receive template for MI-COMMAND.request service primitive
                 * @param   p_linkID        Link ID of the peer station
                 * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MN-REQUEST.request
                 * @param   p_miCmd         MI-Command message description 
                 * @see ISO 24102-3 6.4.2 MI-COMMAND.request
garciay's avatar
garciay committed
                 */
garciay's avatar
garciay committed
                template (present) MI_Command_request mw_miCommandRequest( 
                    in template (present) Link_ID p_linkId, 
garciay's avatar
garciay committed
                    in template (present) CommandRef p_commandRef, 
                    in template (present) MI_Command p_miCmd 
                ) := { 
                    linkID := p_linkId, 
garciay's avatar
garciay committed
                    commandRef := p_commandRef, 
                    command_param := p_miCmd 
garciay's avatar
garciay committed
                } // End of template mw_miCommandRequest
garciay's avatar
garciay committed
                
garciay's avatar
garciay committed
                /**
garciay's avatar
garciay committed
                 * @desc Send template for MI-COMMAND.request service primitive
                 * @see ISO 24102-3 Clause 6.4.2 MI-COMMAND.request
                 */
                template (present) MI_Command_confirm mw_miCommandConfirm( 
                    in template (present) ErrStatus p_errorStatus
                ) := {
                    linkID := ?,
                    commandRef := ?,
                    errStatus := p_errorStatus
                } // End of template mw_miCommandConfirm
                
                /**
                 * @desc Receive template for MI-REQUEST.request service primitive
                 * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MNREQUEST.request
                 * @param   p_miReq         Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MI-SAP
                 */
                template (present) MI_Request_request mw_miRequestRequest( 
                    in template (present) Link_ID p_linkId, 
                    in template (present) CommandRef p_commandRef, 
                    in template (present) MI_Request p_miReq 
                ) := { 
                    linkID := p_linkId, 
                    commandRef := p_commandRef, 
                    request_param := p_miReq
                } // End of template mw_miRequestRequest
                
                template (present) MI_Request_confirm mw_miRequestConfirm( 
                    in template (present) ErrStatus p_errorStatus 
                ) := { 
                    linkID := ?, 
                    commandRef := ?, 
                    errStatus := p_errorStatus 
                } // End of template mw_miRequestConfirm 
                
garciay's avatar
garciay committed
                /**
                 * @desc Receive template for MI-GET.request service primitive
garciay's avatar
garciay committed
                 * @param   p_linkID        Link ID of the peer station
                 * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MN-REQUEST.request
                 * @param   p_get_param_no  Reference number of parameter to be monitored
                 * @see ISO 24102-3 6.3.1 MI-GET.request
                 * @see ISO 21218 Annex A (normative) I parameters
                 */
                template (present) MI_Get_request mw_miGetRequest( 
                    in template (present) Link_ID p_linkId,
garciay's avatar
garciay committed
                    in template (present) CommandRef p_commandRef,
                    in template (present) IParamNoList p_get_param_no
                ) := {
                    linkID := p_linkId, 
garciay's avatar
garciay committed
                    commandRef := p_commandRef, 
                    get_param_no := p_get_param_no
                } // End of template mw_miGetRequest
                
                /**
garciay's avatar
garciay committed
                 * @desc Send template for MI-GET.confirm service primitive
                 * @see ISO 24102-3 Clause 6.4.2 MI-GET.confirm
                 */
                template (present) MI_Get_confirm mw_miGetConfirm( 
                    in template (present) IParamList p_set_param
                ) := {
                    linkID := ?,
                    commandRef := ?,
                    set_param := p_set_param
                } // End of template mw_miGetConfirm
garciay's avatar
garciay committed
                
                /**
                 * @desc Receive template for MI-SET.request service primitive
garciay's avatar
garciay committed
                 * @param   p_linkID        Link ID of the peer station
                 * @param   p_commandRef    Unique cyclic reference number of command. Same value as in related MN-REQUEST.request
                 * @param   p_set_param     Reference number of parameter to be monitored
                 * @see ISO 24102-3 6.3.1 MI-SET.request
                 * @see ISO 21218 Annex A (normative) I parameters
                 */
                template (present) MI_Set_request mw_miSetRequest( 
                    in template (present) Link_ID p_linkId,
garciay's avatar
garciay committed
                    in template (present) CommandRef p_commandRef,
                    in template (present) IParamList p_set_param
                ) := {
                    linkID := p_linkId, 
garciay's avatar
garciay committed
                    commandRef := p_commandRef, 
                    set_param := p_set_param
                } // End of template mw_miSetRequest
                
garciay's avatar
garciay committed
                /**
                 * @desc Send template for MI-SET.confirm service primitive
                 * @see ISO 24102-3 Clause 6.2.2 MI-SET.confirm
                 */
                template (present) MI_Set_confirm mw_miSetConfirm( 
                    in template (present) ErrorsList p_set_param
                ) := {
                    linkID := ?,
                    commandRef := ?,
                    set_param := p_set_param
                } // End of template mw_miSetConfirm
garciay's avatar
garciay committed
                
            } // End of mgtMiSapTemplatesRecv
garciay's avatar
garciay committed
            
        } // End of group mgtMiSapTemplates
garciay's avatar
garciay committed
        
garciay's avatar
garciay committed
    } // End of group mgtSapTemplates
    
} // End of module LibItsMgt_Templates