/**
* @author ETSI / STF422_EETS
* @version $URL$
* $Id$
* @desc Templates definitions for ITS station management (ISO 24102-3)
*/
module LibItsMgt_Templates {
// LibCommon
import from LibCommon_BasicTypesAndValues {
type
UInt8, UInt16;
};
// LibIts
import from CALMmanagement language "ASN.1:1997" {
type ITS_scuId
};
// FIXME Check why TTWB raises an error on ErrStatus (not found)?
import from CALMllsap language "ASN.1:1997" all;/*{
type
ErrStatus,
MedType , CIaClass, CIclass
};*/
import from CALMmsap language "ASN.1:1997" all;
import from CALMfntp language "ASN.1:1997" {
type PortNumber
};
import from LibItsMgt_TypesAndValues {
type IParamNoList, IParamList, ErrorsList
};
import from LibItsMgt_Pixits {
modulepar PX_PDU_REQUEST_FILL_FIELD_VALUE
};
import from LibItsCalm_Interface {
type
MgtMfSapCommandReq, MgtMfSapCommandConfirm, MgtMfSapRequestReq, MgtMfSapRequestConfirm,
MgtMnSapCommandReq, MgtMnSapCommandConfirm, MgtMnSapRequestReq, MgtMnSapRequestConfirm
};
group mgtSapTemplates {
/**
* @desc MF-SAP service primitives templates
* @see ISO 24102-3 Clause 8
*/
group mgtMfSapTemplates {
/**
* @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
}
/**
* @desc Receive template for MF-SAP service primitives
* @param p_command_request MF-COMMAND.request service primitive to be sent
*/
template MgtMfSapCommandReq mw_mgtMfSapCommandReq(
in template (present) MF_Command_request p_commandRequest
) := {
msgIn := p_commandRequest
}
/**
* @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_commandConfirm
) := {
msgIn := p_commandConfirm
}
/**
* @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
}
/**
* @desc Templates for MF-SAP
* @see ISO 24102-3 Clause 8.2
*/
group mfCommandRequest {
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
} // End of group mfCommandRequestSend
group mfCommandRequestRecv {
/**
* @desc Unspecified receive template for MF-COMMAND.request service primitive
* Used for:
*
modifying restrictif template
* default altstep
* @see a_mgtMfSapPortDefault altstep statement
*/
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
* @see ISO 24102-3 Clause 8.3.3
*/
template MF_Command_confirm mw_mfCommandConfirm_any := {
commandRef := ?,
cmdConfirm := {
fill := ?,
mfCmdConf := ?
}, // End of field 'mfCmdConf'
errStatus := ?
} // End of template mw_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 mw_mfCommandConfirm_any:= {
errStatus := p_errorStatus
} // End of template mw_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
group mfRequestRequest {
group mfRequestRequestSend {
/**
* @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
*/
template (value) MF_Request_request m_mfRequestRequest(
in template (value) CommandRef p_commandRef,
in template (value) MF_Request p_requestParam
) := {
commandRef := p_commandRef,
request_param := p_requestParam
} // End of template m_mfRequestRequest
} // End of group mfRequestRequestSend
group mfRequestRequestRecv {
/**
* @desc Unspecified receive template for MF-REQUEST.request service primitive
* Used for:
* modifying restrictif template
* default altstep
* @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(
in template (present) ErrStatus p_errorStatus
) := {
commandRef := ?,
reqConfirm := {
fill := ?,
mfReqConf := ?
}, // End of field 'mfReqConf'
errStatus := p_errorStatus
} // End of template mw_mfRequestConfirm
/**
* @desc Receive template for MF-REQUEST.request service primitive
* @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 mw_mfRequestRequest
} // End of group mfRequestRequestRecv
} // End of group mfRequestRequest
} // End of group mgtMfSapTemplates
/**
* @desc MN-SAP service primitives templates
* @see ISO 24102-3 Clause 7
*/
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 mw_mnCommandConfirm_any := {
commandRef := ?,
cmdConfirm := {
fill := ?,
mnCmdConf := ?
}, // End of field 'mnCmdConf'
errStatus := ?
} // End of template mw_mnCommandConfirm_any
template MN_Command_confirm mdw_mnCommandConfirm(
in template (present) ErrStatus p_errorStatus
) modifies mw_mnCommandConfirm_any:= {
errStatus := p_errorStatus
} // End of template mdw_mnCommandConfirm
} // group nCommandRequestRecv
} // End of group mnCommandRequest
group mnRequestRequest {
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_requestParam
) := {
commandRef := p_commandRef,
request_param := p_requestParam
} // End of template m_mnRequestRequest
} // End of group mnRequestRequestSend
group mnRequestRequestRecv {
/**
* @desc Unspecified receive template for MN-REQUEST.request service primitive
* Used for:
* modifying restrictif template
* default altstep
* @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:
* modifying restrictif template
* default altstep
* @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
group fwtNotifies {
/**
* @desc Receive "FWTsetNot message" to notify the creation of an entry in a forwarding table
* @see ISO 24102-3 Clause E.2.3
*/
template (present) MN_Request_request mdw_fwtSetNotRequestReq
modifies mw_mnRequestRequest_any := {
request_param := {
mnReq := {
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
* @see ISO 24102-3 Clause D.2.4
*/
template MN_Command_request mw_fwtUpdateCommandReq := {
commandRef := ?,
command_param := {
fill := ?,
mnCmd := {
fWTupdate := mw_fwtUpdate
} // End of field 'mnCmd'
} // End of field 'command_param'
} // End of template mw_fWTUpdateCommandReq
/**
* @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
/**
* @desc Receive a "FWTupdate message" to update the FNTP forwarding table
* @see ISO 24102-3 Clause E.2.4
*/
template FWTupdate mw_fwtUpdate := {
fill := ?,
update := {
fntp := {
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
/**
* @desc Generic received template on setting an entry in the forwarding table of a networking protocol
* Used for:
* modifying restrictif template
* default altstep
* @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
/**
* @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(
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 {
group mgtMiSapTemplatesSend {
/**
* @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,
in template (value) CommandRef p_commandRef,
in template (value) MI_Command p_commandParam
) := {
linkID := p_linkId,
commandRef := p_commandRef,
command_param := p_commandParam
} // 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_requestParam
) := {
linkID := p_linkId,
commandRef := p_commandRef,
request_param := p_requestParam
} // End of template m_miRequestRequest
/**
* @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,
in template (value) CommandRef p_commandRef,
in template (value) IParamNoList p_getParamNo
) := {
linkID := p_linkId,
commandRef := p_commandRef,
get_param_no := p_getParamNo
} // 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,
in template (value) CommandRef p_commandRef,
in template (value) IParamList p_setParam
) := {
linkID := p_linkId,
commandRef := p_commandRef,
set_param := p_setParam
} // End of template m_miSetRequest
} // End of group mgtMiSapTemplatesSend
group mgtMiSapTemplatesRecv {
/**
* @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
*/
template (present) MI_Command_request mw_miCommandRequest(
in template (present) Link_ID p_linkId,
in template (present) CommandRef p_commandRef,
in template (present) MI_Command p_miCmd
) := {
linkID := p_linkId,
commandRef := p_commandRef,
command_param := p_miCmd
} // End of template mw_miCommandRequest
/**
* @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
/**
* @desc Receive template for MI-GET.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_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,
in template (present) CommandRef p_commandRef,
in template (present) IParamNoList p_getParamNo
) := {
linkID := p_linkId,
commandRef := p_commandRef,
get_param_no := p_getParamNo
} // End of template mw_miGetRequest
/**
* @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_setParam
) := {
linkID := ?,
commandRef := ?,
set_param := p_setParam
} // End of template mw_miGetConfirm
/**
* @desc Receive template for MI-SET.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_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,
in template (present) CommandRef p_commandRef,
in template (present) IParamList p_setParam
) := {
linkID := p_linkId,
commandRef := p_commandRef,
set_param := p_setParam
} // End of template mw_miSetRequest
/**
* @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_setParam
) := {
linkID := ?,
commandRef := ?,
set_param := p_setParam
} // End of template mw_miSetConfirm
} // End of mgtMiSapTemplatesRecv
} // End of group mgtMiSapTemplates
} // End of group mgtSapTemplates
} // End of module LibItsMgt_Templates