Newer
Older
* @version $URL$
* $Id$
* @desc Module containing common types and values for ITS Protocols
* @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.
*
*/
module LibItsCommon_TypesAndValues {
// LibCommon
import from LibCommon_DataStrings all;
// LibIts
import from ITS_Container language "ASN.1:1997" all;
group utPrimitives {
/**
* @desc Upper Tester message to initialize IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
}
/**
* @desc Upper Tester result message of the initialization request
*/
//FIXME RGY As discussed, Commom top level type for UT results
type union UtCommonResults {
boolean utInitializeResult,
boolean utChangePositionResult,
boolean utChangePseudonymResult,
boolean utActivatePositionTimeResult,
boolean utDeactivatePositionTimeResult,
boolean utIvimTerminationResult
}
//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes
// type boolean UtInitializeResult;
type UtCommonResults.utInitializeResult UtInitializeResult;
/**
* @desc Upper Tester message to change the position of IUT. Values a relatives
*/
type record UtChangePosition {
integer latitude,
integer longitude,
integer elevation
}
/**
* @desc Upper Tester result message of change position request of IUT
*/
//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes
// type boolean UtChangePositionResult;
type UtCommonResults.utChangePositionResult UtChangePositionResult;
/**
* @desc Upper Tester message to change the pseudonym of the DENM IUT
*/
type record UtChangePseudonym {
// empty on purpose
}
/**
* @desc Upper Tester result message of the change pseudonym request
*/
//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes
// type boolean UtChangePseudonymResult;
type UtCommonResults.utChangePseudonymResult UtChangePseudonymResult;
/**
* @desc Upper Tester message to activate position and/or time
*/
type record UtActivatePositionTime {
// empty on purpose
}
/**
* @desc Upper Tester result message of the activate position and/or time request
*/
//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes
// type boolean UtActivatePositionTimeResult;
type UtCommonResults.utActivatePositionTimeResult UtActivatePositionTimeResult;
/**
* @desc Upper Tester message to deactivate position and/or time
*/
type record UtDeactivatePositionTime {
// empty on purpose
}
/**
* @desc Upper Tester result message of the deactivate position and/or time request
*/
//FIXME RGY As discussed, type is changed to a type derived from UpperTesterResultTypes
// type boolean UtDeactivatePositionTimeResult;
type UtCommonResults.utDeactivatePositionTimeResult UtDeactivatePositionTimeResult;
}
with {
encode "UpperTester"
}
/**
* @desc TA primitives for security support
* @member acSetCertificate Primitive used to activate security support
* @member acDisableSecurity Primitive used to deactiate security support
*/
type union AcSecPrimitive {
AcEnableSecurity acEnableSecurity,
AcDisableSecurity acDisableSecurity
} // End of type AcSecPrimitive
/**
* @desc Primitive used to activate security support
* @member certificateId The certificate identifier to be used
type record AcEnableSecurity {
charstring certificateId,
boolean enforceSecurity
} // End of type AcEnableSecurity
/**
* @desc Primitive used to deactiate security support
*/
type record AcDisableSecurity {
boolean disable
} // End of type AcDisableSecurity
/**
* @desc Primitive for receiving response from TA
*/
//FIXME RGY As discussed, type is changed to a type derived from AdapterControlResults
// type boolean AcSecResponse;
type AdapterControlResults.acSecResponse AcSecResponse;
* @desc TA primitives for GNSS
* @member loadScenario -
* @member startScenario -
* @member stopScenario -
* @member distanceCovered -
*/
type union AcGnssPrimitive {
AcLoadScenario loadScenario,
AcStartScenario startScenario,
AcStopScenario stopScenario,
AcDistanceToCover distanceToCover,
AcChangeSpeed changeSpeed,
AcChangeHeading changeHeading
}
/**
* @desc Primitive for receiving response from TA
*/
//FIXME RGY As discussed, Commom adapter control results are collected to a top-level union type
type union AdapterControlResults {
boolean acGnssResponse,
boolean acGnssDistanceCovered,
boolean acSecResponse
}
//FIXME RGY As discussed, boolean results are replaced by related fields of the top-level reult union
// type boolean AcGnssResponse;
type AdapterControlResults.acGnssResponse AcGnssResponse;
/**
* @desc Primitive for receiving an indication if requested distance was covered from TA
*/
//FIXME RGY As discussed, boolean results are replaced by related fields of the top-level reult union
// type boolean AcGnssDistanceCovered;
type AdapterControlResults.acGnssDistanceCovered AcGnssDistanceCovered;
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
/**
* @desc Primitive for loading a scenario
* @member scenario Scenario to load
*/
type record AcLoadScenario {
Scenario scenario
}
type enumerated Scenario {
e_staticPosition(0),
e_dynamicPosition200m(200),
e_dynamicPosition1000m(1000),
e_dynamicPosition1500m(1500)
}
/**
* @desc Primitive for starting the loaded scenario
*/
type record AcStartScenario {
}
/**
* @desc Primitive for stopping the loaded scenario
*/
type record AcStopScenario {
}
/**
* @desc Primitive to inform when given distance was covered
*/
type record AcDistanceToCover {
float distance
}
/**
* @desc Primitive to change speed in current scenario
*/
type record AcChangeSpeed {
SpeedValue deltaSpeed
}
/**
* @desc Primitive to change heading in current scenario
*/
type record AcChangeHeading {
HeadingValue deltaHeading
}
} // end acPrimitives
with {
encode "AdapterControl"
}
group securityConstants {
const integer c_its_aid_CAM := 36;
const integer c_its_aid_DENM := 37;
const integer c_its_aid_SPAT := 137;
const integer c_its_aid_MAP := 138;
const integer c_its_aid_IVI := 139;
const integer c_its_aid_TLC := 140;
}