7#define NULL ((void *)0)
18static int TYPE_SIZE [] = {
19 (int)
sizeof(
unsigned int),
20 (int)
sizeof(
unsigned char),
24 (int)
sizeof(
unsigned long long),
26 (int)
sizeof(
unsigned short),
28 (int)
sizeof(
long long),
69 (int)
sizeof(
struct Pdu),
73 (int)
sizeof(
struct Point),
149 (int)
sizeof(
struct UaPdu),
172 char *countfieldname;
175 int dynamicListClassAttribute;
186 {PRIMITIVE, type_USHORT,
"systemType",
"System Type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SystemID,systemType), },
187 {PRIMITIVE, type_USHORT,
"systemName",
"System name, an enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SystemID,systemName), },
188 {PRIMITIVE, type_UBYTE,
"systemMode",
"System mode", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct SystemID,systemMode), },
189 {PRIMITIVE, type_UBYTE,
"changeOptions",
"Change Options", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct SystemID,changeOptions), },
190 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
193 {PRIMITIVE, type_UBYTE,
"entityKind",
"Kind of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RadioEntityType,entityKind), },
194 {PRIMITIVE, type_UBYTE,
"domain",
"Domain of entity (air, surface, subsurface, space, etc)", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RadioEntityType,domain), },
195 {PRIMITIVE, type_USHORT,
"country",
"country to which the design of the entity is attributed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RadioEntityType,country), },
196 {PRIMITIVE, type_UBYTE,
"category",
"category of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RadioEntityType,category), },
197 {PRIMITIVE, type_UBYTE,
"nomenclatureVersion",
"specific info based on subcategory field", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RadioEntityType,nomenclatureVersion), },
198 {PRIMITIVE, type_USHORT,
"nomenclature", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RadioEntityType,nomenclature), },
199 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
202 {PRIMITIVE, type_UBYTE,
"layerNumber",
"Layer number", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct LayerHeader,layerNumber), },
203 {PRIMITIVE, type_UBYTE,
"layerSpecificInformaiton",
"Layer speccific information enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct LayerHeader,layerSpecificInformaiton), },
204 {PRIMITIVE, type_USHORT,
"length",
"information length", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct LayerHeader,length), },
205 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
208 {PRIMITIVE, type_USHORT,
"acousticName",
"This field shall specify the system for a particular UA emitter.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcousticEmitterSystem,acousticName), },
209 {PRIMITIVE, type_UBYTE,
"acousticFunction",
"This field shall describe the function of the acoustic system. ", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AcousticEmitterSystem,acousticFunction), },
210 {PRIMITIVE, type_UBYTE,
"acousticID",
"This field shall specify the UA emitter identification number relative to a specific system. This field shall be represented by an 8-bit unsigned integer. This field allows the differentiation of multiple systems on an entity, even if in some instances two or more of the systems may be identical UA emitter types. Numbering of systems shall begin with the value 1. ", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AcousticEmitterSystem,acousticID), },
211 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
214 {FIXED_LIST, type_BYTE,
"otherParameters",
"four bytes of arbitrary data", 4, NULL, 0, 0, 0, PRIMITIVE, FALSE, FALSE,
sizeof(char), offsetof(
struct FourByteChunk,otherParameters), },
215 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
218 {PRIMITIVE, type_FLOAT,
"psi", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct Orientation,psi), },
219 {PRIMITIVE, type_FLOAT,
"theta", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct Orientation,theta), },
220 {PRIMITIVE, type_FLOAT,
"phi", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct Orientation,phi), },
221 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
224 {FIXED_LIST, type_BYTE,
"otherParameters",
"one byte of arbitrary data", 1, NULL, 0, 0, 0, PRIMITIVE, FALSE, FALSE,
sizeof(char), offsetof(
struct OneByteChunk,otherParameters), },
225 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
228 {PRIMITIVE, type_USHORT,
"site",
"The site ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EventID,site), },
229 {PRIMITIVE, type_USHORT,
"application",
"The application ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EventID,application), },
230 {PRIMITIVE, type_USHORT,
"eventNumber",
"the number of the event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EventID,eventNumber), },
231 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
233struct disfieldattr FIELDS_VectoringNozzleSystemData [] = {
234 {PRIMITIVE, type_FLOAT,
"horizontalDeflectionAngle",
"horizontal deflection angle", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct VectoringNozzleSystemData,horizontalDeflectionAngle), },
235 {PRIMITIVE, type_FLOAT,
"verticalDeflectionAngle",
"vertical deflection angle", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct VectoringNozzleSystemData,verticalDeflectionAngle), },
236 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
239 {PRIMITIVE, type_UBYTE,
"entityKind",
"Kind of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ObjectType,entityKind), },
240 {PRIMITIVE, type_UBYTE,
"domain",
"Domain of entity (air, surface, subsurface, space, etc)", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ObjectType,domain), },
241 {PRIMITIVE, type_USHORT,
"country",
"country to which the design of the entity is attributed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ObjectType,country), },
242 {PRIMITIVE, type_UBYTE,
"category",
"category of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ObjectType,category), },
243 {PRIMITIVE, type_UBYTE,
"subcategory",
"subcategory of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ObjectType,subcategory), },
244 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
246struct disfieldattr FIELDS_FundamentalParameterDataIff [] = {
247 {PRIMITIVE, type_FLOAT,
"erp",
"ERP", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterDataIff,erp), },
248 {PRIMITIVE, type_FLOAT,
"frequency",
"frequency", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterDataIff,frequency), },
249 {PRIMITIVE, type_FLOAT,
"pgrf",
"pgrf", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterDataIff,pgrf), },
250 {PRIMITIVE, type_FLOAT,
"pulseWidth",
"Pulse width", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterDataIff,pulseWidth), },
251 {PRIMITIVE, type_UINT,
"burstLength",
"Burst length", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct FundamentalParameterDataIff,burstLength), },
252 {PRIMITIVE, type_UBYTE,
"applicableModes",
"Applicable modes enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FundamentalParameterDataIff,applicableModes), },
253 {PRIMITIVE, type_USHORT,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct FundamentalParameterDataIff,pad2), },
254 {PRIMITIVE, type_UBYTE,
"pad3",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FundamentalParameterDataIff,pad3), },
255 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
258 {FIXED_LIST, type_BYTE,
"otherParameters",
"Eight bytes of arbitrary data", 8, NULL, 0, 0, 0, PRIMITIVE, FALSE, FALSE,
sizeof(char), offsetof(
struct EightByteChunk,otherParameters), },
259 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
262 {PRIMITIVE, type_UINT,
"fixedDatumID",
"ID of the fixed datum", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct FixedDatum,fixedDatumID), },
263 {PRIMITIVE, type_UINT,
"fixedDatumValue",
"Value for the fixed datum", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct FixedDatum,fixedDatumValue), },
264 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
267 {PRIMITIVE, type_USHORT,
"sampleType",
"type of environmental sample", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GridAxisRecord,sampleType), },
268 {PRIMITIVE, type_USHORT,
"dataRepresentation",
"value that describes data representation", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GridAxisRecord,dataRepresentation), },
269 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
272 {PRIMITIVE, type_USHORT,
"site",
"The site ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AggregateID,site), },
273 {PRIMITIVE, type_USHORT,
"application",
"The application ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AggregateID,application), },
274 {PRIMITIVE, type_USHORT,
"aggregateID",
"the aggregate ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AggregateID,aggregateID), },
275 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
278 {FIXED_LIST, type_BYTE,
"otherParameters",
"two bytes of arbitrary data", 2, NULL, 0, 0, 0, PRIMITIVE, FALSE, FALSE,
sizeof(char), offsetof(
struct TwoByteChunk,otherParameters), },
279 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
282 {PRIMITIVE, type_INT,
"hour",
"Hours in UTC", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct ClockTime,hour), },
283 {PRIMITIVE, type_UINT,
"timePastHour",
"Time past the hour", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ClockTime,timePastHour), },
284 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
287 {PRIMITIVE, type_USHORT,
"nature",
"Nature of join", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct Relationship,nature), },
288 {PRIMITIVE, type_USHORT,
"position",
"position of join", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct Relationship,position), },
289 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
292 {PRIMITIVE, type_FLOAT,
"x",
"X value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct Vector3Float,x), },
293 {PRIMITIVE, type_FLOAT,
"y",
"y Value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct Vector3Float,y), },
294 {PRIMITIVE, type_FLOAT,
"z",
"Z value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct Vector3Float,z), },
295 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
298 {PRIMITIVE, type_USHORT,
"spreadSpectrum",
"spread spectrum, 16 bit boolean array", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ModulationType,spreadSpectrum), },
299 {PRIMITIVE, type_USHORT,
"major",
"major", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ModulationType,major), },
300 {PRIMITIVE, type_USHORT,
"detail",
"detail", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ModulationType,detail), },
301 {PRIMITIVE, type_USHORT,
"system",
"system", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ModulationType,system), },
302 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
305 {PRIMITIVE, type_USHORT,
"site",
"The site ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SimulationAddress,site), },
306 {PRIMITIVE, type_USHORT,
"application",
"The application ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SimulationAddress,application), },
307 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
310 {PRIMITIVE, type_UBYTE,
"systemStatus",
"system status", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IffFundamentalData,systemStatus), },
311 {PRIMITIVE, type_UBYTE,
"alternateParameter4",
"Alternate parameter 4", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IffFundamentalData,alternateParameter4), },
312 {PRIMITIVE, type_UBYTE,
"informationLayers",
"eight boolean fields", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IffFundamentalData,informationLayers), },
313 {PRIMITIVE, type_UBYTE,
"modifier",
"enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IffFundamentalData,modifier), },
314 {PRIMITIVE, type_USHORT,
"parameter1",
"parameter, enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IffFundamentalData,parameter1), },
315 {PRIMITIVE, type_USHORT,
"parameter2",
"parameter, enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IffFundamentalData,parameter2), },
316 {PRIMITIVE, type_USHORT,
"parameter3",
"parameter, enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IffFundamentalData,parameter3), },
317 {PRIMITIVE, type_USHORT,
"parameter4",
"parameter, enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IffFundamentalData,parameter4), },
318 {PRIMITIVE, type_USHORT,
"parameter5",
"parameter, enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IffFundamentalData,parameter5), },
319 {PRIMITIVE, type_USHORT,
"parameter6",
"parameter, enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IffFundamentalData,parameter6), },
320 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
323 {PRIMITIVE, type_UBYTE,
"aggregateKind",
"Kind of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateType,aggregateKind), },
324 {PRIMITIVE, type_UBYTE,
"domain",
"Domain of entity (air, surface, subsurface, space, etc)", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateType,domain), },
325 {PRIMITIVE, type_USHORT,
"country",
"country to which the design of the entity is attributed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AggregateType,country), },
326 {PRIMITIVE, type_UBYTE,
"category",
"category of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateType,category), },
327 {PRIMITIVE, type_UBYTE,
"subcategory",
"subcategory of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateType,subcategory), },
328 {PRIMITIVE, type_UBYTE,
"specific",
"specific info based on subcategory field", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateType,specific), },
329 {PRIMITIVE, type_UBYTE,
"extra", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateType,extra), },
330 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
333 {PRIMITIVE, type_FLOAT,
"beamAzimuthCenter",
"Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamData,beamAzimuthCenter), },
334 {PRIMITIVE, type_FLOAT,
"beamAzimuthSweep",
"Specifies the beam azimuth sweep to determine scan volume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamData,beamAzimuthSweep), },
335 {PRIMITIVE, type_FLOAT,
"beamElevationCenter",
"Specifies the beam elevation center to determine scan volume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamData,beamElevationCenter), },
336 {PRIMITIVE, type_FLOAT,
"beamElevationSweep",
"Specifies the beam elevation sweep to determine scan volume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamData,beamElevationSweep), },
337 {PRIMITIVE, type_FLOAT,
"beamSweepSync",
"allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamData,beamSweepSync), },
338 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
341 {PRIMITIVE, type_USHORT,
"stationName",
"station name enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct NamedLocation,stationName), },
342 {PRIMITIVE, type_USHORT,
"stationNumber",
"station number", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct NamedLocation,stationNumber), },
343 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
346 {PRIMITIVE, type_UINT,
"recordID",
"record ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct RecordSet,recordID), },
347 {PRIMITIVE, type_UINT,
"recordSetSerialNumber",
"record set serial number", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct RecordSet,recordSetSerialNumber), },
348 {PRIMITIVE, type_USHORT,
"recordLength",
"record length", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RecordSet,recordLength), },
349 {PRIMITIVE, type_USHORT,
"recordCount",
"record count", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RecordSet,recordCount), },
350 {PRIMITIVE, type_USHORT,
"recordValues",
"^^^This is wrong--variable sized data records", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RecordSet,recordValues), },
351 {PRIMITIVE, type_UBYTE,
"pad4",
"^^^This is wrong--variable sized padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RecordSet,pad4), },
352 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
354struct disfieldattr FIELDS_SphericalHarmonicAntennaPattern [] = {
355 {PRIMITIVE, type_BYTE,
"order", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(char), offsetof(
struct SphericalHarmonicAntennaPattern,order), },
356 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
359 {PRIMITIVE, type_SHORT,
"currentShaftRPMs",
"Current shaft RPMs", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(short), offsetof(
struct ShaftRPMs,currentShaftRPMs), },
360 {PRIMITIVE, type_SHORT,
"orderedShaftRPMs",
"ordered shaft rpms", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(short), offsetof(
struct ShaftRPMs,orderedShaftRPMs), },
361 {PRIMITIVE, type_FLOAT,
"shaftRPMRateOfChange",
"rate of change of shaft RPMs", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct ShaftRPMs,shaftRPMRateOfChange), },
362 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
364struct disfieldattr FIELDS_IntercomCommunicationsParameters [] = {
365 {PRIMITIVE, type_USHORT,
"recordType",
"Type of intercom parameters record", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IntercomCommunicationsParameters,recordType), },
366 {PRIMITIVE, type_USHORT,
"recordLength",
"length of record", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IntercomCommunicationsParameters,recordLength), },
367 {PRIMITIVE, type_UINT,
"recordSpecificField",
"Jerks. Looks like the committee is forcing a lookup of the record type parameter to find out how long the field is. This is a placeholder.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct IntercomCommunicationsParameters,recordSpecificField), },
368 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
370struct disfieldattr FIELDS_AcousticBeamFundamentalParameter [] = {
371 {PRIMITIVE, type_USHORT,
"activeEmissionParameterIndex",
"parameter index", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcousticBeamFundamentalParameter,activeEmissionParameterIndex), },
372 {PRIMITIVE, type_USHORT,
"scanPattern",
"scan pattern", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcousticBeamFundamentalParameter,scanPattern), },
373 {PRIMITIVE, type_FLOAT,
"beamCenterAzimuth",
"beam center azimuth", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct AcousticBeamFundamentalParameter,beamCenterAzimuth), },
374 {PRIMITIVE, type_FLOAT,
"azimuthalBeamwidth",
"azimuthal beamwidth", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct AcousticBeamFundamentalParameter,azimuthalBeamwidth), },
375 {PRIMITIVE, type_FLOAT,
"beamCenterDE",
"beam center", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct AcousticBeamFundamentalParameter,beamCenterDE), },
376 {PRIMITIVE, type_FLOAT,
"deBeamwidth",
"DE beamwidth (vertical beamwidth)", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct AcousticBeamFundamentalParameter,deBeamwidth), },
377 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
380 {PRIMITIVE, type_UBYTE,
"entityKind",
"Kind of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EntityType,entityKind), },
381 {PRIMITIVE, type_UBYTE,
"domain",
"Domain of entity (air, surface, subsurface, space, etc)", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EntityType,domain), },
382 {PRIMITIVE, type_USHORT,
"country",
"country to which the design of the entity is attributed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EntityType,country), },
383 {PRIMITIVE, type_UBYTE,
"category",
"category of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EntityType,category), },
384 {PRIMITIVE, type_UBYTE,
"subcategory",
"subcategory of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EntityType,subcategory), },
385 {PRIMITIVE, type_UBYTE,
"specific",
"specific info based on subcategory field", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EntityType,specific), },
386 {PRIMITIVE, type_UBYTE,
"extra", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EntityType,extra), },
387 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
389struct disfieldattr FIELDS_FundamentalParameterData [] = {
390 {PRIMITIVE, type_FLOAT,
"frequency",
"center frequency of the emission in hertz.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,frequency), },
391 {PRIMITIVE, type_FLOAT,
"frequencyRange",
"Bandwidth of the frequencies corresponding to the fequency field.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,frequencyRange), },
392 {PRIMITIVE, type_FLOAT,
"effectiveRadiatedPower",
"Effective radiated power for the emission in DdBm. For a radar noise jammer, indicates the peak of the transmitted power.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,effectiveRadiatedPower), },
393 {PRIMITIVE, type_FLOAT,
"pulseRepetitionFrequency",
"Average repetition frequency of the emission in hertz.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,pulseRepetitionFrequency), },
394 {PRIMITIVE, type_FLOAT,
"pulseWidth",
"Average pulse width of the emission in microseconds.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,pulseWidth), },
395 {PRIMITIVE, type_FLOAT,
"beamAzimuthCenter",
"Specifies the beam azimuth an elevation centers and corresponding half-angles to describe the scan volume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,beamAzimuthCenter), },
396 {PRIMITIVE, type_FLOAT,
"beamAzimuthSweep",
"Specifies the beam azimuth sweep to determine scan volume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,beamAzimuthSweep), },
397 {PRIMITIVE, type_FLOAT,
"beamElevationCenter",
"Specifies the beam elevation center to determine scan volume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,beamElevationCenter), },
398 {PRIMITIVE, type_FLOAT,
"beamElevationSweep",
"Specifies the beam elevation sweep to determine scan volume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,beamElevationSweep), },
399 {PRIMITIVE, type_FLOAT,
"beamSweepSync",
"allows receiver to synchronize its regenerated scan pattern to that of the emmitter. Specifies the percentage of time a scan is through its pattern from its origion.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FundamentalParameterData,beamSweepSync), },
400 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
403 {PRIMITIVE, type_USHORT,
"parameterIndex",
"Index of APA parameter", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ApaData,parameterIndex), },
404 {PRIMITIVE, type_SHORT,
"parameterValue",
"Index of APA parameter", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(short), offsetof(
struct ApaData,parameterValue), },
405 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
408 {PRIMITIVE, type_UINT,
"environmentType",
"Record type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct Environment,environmentType), },
409 {PRIMITIVE, type_UBYTE,
"length",
"length, in bits", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Environment,length), },
410 {PRIMITIVE, type_UBYTE,
"index",
"Identify the sequentially numbered record index", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Environment,index), },
411 {PRIMITIVE, type_UBYTE,
"padding1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Environment,padding1), },
412 {PRIMITIVE, type_UBYTE,
"geometry",
"Geometry or state record", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Environment,geometry), },
413 {PRIMITIVE, type_UBYTE,
"padding2",
"padding to bring the total size up to a 64 bit boundry", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Environment,padding2), },
414 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
417 {PRIMITIVE, type_USHORT,
"acousticName",
"the system for a particular UA emitter, and an enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcousticEmitter,acousticName), },
418 {PRIMITIVE, type_UBYTE,
"function",
"The function of the acoustic system", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AcousticEmitter,function), },
419 {PRIMITIVE, type_UBYTE,
"acousticIdNumber",
"The UA emitter identification number relative to a specific system", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AcousticEmitter,acousticIdNumber), },
420 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
423 {PRIMITIVE, type_FLOAT,
"x",
"velocity about the x axis", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(float), offsetof(
struct AngularVelocityVector,x), },
424 {PRIMITIVE, type_FLOAT,
"y",
"velocity about the y axis", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(float), offsetof(
struct AngularVelocityVector,y), },
425 {PRIMITIVE, type_FLOAT,
"z",
"velocity about the zaxis", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(float), offsetof(
struct AngularVelocityVector,z), },
426 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
429 {PRIMITIVE, type_UBYTE,
"characterSet",
"The character set", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateMarking,characterSet), },
430 {FIXED_LIST, type_BYTE,
"characters",
"The characters", 31, NULL, 0, 0, 0, PRIMITIVE, FALSE, FALSE,
sizeof(char), offsetof(
struct AggregateMarking,characters), },
431 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
434 {PRIMITIVE, type_USHORT,
"site",
"The site ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EntityID,site), },
435 {PRIMITIVE, type_USHORT,
"application",
"The application ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EntityID,application), },
436 {PRIMITIVE, type_USHORT,
"entity",
"the entity ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EntityID,entity), },
437 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
440 {FIXED_LIST, type_BYTE,
"otherParameters",
"six bytes of arbitrary data", 6, NULL, 0, 0, 0, PRIMITIVE, FALSE, FALSE,
sizeof(char), offsetof(
struct SixByteChunk,otherParameters), },
441 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
444 {PRIMITIVE, type_DOUBLE,
"x",
"X value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct Vector3Double,x), },
445 {PRIMITIVE, type_DOUBLE,
"y",
"Y value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct Vector3Double,y), },
446 {PRIMITIVE, type_DOUBLE,
"z",
"Z value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct Vector3Double,z), },
447 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
450 {PRIMITIVE, type_UBYTE,
"protocolVersion",
"The version of the protocol. 5=DIS-1995, 6=DIS-1998.", 0, NULL, 0, 0, 6,0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Pdu,protocolVersion), },
451 {PRIMITIVE, type_UBYTE,
"exerciseID",
"Exercise ID", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Pdu,exerciseID), },
452 {PRIMITIVE, type_UBYTE,
"pduType",
"Type of pdu, unique for each PDU class", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Pdu,pduType), },
453 {PRIMITIVE, type_UBYTE,
"protocolFamily",
"value that refers to the protocol family, eg SimulationManagement, et", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Pdu,protocolFamily), },
454 {PRIMITIVE, type_UINT,
"timestamp",
"Timestamp value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct Pdu,timestamp), },
455 {PRIMITIVE, type_USHORT,
"length",
"Length, in bytes, of the PDU", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct Pdu,length), },
456 {PRIMITIVE, type_SHORT,
"padding",
"zero-filled array of padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct Pdu,padding), },
457 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
460 {PRIMITIVE, type_UINT,
"variableDatumID",
"ID of the variable datum", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct VariableDatum,variableDatumID), },
461 {PRIMITIVE, type_UINT,
"variableDatumLength",
"length of the variable datums", 0, NULL, 0, type_EightByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct VariableDatum,variableDatumLength), },
462 {VARIABLE_LIST, type_EightByteChunk,
"variableDatums",
"variable length list of 64-bit datums", 0,
"variableDatumLength", 1, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct EightByteChunk), offsetof(struct
VariableDatum,variableDatums), },
463 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
466 {PRIMITIVE, type_UBYTE,
"parameterTypeDesignator", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ArticulationParameter,parameterTypeDesignator), },
467 {PRIMITIVE, type_UBYTE,
"changeIndicator", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ArticulationParameter,changeIndicator), },
468 {PRIMITIVE, type_USHORT,
"partAttachedTo", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ArticulationParameter,partAttachedTo), },
469 {PRIMITIVE, type_INT,
"parameterType", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct ArticulationParameter,parameterType), },
470 {PRIMITIVE, type_DOUBLE,
"parameterValue", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct ArticulationParameter,parameterValue), },
471 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
474 {PRIMITIVE, type_UBYTE,
"characterSet",
"The character set", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct Marking,characterSet), },
475 {FIXED_LIST, type_BYTE,
"characters",
"The characters", 11, NULL, 0, 0, 0, PRIMITIVE, TRUE, FALSE,
sizeof(char), offsetof(
struct Marking,characters), },
476 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
479 {PRIMITIVE, type_FLOAT,
"x",
"x", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct Point,x), },
480 {PRIMITIVE, type_FLOAT,
"y",
"y", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct Point,y), },
481 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
484 {PRIMITIVE, type_FLOAT,
"powerSetting",
"powerSetting", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct PropulsionSystemData,powerSetting), },
485 {PRIMITIVE, type_FLOAT,
"engineRpm",
"engine RPMs", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct PropulsionSystemData,engineRpm), },
486 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
489 {PRIMITIVE, type_USHORT,
"emitterName",
"Name of the emitter, 16 bit enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EmitterSystem,emitterName), },
490 {PRIMITIVE, type_UBYTE,
"function",
"function of the emitter, 8 bit enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EmitterSystem,function), },
491 {PRIMITIVE, type_UBYTE,
"emitterIdNumber",
"emitter ID, 8 bit enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EmitterSystem,emitterIdNumber), },
492 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
495 {PRIMITIVE, type_INT,
"numberOfPdus",
"Number of PDUs in the container list", 0, NULL, 0, type_Pdu, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct PduContainer,numberOfPdus), },
496 {VARIABLE_LIST, type_Pdu,
"pdus",
"record sets", 0,
"numberOfPdus", 0, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct Pdu), offsetof(struct
PduContainer,pdus), },
497 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
499struct disfieldattr FIELDS_ElectronicEmissionBeamData [] = {
500 {PRIMITIVE, type_UBYTE,
"beamDataLength",
"This field shall specify the length of this beams data in 32 bit words", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionBeamData,beamDataLength), },
501 {PRIMITIVE, type_UBYTE,
"beamIDNumber",
"This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionBeamData,beamIDNumber), },
502 {PRIMITIVE, type_USHORT,
"beamParameterIndex",
"This field shall specify a Beam Parameter Index number that shall be used by receiving entities in conjunction with the Emitter Name field to provide a pointer to the stored database parameters required to regenerate the beam. ", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ElectronicEmissionBeamData,beamParameterIndex), },
503 {CLASSREF, type_FundamentalParameterData,
"fundamentalParameterData",
"Fundamental parameter data such as frequency range, beam sweep, etc.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct FundamentalParameterData), offsetof(struct
ElectronicEmissionBeamData,fundamentalParameterData), },
504 {PRIMITIVE, type_UBYTE,
"beamFunction",
"beam function of a particular beam", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionBeamData,beamFunction), },
505 {PRIMITIVE, type_UBYTE,
"numberOfTrackJamTargets",
"Number of track/jam targets", 0, NULL, 0, type_TrackJamTarget, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionBeamData,numberOfTrackJamTargets), },
506 {PRIMITIVE, type_UBYTE,
"highDensityTrackJam",
"wheher or not the receiving simulation apps can assume all the targets in the scan pattern are being tracked/jammed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionBeamData,highDensityTrackJam), },
507 {PRIMITIVE, type_UBYTE,
"pad4",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionBeamData,pad4), },
508 {PRIMITIVE, type_UINT,
"jammingModeSequence",
"identify jamming techniques used", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ElectronicEmissionBeamData,jammingModeSequence), },
509 {VARIABLE_LIST, type_TrackJamTarget,
"trackJamTargets",
"variable length list of track/jam targets", 0,
"numberOfTrackJamTargets", 5, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct TrackJamTarget), offsetof(struct
ElectronicEmissionBeamData,trackJamTargets), },
510 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
513 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
514 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
517 {CLASSREF, type_LogisticsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct LogisticsFamilyPdu), 0 },
518 {CLASSREF, type_EntityID,
"requestingEntityID",
"Entity that is requesting service", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct
ServiceRequestPdu,requestingEntityID), },
519 {CLASSREF, type_EntityID,
"servicingEntityID",
"Entity that is providing the service", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ServiceRequestPdu,servicingEntityID), },
520 {PRIMITIVE, type_UBYTE,
"serviceTypeRequested",
"type of service requested", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ServiceRequestPdu,serviceTypeRequested), },
521 {PRIMITIVE, type_UBYTE,
"numberOfSupplyTypes",
"How many requested", 0, NULL, 0, type_SupplyQuantity, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ServiceRequestPdu,numberOfSupplyTypes), },
522 {PRIMITIVE, type_SHORT,
"serviceRequestPadding",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct ServiceRequestPdu,serviceRequestPadding), },
523 {VARIABLE_LIST, type_SupplyQuantity,
"supplies", NULL, 0,
"numberOfSupplyTypes", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct SupplyQuantity), offsetof(struct ServiceRequestPdu,supplies), },
524 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
526struct disfieldattr FIELDS_RepairCompletePdu [] = {
527 {CLASSREF, type_LogisticsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct LogisticsFamilyPdu), 0 },
528 {CLASSREF, type_EntityID,
"receivingEntityID",
"Entity that is receiving service", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct RepairCompletePdu,receivingEntityID), },
529 {CLASSREF, type_EntityID,
"repairingEntityID",
"Entity that is supplying", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct RepairCompletePdu,repairingEntityID), },
530 {PRIMITIVE, type_USHORT,
"repair",
"Enumeration for type of repair", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RepairCompletePdu,repair), },
531 {PRIMITIVE, type_SHORT,
"padding2",
"padding, number prevents conflict with superclass ivar name", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct RepairCompletePdu,padding2), },
532 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
534struct disfieldattr FIELDS_DeadReckoningParameter [] = {
535 {PRIMITIVE, type_UBYTE,
"deadReckoningAlgorithm",
"enumeration of what dead reckoning algorighm to use", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct DeadReckoningParameter,deadReckoningAlgorithm), },
536 {FIXED_LIST, type_BYTE,
"otherParameters",
"other parameters to use in the dead reckoning algorithm", 15, NULL, 0, 0, 0, PRIMITIVE, FALSE, FALSE,
sizeof(char), offsetof(
struct DeadReckoningParameter,otherParameters), },
537 {CLASSREF, type_Vector3Float,
"entityLinearAcceleration",
"Linear acceleration of the entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct DeadReckoningParameter,entityLinearAcceleration), },
538 {CLASSREF, type_Vector3Float,
"entityAngularVelocity",
"angular velocity of the entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct DeadReckoningParameter,entityAngularVelocity), },
539 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
541struct disfieldattr FIELDS_BeamAntennaPattern [] = {
542 {CLASSREF, type_Orientation,
"beamDirection",
"The rotation that transformst he reference coordinate sytem into the beam coordinate system. Either world coordinates or entity coordinates may be used as the reference coordinate system, as specified by teh reference system field of the antenna pattern record.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Orientation), offsetof(struct BeamAntennaPattern,beamDirection), },
543 {PRIMITIVE, type_FLOAT,
"azimuthBeamwidth", NULL, 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamAntennaPattern,azimuthBeamwidth), },
544 {PRIMITIVE, type_FLOAT,
"referenceSystem", NULL, 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamAntennaPattern,referenceSystem), },
545 {PRIMITIVE, type_SHORT,
"padding1", NULL, 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct BeamAntennaPattern,padding1), },
546 {PRIMITIVE, type_BYTE,
"padding2", NULL, 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(char), offsetof(
struct BeamAntennaPattern,padding2), },
547 {PRIMITIVE, type_FLOAT,
"ez",
"Magnigute of the z-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamAntennaPattern,ez), },
548 {PRIMITIVE, type_FLOAT,
"ex",
"Magnigute of the x-component in beam coordinates at some arbitrary single point in the mainbeam and in the far field of the antenna.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamAntennaPattern,ex), },
549 {PRIMITIVE, type_FLOAT,
"phase",
"THe phase angle between Ez and Ex in radians.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct BeamAntennaPattern,phase), },
550 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
552struct disfieldattr FIELDS_SyntheticEnvironmentFamilyPdu [] = {
553 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
554 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
556struct disfieldattr FIELDS_AcousticEmitterSystemData [] = {
557 {PRIMITIVE, type_UBYTE,
"emitterSystemDataLength",
"Length of emitter system data", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AcousticEmitterSystemData,emitterSystemDataLength), },
558 {PRIMITIVE, type_UBYTE,
"numberOfBeams",
"Number of beams", 0, NULL, 0, type_AcousticBeamData, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AcousticEmitterSystemData,numberOfBeams), },
559 {PRIMITIVE, type_USHORT,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcousticEmitterSystemData,pad2), },
560 {CLASSREF, type_AcousticEmitterSystem,
"acousticEmitterSystem",
"This field shall specify the system for a particular UA emitter.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct AcousticEmitterSystem), offsetof(struct AcousticEmitterSystemData,acousticEmitterSystem), },
561 {CLASSREF, type_Vector3Float,
"emitterLocation",
"Represents the location wrt the entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct AcousticEmitterSystemData,emitterLocation), },
562 {VARIABLE_LIST, type_AcousticBeamData,
"beamRecords",
"For each beam in numberOfBeams, an emitter system. This is not right--the beam records need to be at the end of the PDU, rather than attached to each system.", 0,
"numberOfBeams", 1, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct AcousticBeamData), offsetof(struct AcousticEmitterSystemData,beamRecords), },
563 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
565struct disfieldattr FIELDS_RepairResponsePdu [] = {
566 {CLASSREF, type_LogisticsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct LogisticsFamilyPdu), 0 },
567 {CLASSREF, type_EntityID,
"receivingEntityID",
"Entity that is receiving service", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct RepairResponsePdu,receivingEntityID), },
568 {CLASSREF, type_EntityID,
"repairingEntityID",
"Entity that is supplying", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct RepairResponsePdu,repairingEntityID), },
569 {PRIMITIVE, type_UBYTE,
"repairResult",
"Result of repair operation", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RepairResponsePdu,repairResult), },
570 {PRIMITIVE, type_SHORT,
"padding1",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct RepairResponsePdu,padding1), },
571 {PRIMITIVE, type_BYTE,
"padding2",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(char), offsetof(
struct RepairResponsePdu,padding2), },
572 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
574struct disfieldattr FIELDS_SimulationManagementFamilyPdu [] = {
575 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
576 {CLASSREF, type_EntityID,
"originatingEntityID",
"Entity that is sending message", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct SimulationManagementFamilyPdu,originatingEntityID), },
577 {CLASSREF, type_EntityID,
"receivingEntityID",
"Entity that is intended to receive message", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct SimulationManagementFamilyPdu,receivingEntityID), },
578 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
580struct disfieldattr FIELDS_AntennaLocation [] = {
581 {CLASSREF, type_Vector3Double,
"antennaLocation",
"Location of the radiating portion of the antenna in world coordinates", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct AntennaLocation,antennaLocation), },
582 {CLASSREF, type_Vector3Float,
"relativeAntennaLocation",
"Location of the radiating portion of the antenna in entity coordinates", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct AntennaLocation,relativeAntennaLocation), },
583 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
585struct disfieldattr FIELDS_DataQueryPdu [] = {
586 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
587 {PRIMITIVE, type_UINT,
"requestID",
"ID of request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataQueryPdu,requestID), },
588 {PRIMITIVE, type_UINT,
"timeInterval",
"time issues between issues of Data PDUs. Zero means send once only.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataQueryPdu,timeInterval), },
589 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Number of fixed datum records", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataQueryPdu,numberOfFixedDatumRecords), },
590 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"Number of variable datum records", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataQueryPdu,numberOfVariableDatumRecords), },
591 {VARIABLE_LIST, type_FixedDatum,
"fixedDatums",
"variable length list of fixed datums", 0,
"numberOfFixedDatumRecords", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct DataQueryPdu,fixedDatums), },
592 {VARIABLE_LIST, type_VariableDatum,
"variableDatums",
"variable length list of variable length datums", 0,
"numberOfVariableDatumRecords", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct DataQueryPdu,variableDatums), },
593 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
595struct disfieldattr FIELDS_BurstDescriptor [] = {
596 {CLASSREF, type_EntityType,
"munition",
"What munition was used in the burst", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct BurstDescriptor,munition), },
597 {PRIMITIVE, type_USHORT,
"warhead",
"type of warhead", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct BurstDescriptor,warhead), },
598 {PRIMITIVE, type_USHORT,
"fuse",
"type of fuse used", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct BurstDescriptor,fuse), },
599 {PRIMITIVE, type_USHORT,
"quantity",
"how many of the munition were fired", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct BurstDescriptor,quantity), },
600 {PRIMITIVE, type_USHORT,
"rate",
"rate at which the munition was fired", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct BurstDescriptor,rate), },
601 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
603struct disfieldattr FIELDS_LinearObjectStatePdu [] = {
604 {CLASSREF, type_SyntheticEnvironmentFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SyntheticEnvironmentFamilyPdu), 0 },
605 {CLASSREF, type_EntityID,
"objectID",
"Object in synthetic environment", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct LinearObjectStatePdu,objectID), },
606 {CLASSREF, type_EntityID,
"referencedObjectID",
"Object with which this point object is associated", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct LinearObjectStatePdu,referencedObjectID), },
607 {PRIMITIVE, type_USHORT,
"updateNumber",
"unique update number of each state transition of an object", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct LinearObjectStatePdu,updateNumber), },
608 {PRIMITIVE, type_UBYTE,
"forceID",
"force ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct LinearObjectStatePdu,forceID), },
609 {PRIMITIVE, type_UBYTE,
"numberOfSegments",
"number of linear segment parameters", 0, NULL, 0, type_LinearSegmentParameter, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct LinearObjectStatePdu,numberOfSegments), },
610 {CLASSREF, type_SimulationAddress,
"requesterID",
"requesterID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SimulationAddress), offsetof(struct LinearObjectStatePdu,requesterID), },
611 {CLASSREF, type_SimulationAddress,
"receivingID",
"receiver ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SimulationAddress), offsetof(struct LinearObjectStatePdu,receivingID), },
612 {CLASSREF, type_ObjectType,
"objectType",
"Object type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ObjectType), offsetof(struct LinearObjectStatePdu,objectType), },
613 {VARIABLE_LIST, type_LinearSegmentParameter,
"linearSegmentParameters",
"Linear segment parameters", 0,
"numberOfSegments", 5, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct LinearSegmentParameter), offsetof(struct LinearObjectStatePdu,linearSegmentParameters), },
614 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
616struct disfieldattr FIELDS_CreateEntityPdu [] = {
617 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
618 {PRIMITIVE, type_UINT,
"requestID",
"Identifier for the request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct CreateEntityPdu,requestID), },
619 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
621struct disfieldattr FIELDS_RadioCommunicationsFamilyPdu [] = {
622 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
623 {CLASSREF, type_EntityID,
"entityId",
"ID of the entitythat is the source of the communication", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct RadioCommunicationsFamilyPdu,entityId), },
624 {PRIMITIVE, type_USHORT,
"radioId",
"particular radio within an entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RadioCommunicationsFamilyPdu,radioId), },
625 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
627struct disfieldattr FIELDS_AcousticBeamData [] = {
628 {PRIMITIVE, type_USHORT,
"beamDataLength",
"beam data length", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcousticBeamData,beamDataLength), },
629 {PRIMITIVE, type_UBYTE,
"beamIDNumber",
"beamIDNumber", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AcousticBeamData,beamIDNumber), },
630 {PRIMITIVE, type_USHORT,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcousticBeamData,pad2), },
631 {CLASSREF, type_AcousticBeamFundamentalParameter,
"fundamentalDataParameters",
"fundamental data parameters", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct AcousticBeamFundamentalParameter), offsetof(struct AcousticBeamData,fundamentalDataParameters), },
632 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
634struct disfieldattr FIELDS_IntercomSignalPdu [] = {
635 {CLASSREF, type_RadioCommunicationsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct RadioCommunicationsFamilyPdu), 0 },
636 {CLASSREF, type_EntityID,
"entityID",
"entity ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct IntercomSignalPdu,entityID), },
637 {PRIMITIVE, type_USHORT,
"communicationsDeviceID",
"ID of communications device", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IntercomSignalPdu,communicationsDeviceID), },
638 {PRIMITIVE, type_USHORT,
"encodingScheme",
"encoding scheme", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IntercomSignalPdu,encodingScheme), },
639 {PRIMITIVE, type_USHORT,
"tdlType",
"tactical data link type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IntercomSignalPdu,tdlType), },
640 {PRIMITIVE, type_UINT,
"sampleRate",
"sample rate", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct IntercomSignalPdu,sampleRate), },
641 {PRIMITIVE, type_USHORT,
"dataLength",
"data length", 0, NULL, 0, type_OneByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IntercomSignalPdu,dataLength), },
642 {PRIMITIVE, type_USHORT,
"samples",
"samples", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IntercomSignalPdu,samples), },
643 {VARIABLE_LIST, type_OneByteChunk,
"data",
"data bytes", 0,
"dataLength", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct OneByteChunk), offsetof(struct IntercomSignalPdu,data), },
644 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
646struct disfieldattr FIELDS_GridAxisRecordRepresentation2 [] = {
647 {CLASSREF, type_GridAxisRecord,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct GridAxisRecord), 0 },
648 {PRIMITIVE, type_USHORT,
"numberOfValues",
"number of values", 0, NULL, 0, type_FourByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GridAxisRecordRepresentation2,numberOfValues), },
649 {VARIABLE_LIST, type_FourByteChunk,
"dataValues",
"variable length list of data parameters ^^^this is wrong--need padding as well", 0,
"numberOfValues", 1, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FourByteChunk), offsetof(struct GridAxisRecordRepresentation2,dataValues), },
650 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
652struct disfieldattr FIELDS_LinearSegmentParameter [] = {
653 {PRIMITIVE, type_UBYTE,
"segmentNumber",
"number of segments", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct LinearSegmentParameter,segmentNumber), },
654 {CLASSREF, type_SixByteChunk,
"segmentAppearance",
"segment appearance", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SixByteChunk), offsetof(struct LinearSegmentParameter,segmentAppearance), },
655 {CLASSREF, type_Vector3Double,
"location",
"location", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct LinearSegmentParameter,location), },
656 {CLASSREF, type_Orientation,
"orientation",
"orientation", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Orientation), offsetof(struct LinearSegmentParameter,orientation), },
657 {PRIMITIVE, type_USHORT,
"segmentLength",
"segmentLength", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct LinearSegmentParameter,segmentLength), },
658 {PRIMITIVE, type_USHORT,
"segmentWidth",
"segmentWidth", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct LinearSegmentParameter,segmentWidth), },
659 {PRIMITIVE, type_USHORT,
"segmentHeight",
"segmentHeight", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct LinearSegmentParameter,segmentHeight), },
660 {PRIMITIVE, type_USHORT,
"segmentDepth",
"segment Depth", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct LinearSegmentParameter,segmentDepth), },
661 {PRIMITIVE, type_UINT,
"pad1",
"segment Depth", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct LinearSegmentParameter,pad1), },
662 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
664struct disfieldattr FIELDS_GridAxisRecordRepresentation1 [] = {
665 {CLASSREF, type_GridAxisRecord,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct GridAxisRecord), 0 },
666 {PRIMITIVE, type_FLOAT,
"fieldScale",
"constant scale factor", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct GridAxisRecordRepresentation1,fieldScale), },
667 {PRIMITIVE, type_FLOAT,
"fieldOffset",
"constant offset used to scale grid data", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct GridAxisRecordRepresentation1,fieldOffset), },
668 {PRIMITIVE, type_USHORT,
"numberOfValues",
"Number of data values", 0, NULL, 0, type_TwoByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GridAxisRecordRepresentation1,numberOfValues), },
669 {VARIABLE_LIST, type_TwoByteChunk,
"dataValues",
"variable length list of data parameters ^^^this is wrong--need padding as well", 0,
"numberOfValues", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct TwoByteChunk), offsetof(struct GridAxisRecordRepresentation1,dataValues), },
670 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
672struct disfieldattr FIELDS_GridAxisRecordRepresentation0 [] = {
673 {CLASSREF, type_GridAxisRecord,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct GridAxisRecord), 0 },
674 {PRIMITIVE, type_USHORT,
"numberOfBytes",
"number of bytes of environmental state data", 0, NULL, 0, type_OneByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GridAxisRecordRepresentation0,numberOfBytes), },
675 {VARIABLE_LIST, type_OneByteChunk,
"dataValues",
"variable length list of data parameters ^^^this is wrong--need padding as well", 0,
"numberOfBytes", 1, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct OneByteChunk), offsetof(struct GridAxisRecordRepresentation0,dataValues), },
676 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
678struct disfieldattr FIELDS_RemoveEntityPdu [] = {
679 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
680 {PRIMITIVE, type_UINT,
"requestID",
"Identifier for the request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct RemoveEntityPdu,requestID), },
681 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
683struct disfieldattr FIELDS_ResupplyReceivedPdu [] = {
684 {CLASSREF, type_LogisticsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct LogisticsFamilyPdu), 0 },
685 {CLASSREF, type_EntityID,
"receivingEntityID",
"Entity that is receiving service", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ResupplyReceivedPdu,receivingEntityID), },
686 {CLASSREF, type_EntityID,
"supplyingEntityID",
"Entity that is supplying", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ResupplyReceivedPdu,supplyingEntityID), },
687 {PRIMITIVE, type_UBYTE,
"numberOfSupplyTypes",
"how many supplies are being offered", 0, NULL, 0, type_SupplyQuantity, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ResupplyReceivedPdu,numberOfSupplyTypes), },
688 {PRIMITIVE, type_SHORT,
"padding1",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct ResupplyReceivedPdu,padding1), },
689 {PRIMITIVE, type_BYTE,
"padding2",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(char), offsetof(
struct ResupplyReceivedPdu,padding2), },
690 {VARIABLE_LIST, type_SupplyQuantity,
"supplies", NULL, 0,
"numberOfSupplyTypes", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct SupplyQuantity), offsetof(struct ResupplyReceivedPdu,supplies), },
691 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
693struct disfieldattr FIELDS_WarfareFamilyPdu [] = {
694 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
695 {CLASSREF, type_EntityID,
"firingEntityID",
"ID of the entity that shot", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct WarfareFamilyPdu,firingEntityID), },
696 {CLASSREF, type_EntityID,
"targetEntityID",
"ID of the entity that is being shot at", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct WarfareFamilyPdu,targetEntityID), },
697 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
699struct disfieldattr FIELDS_ElectronicEmissionSystemData [] = {
700 {PRIMITIVE, type_UBYTE,
"systemDataLength",
"This field shall specify the length of this emitter system's data (including beam data and its track/jam information) in 32-bit words. The length shall include the System Data Length field. ", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionSystemData,systemDataLength), },
701 {PRIMITIVE, type_UBYTE,
"numberOfBeams",
"This field shall specify the number of beams being described in the current PDU for the system being described. ", 0, NULL, 0, type_ElectronicEmissionBeamData, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionSystemData,numberOfBeams), },
702 {PRIMITIVE, type_USHORT,
"emissionsPadding2",
"padding.", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ElectronicEmissionSystemData,emissionsPadding2), },
703 {CLASSREF, type_EmitterSystem,
"emitterSystem",
"This field shall specify information about a particular emitter system", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EmitterSystem), offsetof(struct ElectronicEmissionSystemData,emitterSystem), },
704 {CLASSREF, type_Vector3Float,
"location",
"Location with respect to the entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct ElectronicEmissionSystemData,location), },
705 {VARIABLE_LIST, type_ElectronicEmissionBeamData,
"beamDataRecords",
"variable length list of beam data records", 0,
"numberOfBeams", 1, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct ElectronicEmissionBeamData), offsetof(struct ElectronicEmissionSystemData,beamDataRecords), },
706 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
708struct disfieldattr FIELDS_ActionRequestPdu [] = {
709 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
710 {PRIMITIVE, type_UINT,
"requestID",
"Request ID that is unique", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionRequestPdu,requestID), },
711 {PRIMITIVE, type_UINT,
"actionID",
"identifies the action being requested", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionRequestPdu,actionID), },
712 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Number of fixed datum records", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionRequestPdu,numberOfFixedDatumRecords), },
713 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"Number of variable datum records", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionRequestPdu,numberOfVariableDatumRecords), },
714 {VARIABLE_LIST, type_FixedDatum,
"fixedDatums",
"variable length list of fixed datums", 0,
"numberOfFixedDatumRecords", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct ActionRequestPdu,fixedDatums), },
715 {VARIABLE_LIST, type_VariableDatum,
"variableDatums",
"variable length list of variable length datums", 0,
"numberOfVariableDatumRecords", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct ActionRequestPdu,variableDatums), },
716 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
718struct disfieldattr FIELDS_SupplyQuantity [] = {
719 {CLASSREF, type_EntityType,
"supplyType",
"Type of supply", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct SupplyQuantity,supplyType), },
720 {PRIMITIVE, type_UBYTE,
"quantity",
"quantity to be supplied", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct SupplyQuantity,quantity), },
721 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
723struct disfieldattr FIELDS_AcknowledgePdu [] = {
724 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
725 {PRIMITIVE, type_USHORT,
"acknowledgeFlag",
"type of message being acknowledged", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcknowledgePdu,acknowledgeFlag), },
726 {PRIMITIVE, type_USHORT,
"responseFlag",
"Whether or not the receiving entity was able to comply with the request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcknowledgePdu,responseFlag), },
727 {PRIMITIVE, type_UINT,
"requestID",
"Request ID that is unique", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct AcknowledgePdu,requestID), },
728 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
730struct disfieldattr FIELDS_DistributedEmissionsFamilyPdu [] = {
731 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
732 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
734struct disfieldattr FIELDS_IffAtcNavAidsLayer1Pdu [] = {
735 {CLASSREF, type_DistributedEmissionsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct DistributedEmissionsFamilyPdu), 0 },
736 {CLASSREF, type_EntityID,
"emittingEntityId",
"ID of the entity that is the source of the emissions", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct IffAtcNavAidsLayer1Pdu,emittingEntityId), },
737 {CLASSREF, type_EventID,
"eventID",
"Number generated by the issuing simulation to associate realted events.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EventID), offsetof(struct IffAtcNavAidsLayer1Pdu,eventID), },
738 {CLASSREF, type_Vector3Float,
"location",
"Location wrt entity. There is some ambugiuity in the standard here, but this is the order it is listed in the table.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct IffAtcNavAidsLayer1Pdu,location), },
739 {CLASSREF, type_SystemID,
"systemID",
"System ID information", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SystemID), offsetof(struct IffAtcNavAidsLayer1Pdu,systemID), },
740 {PRIMITIVE, type_USHORT,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IffAtcNavAidsLayer1Pdu,pad2), },
741 {CLASSREF, type_IffFundamentalData,
"fundamentalParameters",
"fundamental parameters", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct IffFundamentalData), offsetof(struct IffAtcNavAidsLayer1Pdu,fundamentalParameters), },
742 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
744struct disfieldattr FIELDS_SimulationManagementWithReliabilityFamilyPdu [] = {
745 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
746 {CLASSREF, type_EntityID,
"originatingEntityID",
"Object originatig the request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct SimulationManagementWithReliabilityFamilyPdu,originatingEntityID), },
747 {CLASSREF, type_EntityID,
"receivingEntityID",
"Object with which this point object is associated", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct SimulationManagementWithReliabilityFamilyPdu,receivingEntityID), },
748 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
750struct disfieldattr FIELDS_ActionRequestReliablePdu [] = {
751 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
752 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ActionRequestReliablePdu,requiredReliabilityService), },
753 {PRIMITIVE, type_USHORT,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ActionRequestReliablePdu,pad1), },
754 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ActionRequestReliablePdu,pad2), },
755 {PRIMITIVE, type_UINT,
"requestID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionRequestReliablePdu,requestID), },
756 {PRIMITIVE, type_UINT,
"actionID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionRequestReliablePdu,actionID), },
757 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Fixed datum record count", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionRequestReliablePdu,numberOfFixedDatumRecords), },
758 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"variable datum record count", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionRequestReliablePdu,numberOfVariableDatumRecords), },
759 {VARIABLE_LIST, type_FixedDatum,
"fixedDatumRecords",
"Fixed datum records", 0,
"numberOfFixedDatumRecords", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct ActionRequestReliablePdu,fixedDatumRecords), },
760 {VARIABLE_LIST, type_VariableDatum,
"variableDatumRecords",
"Variable datum records", 0,
"numberOfVariableDatumRecords", 7, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct ActionRequestReliablePdu,variableDatumRecords), },
761 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
763struct disfieldattr FIELDS_DesignatorPdu [] = {
764 {CLASSREF, type_DistributedEmissionsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct DistributedEmissionsFamilyPdu), 0 },
765 {CLASSREF, type_EntityID,
"designatingEntityID",
"ID of the entity designating", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct DesignatorPdu,designatingEntityID), },
766 {PRIMITIVE, type_USHORT,
"codeName",
"This field shall specify a unique emitter database number assigned to differentiate between otherwise similar or identical emitter beams within an emitter system.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct DesignatorPdu,codeName), },
767 {CLASSREF, type_EntityID,
"designatedEntityID",
"ID of the entity being designated", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct DesignatorPdu,designatedEntityID), },
768 {PRIMITIVE, type_USHORT,
"designatorCode",
"This field shall identify the designator code being used by the designating entity ", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct DesignatorPdu,designatorCode), },
769 {PRIMITIVE, type_FLOAT,
"designatorPower",
"This field shall identify the designator output power in watts", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct DesignatorPdu,designatorPower), },
770 {PRIMITIVE, type_FLOAT,
"designatorWavelength",
"This field shall identify the designator wavelength in units of microns", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct DesignatorPdu,designatorWavelength), },
771 {CLASSREF, type_Vector3Float,
"designatorSpotWrtDesignated",
"designtor spot wrt the designated entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct DesignatorPdu,designatorSpotWrtDesignated), },
772 {CLASSREF, type_Vector3Double,
"designatorSpotLocation",
"designtor spot wrt the designated entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct DesignatorPdu,designatorSpotLocation), },
773 {PRIMITIVE, type_BYTE,
"deadReckoningAlgorithm",
"Dead reckoning algorithm", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(char), offsetof(
struct DesignatorPdu,deadReckoningAlgorithm), },
774 {PRIMITIVE, type_USHORT,
"padding1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct DesignatorPdu,padding1), },
775 {PRIMITIVE, type_BYTE,
"padding2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(char), offsetof(
struct DesignatorPdu,padding2), },
776 {CLASSREF, type_Vector3Float,
"entityLinearAcceleration",
"linear accelleration of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct DesignatorPdu,entityLinearAcceleration), },
777 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
779struct disfieldattr FIELDS_GriddedDataPdu [] = {
780 {CLASSREF, type_SyntheticEnvironmentFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SyntheticEnvironmentFamilyPdu), 0 },
781 {CLASSREF, type_EntityID,
"environmentalSimulationApplicationID",
"environmental simulation application ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct GriddedDataPdu,environmentalSimulationApplicationID), },
782 {PRIMITIVE, type_USHORT,
"fieldNumber",
"unique identifier for each piece of enviornmental data", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GriddedDataPdu,fieldNumber), },
783 {PRIMITIVE, type_USHORT,
"pduNumber",
"sequence number for the total set of PDUS used to transmit the data", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GriddedDataPdu,pduNumber), },
784 {PRIMITIVE, type_USHORT,
"pduTotal",
"Total number of PDUS used to transmit the data", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GriddedDataPdu,pduTotal), },
785 {PRIMITIVE, type_USHORT,
"coordinateSystem",
"coordinate system of the grid", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GriddedDataPdu,coordinateSystem), },
786 {PRIMITIVE, type_UBYTE,
"numberOfGridAxes",
"number of grid axes for the environmental data", 0, NULL, 0, type_GridAxisRecord, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct GriddedDataPdu,numberOfGridAxes), },
787 {PRIMITIVE, type_UBYTE,
"constantGrid",
"are domain grid axes identidal to those of the priveious domain update?", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct GriddedDataPdu,constantGrid), },
788 {CLASSREF, type_EntityType,
"environmentType",
"type of environment", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct GriddedDataPdu,environmentType), },
789 {CLASSREF, type_Orientation,
"orientation",
"orientation of the data grid", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Orientation), offsetof(struct GriddedDataPdu,orientation), },
790 {PRIMITIVE, type_LONG,
"sampleTime",
"valid time of the enviormental data sample, 64 bit unsigned int", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
long long), offsetof(
struct GriddedDataPdu,sampleTime), },
791 {PRIMITIVE, type_UINT,
"totalValues",
"total number of all data values for all pdus for an environmental sample", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct GriddedDataPdu,totalValues), },
792 {PRIMITIVE, type_UBYTE,
"vectorDimension",
"total number of data values at each grid point.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct GriddedDataPdu,vectorDimension), },
793 {PRIMITIVE, type_USHORT,
"padding1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct GriddedDataPdu,padding1), },
794 {PRIMITIVE, type_UBYTE,
"padding2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct GriddedDataPdu,padding2), },
795 {VARIABLE_LIST, type_GridAxisRecord,
"gridDataList",
"Grid data ^^^This is wrong", 0,
"numberOfGridAxes", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct GridAxisRecord), offsetof(struct GriddedDataPdu,gridDataList), },
796 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
798struct disfieldattr FIELDS_SetRecordReliablePdu [] = {
799 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
800 {PRIMITIVE, type_UINT,
"requestID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetRecordReliablePdu,requestID), },
801 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct SetRecordReliablePdu,requiredReliabilityService), },
802 {PRIMITIVE, type_USHORT,
"pad1",
"padding. The spec is unclear and contradictory here.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SetRecordReliablePdu,pad1), },
803 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct SetRecordReliablePdu,pad2), },
804 {PRIMITIVE, type_UINT,
"numberOfRecordSets",
"Number of record sets in list", 0, NULL, 0, type_RecordSet, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetRecordReliablePdu,numberOfRecordSets), },
805 {VARIABLE_LIST, type_RecordSet,
"recordSets",
"record sets", 0,
"numberOfRecordSets", 5, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct RecordSet), offsetof(struct SetRecordReliablePdu,recordSets), },
806 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
808struct disfieldattr FIELDS_StopFreezePdu [] = {
809 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
810 {CLASSREF, type_ClockTime,
"realWorldTime",
"UTC time at which the simulation shall stop or freeze", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ClockTime), offsetof(struct StopFreezePdu,realWorldTime), },
811 {PRIMITIVE, type_UBYTE,
"reason",
"Reason the simulation was stopped or frozen", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct StopFreezePdu,reason), },
812 {PRIMITIVE, type_UBYTE,
"frozenBehavior",
"Internal behavior of the simulation and its appearance while frozento the other participants", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct StopFreezePdu,frozenBehavior), },
813 {PRIMITIVE, type_SHORT,
"padding1",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct StopFreezePdu,padding1), },
814 {PRIMITIVE, type_UINT,
"requestID",
"Request ID that is unique", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct StopFreezePdu,requestID), },
815 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
817struct disfieldattr FIELDS_ResupplyCancelPdu [] = {
818 {CLASSREF, type_LogisticsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct LogisticsFamilyPdu), 0 },
819 {CLASSREF, type_EntityID,
"receivingEntityID",
"Entity that is receiving service", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ResupplyCancelPdu,receivingEntityID), },
820 {CLASSREF, type_EntityID,
"supplyingEntityID",
"Entity that is supplying", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ResupplyCancelPdu,supplyingEntityID), },
821 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
823struct disfieldattr FIELDS_EntityManagementFamilyPdu [] = {
824 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
825 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
827struct disfieldattr FIELDS_StartResumePdu [] = {
828 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
829 {CLASSREF, type_ClockTime,
"realWorldTime",
"UTC time at which the simulation shall start or resume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ClockTime), offsetof(struct StartResumePdu,realWorldTime), },
830 {CLASSREF, type_ClockTime,
"simulationTime",
"Simulation clock time at which the simulation shall start or resume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ClockTime), offsetof(struct StartResumePdu,simulationTime), },
831 {PRIMITIVE, type_UINT,
"requestID",
"Identifier for the request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct StartResumePdu,requestID), },
832 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
834struct disfieldattr FIELDS_TransmitterPdu [] = {
835 {CLASSREF, type_RadioCommunicationsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct RadioCommunicationsFamilyPdu), 0 },
836 {CLASSREF, type_RadioEntityType,
"radioEntityType",
"linear accelleration of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct RadioEntityType), offsetof(struct TransmitterPdu,radioEntityType), },
837 {PRIMITIVE, type_UBYTE,
"transmitState",
"transmit state", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TransmitterPdu,transmitState), },
838 {PRIMITIVE, type_UBYTE,
"inputSource",
"input source", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TransmitterPdu,inputSource), },
839 {PRIMITIVE, type_USHORT,
"padding1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct TransmitterPdu,padding1), },
840 {CLASSREF, type_Vector3Double,
"antennaLocation",
"Location of antenna", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct TransmitterPdu,antennaLocation), },
841 {CLASSREF, type_Vector3Float,
"relativeAntennaLocation",
"relative location of antenna", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct TransmitterPdu,relativeAntennaLocation), },
842 {PRIMITIVE, type_USHORT,
"antennaPatternType",
"antenna pattern type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct TransmitterPdu,antennaPatternType), },
843 {PRIMITIVE, type_USHORT,
"antennaPatternCount",
"atenna pattern length", 0, NULL, 0, type_Vector3Float, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct TransmitterPdu,antennaPatternCount), },
844 {PRIMITIVE, type_ULONG,
"frequency",
"frequency", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned long long), offsetof(
struct TransmitterPdu,frequency), },
845 {PRIMITIVE, type_FLOAT,
"transmitFrequencyBandwidth",
"transmit frequency Bandwidth", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct TransmitterPdu,transmitFrequencyBandwidth), },
846 {PRIMITIVE, type_FLOAT,
"power",
"transmission power", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct TransmitterPdu,power), },
847 {CLASSREF, type_ModulationType,
"modulationType",
"modulation", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ModulationType), offsetof(struct TransmitterPdu,modulationType), },
848 {PRIMITIVE, type_USHORT,
"cryptoSystem",
"crypto system enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct TransmitterPdu,cryptoSystem), },
849 {PRIMITIVE, type_USHORT,
"cryptoKeyId",
"crypto system key identifer", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct TransmitterPdu,cryptoKeyId), },
850 {PRIMITIVE, type_UBYTE,
"modulationParameterCount",
"how many modulation parameters we have", 0, NULL, 0, type_Vector3Float, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TransmitterPdu,modulationParameterCount), },
851 {PRIMITIVE, type_USHORT,
"padding2",
"padding2", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct TransmitterPdu,padding2), },
852 {PRIMITIVE, type_UBYTE,
"padding3",
"padding3", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TransmitterPdu,padding3), },
853 {VARIABLE_LIST, type_Vector3Float,
"modulationParametersList",
"variable length list of modulation parameters", 0,
"modulationParameterCount", 15, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct TransmitterPdu,modulationParametersList), },
854 {VARIABLE_LIST, type_Vector3Float,
"antennaPatternList",
"variable length list of antenna pattern records", 0,
"antennaPatternCount", 8, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct TransmitterPdu,antennaPatternList), },
855 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
857struct disfieldattr FIELDS_TrackJamTarget [] = {
858 {CLASSREF, type_EntityID,
"trackJam",
"track/jam target", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct TrackJamTarget,trackJam), },
859 {PRIMITIVE, type_UBYTE,
"emitterID",
"Emitter ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TrackJamTarget,emitterID), },
860 {PRIMITIVE, type_UBYTE,
"beamID",
"beam ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TrackJamTarget,beamID), },
861 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
863struct disfieldattr FIELDS_ElectronicEmissionsPdu [] = {
864 {CLASSREF, type_DistributedEmissionsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct DistributedEmissionsFamilyPdu), 0 },
865 {CLASSREF, type_EntityID,
"emittingEntityID",
"ID of the entity emitting", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ElectronicEmissionsPdu,emittingEntityID), },
866 {CLASSREF, type_EventID,
"eventID",
"ID of event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EventID), offsetof(struct ElectronicEmissionsPdu,eventID), },
867 {PRIMITIVE, type_UBYTE,
"stateUpdateIndicator",
"This field shall be used to indicate if the data in the PDU represents a state update or just data that has changed since issuance of the last Electromagnetic Emission PDU [relative to the identified entity and emission system(s)].", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionsPdu,stateUpdateIndicator), },
868 {PRIMITIVE, type_UBYTE,
"numberOfSystems",
"This field shall specify the number of emission systems being described in the current PDU.", 0, NULL, 0, type_ElectronicEmissionSystemData, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ElectronicEmissionsPdu,numberOfSystems), },
869 {PRIMITIVE, type_USHORT,
"paddingForEmissionsPdu",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ElectronicEmissionsPdu,paddingForEmissionsPdu), },
870 {VARIABLE_LIST, type_ElectronicEmissionSystemData,
"systems",
"Electronic emmissions systems", 0,
"numberOfSystems", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct ElectronicEmissionSystemData), offsetof(struct ElectronicEmissionsPdu,systems), },
871 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
873struct disfieldattr FIELDS_ResupplyOfferPdu [] = {
874 {CLASSREF, type_LogisticsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct LogisticsFamilyPdu), 0 },
875 {CLASSREF, type_EntityID,
"receivingEntityID",
"Entity that is receiving service", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ResupplyOfferPdu,receivingEntityID), },
876 {CLASSREF, type_EntityID,
"supplyingEntityID",
"Entity that is supplying", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ResupplyOfferPdu,supplyingEntityID), },
877 {PRIMITIVE, type_UBYTE,
"numberOfSupplyTypes",
"how many supplies are being offered", 0, NULL, 0, type_SupplyQuantity, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ResupplyOfferPdu,numberOfSupplyTypes), },
878 {PRIMITIVE, type_SHORT,
"padding1",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct ResupplyOfferPdu,padding1), },
879 {PRIMITIVE, type_BYTE,
"padding2",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(char), offsetof(
struct ResupplyOfferPdu,padding2), },
880 {VARIABLE_LIST, type_SupplyQuantity,
"supplies", NULL, 0,
"numberOfSupplyTypes", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct SupplyQuantity), offsetof(struct ResupplyOfferPdu,supplies), },
881 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
883struct disfieldattr FIELDS_MinefieldFamilyPdu [] = {
884 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
885 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
887struct disfieldattr FIELDS_SetDataReliablePdu [] = {
888 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
889 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct SetDataReliablePdu,requiredReliabilityService), },
890 {PRIMITIVE, type_USHORT,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SetDataReliablePdu,pad1), },
891 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct SetDataReliablePdu,pad2), },
892 {PRIMITIVE, type_UINT,
"requestID",
"Request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetDataReliablePdu,requestID), },
893 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Fixed datum record count", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetDataReliablePdu,numberOfFixedDatumRecords), },
894 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"variable datum record count", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetDataReliablePdu,numberOfVariableDatumRecords), },
895 {VARIABLE_LIST, type_FixedDatum,
"fixedDatumRecords",
"Fixed datum records", 0,
"numberOfFixedDatumRecords", 5, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct SetDataReliablePdu,fixedDatumRecords), },
896 {VARIABLE_LIST, type_VariableDatum,
"variableDatumRecords",
"Variable datum records", 0,
"numberOfVariableDatumRecords", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct SetDataReliablePdu,variableDatumRecords), },
897 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
899struct disfieldattr FIELDS_EventReportPdu [] = {
900 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
901 {PRIMITIVE, type_UINT,
"eventType",
"Type of event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct EventReportPdu,eventType), },
902 {PRIMITIVE, type_UINT,
"padding1",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct EventReportPdu,padding1), },
903 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Number of fixed datum records", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct EventReportPdu,numberOfFixedDatumRecords), },
904 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"Number of variable datum records", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct EventReportPdu,numberOfVariableDatumRecords), },
905 {VARIABLE_LIST, type_FixedDatum,
"fixedDatums",
"variable length list of fixed datums", 0,
"numberOfFixedDatumRecords", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct EventReportPdu,fixedDatums), },
906 {VARIABLE_LIST, type_VariableDatum,
"variableDatums",
"variable length list of variable length datums", 0,
"numberOfVariableDatumRecords", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct EventReportPdu,variableDatums), },
907 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
909struct disfieldattr FIELDS_PointObjectStatePdu [] = {
910 {CLASSREF, type_SyntheticEnvironmentFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SyntheticEnvironmentFamilyPdu), 0 },
911 {CLASSREF, type_EntityID,
"objectID",
"Object in synthetic environment", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct PointObjectStatePdu,objectID), },
912 {CLASSREF, type_EntityID,
"referencedObjectID",
"Object with which this point object is associated", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct PointObjectStatePdu,referencedObjectID), },
913 {PRIMITIVE, type_USHORT,
"updateNumber",
"unique update number of each state transition of an object", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct PointObjectStatePdu,updateNumber), },
914 {PRIMITIVE, type_UBYTE,
"forceID",
"force ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct PointObjectStatePdu,forceID), },
915 {PRIMITIVE, type_UBYTE,
"modifications",
"modifications", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct PointObjectStatePdu,modifications), },
916 {CLASSREF, type_ObjectType,
"objectType",
"Object type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ObjectType), offsetof(struct PointObjectStatePdu,objectType), },
917 {CLASSREF, type_Vector3Double,
"objectLocation",
"Object location", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct PointObjectStatePdu,objectLocation), },
918 {CLASSREF, type_Orientation,
"objectOrientation",
"Object orientation", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Orientation), offsetof(struct PointObjectStatePdu,objectOrientation), },
919 {PRIMITIVE, type_DOUBLE,
"objectAppearance",
"Object apperance", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct PointObjectStatePdu,objectAppearance), },
920 {CLASSREF, type_SimulationAddress,
"requesterID",
"requesterID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SimulationAddress), offsetof(struct PointObjectStatePdu,requesterID), },
921 {CLASSREF, type_SimulationAddress,
"receivingID",
"receiver ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SimulationAddress), offsetof(struct PointObjectStatePdu,receivingID), },
922 {PRIMITIVE, type_UINT,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct PointObjectStatePdu,pad2), },
923 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
925struct disfieldattr FIELDS_EnvironmentalProcessPdu [] = {
926 {CLASSREF, type_SyntheticEnvironmentFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SyntheticEnvironmentFamilyPdu), 0 },
927 {CLASSREF, type_EntityID,
"environementalProcessID",
"Environmental process ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct EnvironmentalProcessPdu,environementalProcessID), },
928 {CLASSREF, type_EntityType,
"environmentType",
"Environment type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct EnvironmentalProcessPdu,environmentType), },
929 {PRIMITIVE, type_UBYTE,
"modelType",
"model type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EnvironmentalProcessPdu,modelType), },
930 {PRIMITIVE, type_UBYTE,
"environmentStatus",
"Environment status", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EnvironmentalProcessPdu,environmentStatus), },
931 {PRIMITIVE, type_UBYTE,
"numberOfEnvironmentRecords",
"number of environment records ", 0, NULL, 0, type_Environment, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EnvironmentalProcessPdu,numberOfEnvironmentRecords), },
932 {PRIMITIVE, type_USHORT,
"sequenceNumber",
"PDU sequence number for the environmentla process if pdu sequencing required", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EnvironmentalProcessPdu,sequenceNumber), },
933 {VARIABLE_LIST, type_Environment,
"environmentRecords",
"environemt records", 0,
"numberOfEnvironmentRecords", 5, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct Environment), offsetof(struct EnvironmentalProcessPdu,environmentRecords), },
934 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
936struct disfieldattr FIELDS_DataPdu [] = {
937 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
938 {PRIMITIVE, type_UINT,
"requestID",
"ID of request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataPdu,requestID), },
939 {PRIMITIVE, type_UINT,
"padding1",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataPdu,padding1), },
940 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Number of fixed datum records", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataPdu,numberOfFixedDatumRecords), },
941 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"Number of variable datum records", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataPdu,numberOfVariableDatumRecords), },
942 {VARIABLE_LIST, type_FixedDatum,
"fixedDatums",
"variable length list of fixed datums", 0,
"numberOfFixedDatumRecords", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct DataPdu,fixedDatums), },
943 {VARIABLE_LIST, type_VariableDatum,
"variableDatums",
"variable length list of variable length datums", 0,
"numberOfVariableDatumRecords", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct DataPdu,variableDatums), },
944 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
946struct disfieldattr FIELDS_IsGroupOfPdu [] = {
947 {CLASSREF, type_EntityManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityManagementFamilyPdu), 0 },
948 {CLASSREF, type_EntityID,
"groupEntityID",
"ID of aggregated entities", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct IsGroupOfPdu,groupEntityID), },
949 {PRIMITIVE, type_UBYTE,
"groupedEntityCategory",
"type of entities constituting the group", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IsGroupOfPdu,groupedEntityCategory), },
950 {PRIMITIVE, type_UBYTE,
"numberOfGroupedEntities",
"Number of individual entities constituting the group", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IsGroupOfPdu,numberOfGroupedEntities), },
951 {PRIMITIVE, type_UINT,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct IsGroupOfPdu,pad2), },
952 {PRIMITIVE, type_DOUBLE,
"latitude",
"latitude", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct IsGroupOfPdu,latitude), },
953 {PRIMITIVE, type_DOUBLE,
"longitude",
"longitude", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct IsGroupOfPdu,longitude), },
954 {VARIABLE_LIST, type_VariableDatum,
"groupedEntityDescriptions",
"GED records about each individual entity in the group. ^^^this is wrong--need a database lookup to find the actual size of the list elements", 0,
"numberOfGroupedEntities", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct IsGroupOfPdu,groupedEntityDescriptions), },
955 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
957struct disfieldattr FIELDS_MinefieldDataPdu [] = {
958 {CLASSREF, type_MinefieldFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct MinefieldFamilyPdu), 0 },
959 {CLASSREF, type_EntityID,
"minefieldID",
"Minefield ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct MinefieldDataPdu,minefieldID), },
960 {CLASSREF, type_EntityID,
"requestingEntityID",
"ID of entity making request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct MinefieldDataPdu,requestingEntityID), },
961 {PRIMITIVE, type_USHORT,
"minefieldSequenceNumbeer",
"Minefield sequence number", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct MinefieldDataPdu,minefieldSequenceNumbeer), },
962 {PRIMITIVE, type_UBYTE,
"requestID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldDataPdu,requestID), },
963 {PRIMITIVE, type_UBYTE,
"pduSequenceNumber",
"pdu sequence number", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldDataPdu,pduSequenceNumber), },
964 {PRIMITIVE, type_UBYTE,
"numberOfPdus",
"number of pdus in response", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldDataPdu,numberOfPdus), },
965 {PRIMITIVE, type_UBYTE,
"numberOfMinesInThisPdu",
"how many mines are in this PDU", 0, NULL, 0, type_Vector3Float, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldDataPdu,numberOfMinesInThisPdu), },
966 {PRIMITIVE, type_UBYTE,
"numberOfSensorTypes",
"how many sensor type are in this PDU", 0, NULL, 0, type_TwoByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldDataPdu,numberOfSensorTypes), },
967 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldDataPdu,pad2), },
968 {PRIMITIVE, type_UINT,
"dataFilter",
"32 boolean fields", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct MinefieldDataPdu,dataFilter), },
969 {CLASSREF, type_EntityType,
"mineType",
"Mine type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct MinefieldDataPdu,mineType), },
970 {VARIABLE_LIST, type_TwoByteChunk,
"sensorTypes",
"Sensor types, each 16 bits long", 0,
"numberOfSensorTypes", 8, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct TwoByteChunk), offsetof(struct MinefieldDataPdu,sensorTypes), },
971 {PRIMITIVE, type_UBYTE,
"pad3",
"Padding to get things 32-bit aligned. ^^^this is wrong--dyanmically sized padding needed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldDataPdu,pad3), },
972 {VARIABLE_LIST, type_Vector3Float,
"mineLocation",
"Mine locations", 0,
"numberOfMinesInThisPdu", 7, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct MinefieldDataPdu,mineLocation), },
973 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
975struct disfieldattr FIELDS_TransferControlRequestPdu [] = {
976 {CLASSREF, type_EntityManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityManagementFamilyPdu), 0 },
977 {CLASSREF, type_EntityID,
"orginatingEntityID",
"ID of entity originating request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct TransferControlRequestPdu,orginatingEntityID), },
978 {CLASSREF, type_EntityID,
"recevingEntityID",
"ID of entity receiving request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct TransferControlRequestPdu,recevingEntityID), },
979 {PRIMITIVE, type_UINT,
"requestID",
"ID ofrequest", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct TransferControlRequestPdu,requestID), },
980 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"required level of reliabliity service.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TransferControlRequestPdu,requiredReliabilityService), },
981 {PRIMITIVE, type_UBYTE,
"tranferType",
"type of transfer desired", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TransferControlRequestPdu,tranferType), },
982 {CLASSREF, type_EntityID,
"transferEntityID",
"The entity for which control is being requested to transfer", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct TransferControlRequestPdu,transferEntityID), },
983 {PRIMITIVE, type_UBYTE,
"numberOfRecordSets",
"number of record sets to transfer", 0, NULL, 0, type_RecordSet, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct TransferControlRequestPdu,numberOfRecordSets), },
984 {VARIABLE_LIST, type_RecordSet,
"recordSets",
"^^^This is wrong--the RecordSet class needs more work", 0,
"numberOfRecordSets", 7, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct RecordSet), offsetof(struct TransferControlRequestPdu,recordSets), },
985 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
987struct disfieldattr FIELDS_EntityInformationFamilyPdu [] = {
988 {CLASSREF, type_Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct Pdu), 0 },
989 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
991struct disfieldattr FIELDS_AcknowledgeReliablePdu [] = {
992 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
993 {PRIMITIVE, type_USHORT,
"acknowledgeFlag",
"ack flags", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcknowledgeReliablePdu,acknowledgeFlag), },
994 {PRIMITIVE, type_USHORT,
"responseFlag",
"response flags", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AcknowledgeReliablePdu,responseFlag), },
995 {PRIMITIVE, type_UINT,
"requestID",
"Request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct AcknowledgeReliablePdu,requestID), },
996 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
998struct disfieldattr FIELDS_StartResumeReliablePdu [] = {
999 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1000 {CLASSREF, type_ClockTime,
"realWorldTime",
"time in real world for this operation to happen", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ClockTime), offsetof(struct StartResumeReliablePdu,realWorldTime), },
1001 {CLASSREF, type_ClockTime,
"simulationTime",
"time in simulation for the simulation to resume", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ClockTime), offsetof(struct StartResumeReliablePdu,simulationTime), },
1002 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct StartResumeReliablePdu,requiredReliabilityService), },
1003 {PRIMITIVE, type_USHORT,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct StartResumeReliablePdu,pad1), },
1004 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct StartResumeReliablePdu,pad2), },
1005 {PRIMITIVE, type_UINT,
"requestID",
"Request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct StartResumeReliablePdu,requestID), },
1006 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1008struct disfieldattr FIELDS_IffAtcNavAidsLayer2Pdu [] = {
1009 {CLASSREF, type_IffAtcNavAidsLayer1Pdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct IffAtcNavAidsLayer1Pdu), 0 },
1010 {CLASSREF, type_LayerHeader,
"layerHeader",
"layer header", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct LayerHeader), offsetof(struct IffAtcNavAidsLayer2Pdu,layerHeader), },
1011 {CLASSREF, type_BeamData,
"beamData",
"beam data", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct BeamData), offsetof(struct IffAtcNavAidsLayer2Pdu,beamData), },
1012 {CLASSREF, type_BeamData,
"secondaryOperationalData",
"Secondary operational data, 5.2.57", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct BeamData), offsetof(struct IffAtcNavAidsLayer2Pdu,secondaryOperationalData), },
1013 {VARIABLE_LIST, type_FundamentalParameterDataIff,
"fundamentalIffParameters",
"variable length list of fundamental parameters. ^^^This is wrong", 0,
"pad2", 0, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FundamentalParameterDataIff), offsetof(struct IffAtcNavAidsLayer2Pdu,fundamentalIffParameters), },
1014 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1016struct disfieldattr FIELDS_ArealObjectStatePdu [] = {
1017 {CLASSREF, type_SyntheticEnvironmentFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SyntheticEnvironmentFamilyPdu), 0 },
1018 {CLASSREF, type_EntityID,
"objectID",
"Object in synthetic environment", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ArealObjectStatePdu,objectID), },
1019 {CLASSREF, type_EntityID,
"referencedObjectID",
"Object with which this point object is associated", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ArealObjectStatePdu,referencedObjectID), },
1020 {PRIMITIVE, type_USHORT,
"updateNumber",
"unique update number of each state transition of an object", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ArealObjectStatePdu,updateNumber), },
1021 {PRIMITIVE, type_UBYTE,
"forceID",
"force ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ArealObjectStatePdu,forceID), },
1022 {PRIMITIVE, type_UBYTE,
"modifications",
"modifications enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct ArealObjectStatePdu,modifications), },
1023 {CLASSREF, type_EntityType,
"objectType",
"Object type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct ArealObjectStatePdu,objectType), },
1024 {CLASSREF, type_SixByteChunk,
"objectAppearance",
"Object appearance", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SixByteChunk), offsetof(struct ArealObjectStatePdu,objectAppearance), },
1025 {PRIMITIVE, type_USHORT,
"numberOfPoints",
"Number of points", 0, NULL, 0, type_Vector3Double, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ArealObjectStatePdu,numberOfPoints), },
1026 {CLASSREF, type_SimulationAddress,
"requesterID",
"requesterID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SimulationAddress), offsetof(struct ArealObjectStatePdu,requesterID), },
1027 {CLASSREF, type_SimulationAddress,
"receivingID",
"receiver ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct SimulationAddress), offsetof(struct ArealObjectStatePdu,receivingID), },
1028 {VARIABLE_LIST, type_Vector3Double,
"objectLocation",
"location of object", 0,
"numberOfPoints", 8, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct ArealObjectStatePdu,objectLocation), },
1029 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1031struct disfieldattr FIELDS_DataQueryReliablePdu [] = {
1032 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1033 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct DataQueryReliablePdu,requiredReliabilityService), },
1034 {PRIMITIVE, type_USHORT,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct DataQueryReliablePdu,pad1), },
1035 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct DataQueryReliablePdu,pad2), },
1036 {PRIMITIVE, type_UINT,
"requestID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataQueryReliablePdu,requestID), },
1037 {PRIMITIVE, type_UINT,
"timeInterval",
"time interval between issuing data query PDUs", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataQueryReliablePdu,timeInterval), },
1038 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Fixed datum record count", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataQueryReliablePdu,numberOfFixedDatumRecords), },
1039 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"variable datum record count", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataQueryReliablePdu,numberOfVariableDatumRecords), },
1040 {VARIABLE_LIST, type_FixedDatum,
"fixedDatumRecords",
"Fixed datum records", 0,
"numberOfFixedDatumRecords", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct DataQueryReliablePdu,fixedDatumRecords), },
1041 {VARIABLE_LIST, type_VariableDatum,
"variableDatumRecords",
"Variable datum records", 0,
"numberOfVariableDatumRecords", 7, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct DataQueryReliablePdu,variableDatumRecords), },
1042 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1044struct disfieldattr FIELDS_AggregateStatePdu [] = {
1045 {CLASSREF, type_EntityManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityManagementFamilyPdu), 0 },
1046 {CLASSREF, type_EntityID,
"aggregateID",
"ID of aggregated entities", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct AggregateStatePdu,aggregateID), },
1047 {PRIMITIVE, type_UBYTE,
"forceID",
"force ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateStatePdu,forceID), },
1048 {PRIMITIVE, type_UBYTE,
"aggregateState",
"state of aggregate", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateStatePdu,aggregateState), },
1049 {CLASSREF, type_EntityType,
"aggregateType",
"entity type of the aggregated entities", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct AggregateStatePdu,aggregateType), },
1050 {PRIMITIVE, type_UINT,
"formation",
"formation of aggregated entities", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct AggregateStatePdu,formation), },
1051 {CLASSREF, type_AggregateMarking,
"aggregateMarking",
"marking for aggregate; first char is charset type, rest is char data", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct AggregateMarking), offsetof(struct AggregateStatePdu,aggregateMarking), },
1052 {CLASSREF, type_Vector3Float,
"dimensions",
"dimensions of bounding box for the aggregated entities, origin at the center of mass", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct AggregateStatePdu,dimensions), },
1053 {CLASSREF, type_Orientation,
"orientation",
"orientation of the bounding box", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Orientation), offsetof(struct AggregateStatePdu,orientation), },
1054 {CLASSREF, type_Vector3Double,
"centerOfMass",
"center of mass of the aggregation", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct AggregateStatePdu,centerOfMass), },
1055 {CLASSREF, type_Vector3Float,
"velocity",
"velocity of aggregation", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct AggregateStatePdu,velocity), },
1056 {PRIMITIVE, type_USHORT,
"numberOfDisAggregates",
"number of aggregates", 0, NULL, 0, type_AggregateID, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AggregateStatePdu,numberOfDisAggregates), },
1057 {PRIMITIVE, type_USHORT,
"numberOfDisEntities",
"number of entities", 0, NULL, 0, type_EntityID, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AggregateStatePdu,numberOfDisEntities), },
1058 {PRIMITIVE, type_USHORT,
"numberOfSilentAggregateTypes",
"number of silent aggregate types", 0, NULL, 0, type_EntityType, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AggregateStatePdu,numberOfSilentAggregateTypes), },
1059 {PRIMITIVE, type_USHORT,
"numberOfSilentEntityTypes",
"number of silent entity types", 0, NULL, 0, type_EntityType, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct AggregateStatePdu,numberOfSilentEntityTypes), },
1060 {VARIABLE_LIST, type_AggregateID,
"aggregateIDList",
"aggregates list", 0,
"numberOfDisAggregates", 11, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct AggregateID), offsetof(struct AggregateStatePdu,aggregateIDList), },
1061 {VARIABLE_LIST, type_EntityID,
"entityIDList",
"entity ID list", 0,
"numberOfDisEntities", 12, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct AggregateStatePdu,entityIDList), },
1062 {PRIMITIVE, type_UBYTE,
"pad2",
"^^^padding to put the start of the next list on a 32 bit boundary. This needs to be fixed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct AggregateStatePdu,pad2), },
1063 {VARIABLE_LIST, type_EntityType,
"silentAggregateSystemList",
"silent entity types", 0,
"numberOfSilentAggregateTypes", 13, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct AggregateStatePdu,silentAggregateSystemList), },
1064 {VARIABLE_LIST, type_EntityType,
"silentEntitySystemList",
"silent entity types", 0,
"numberOfSilentEntityTypes", 14, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct AggregateStatePdu,silentEntitySystemList), },
1065 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"number of variable datum records", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct AggregateStatePdu,numberOfVariableDatumRecords), },
1066 {VARIABLE_LIST, type_VariableDatum,
"variableDatumList",
"variableDatums", 0,
"numberOfVariableDatumRecords", 20, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct AggregateStatePdu,variableDatumList), },
1067 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1069struct disfieldattr FIELDS_EntityStateUpdatePdu [] = {
1070 {CLASSREF, type_EntityInformationFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityInformationFamilyPdu), 0 },
1071 {CLASSREF, type_EntityID,
"entityID",
"This field shall identify the entity issuing the PDU", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct EntityStateUpdatePdu,entityID), },
1072 {PRIMITIVE, type_BYTE,
"padding1",
"Padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(char), offsetof(
struct EntityStateUpdatePdu,padding1), },
1073 {PRIMITIVE, type_UBYTE,
"numberOfArticulationParameters",
"How many articulation parameters are in the variable length list", 0, NULL, 0, type_ArticulationParameter, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EntityStateUpdatePdu,numberOfArticulationParameters), },
1074 {CLASSREF, type_Vector3Float,
"entityLinearVelocity",
"Describes the speed of the entity in the world", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct EntityStateUpdatePdu,entityLinearVelocity), },
1075 {CLASSREF, type_Vector3Double,
"entityLocation",
"describes the location of the entity in the world", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct EntityStateUpdatePdu,entityLocation), },
1076 {CLASSREF, type_Orientation,
"entityOrientation",
"describes the orientation of the entity, in euler angles", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Orientation), offsetof(struct EntityStateUpdatePdu,entityOrientation), },
1077 {PRIMITIVE, type_INT,
"entityAppearance",
"a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct EntityStateUpdatePdu,entityAppearance), },
1078 {VARIABLE_LIST, type_ArticulationParameter,
"articulationParameters", NULL, 0,
"numberOfArticulationParameters", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct ArticulationParameter), offsetof(struct EntityStateUpdatePdu,articulationParameters), },
1079 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1081struct disfieldattr FIELDS_MinefieldStatePdu [] = {
1082 {CLASSREF, type_MinefieldFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct MinefieldFamilyPdu), 0 },
1083 {CLASSREF, type_EntityID,
"minefieldID",
"Minefield ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct MinefieldStatePdu,minefieldID), },
1084 {PRIMITIVE, type_USHORT,
"minefieldSequence",
"Minefield sequence", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct MinefieldStatePdu,minefieldSequence), },
1085 {PRIMITIVE, type_UBYTE,
"forceID",
"force ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldStatePdu,forceID), },
1086 {PRIMITIVE, type_UBYTE,
"numberOfPerimeterPoints",
"Number of permieter points", 0, NULL, 0, type_Point, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldStatePdu,numberOfPerimeterPoints), },
1087 {CLASSREF, type_EntityType,
"minefieldType",
"type of minefield", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct MinefieldStatePdu,minefieldType), },
1088 {PRIMITIVE, type_USHORT,
"numberOfMineTypes",
"how many mine types", 0, NULL, 0, type_EntityType, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct MinefieldStatePdu,numberOfMineTypes), },
1089 {CLASSREF, type_Vector3Double,
"minefieldLocation",
"location of minefield in world coords", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct MinefieldStatePdu,minefieldLocation), },
1090 {CLASSREF, type_Orientation,
"minefieldOrientation",
"orientation of minefield", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Orientation), offsetof(struct MinefieldStatePdu,minefieldOrientation), },
1091 {PRIMITIVE, type_USHORT,
"appearance",
"appearance bitflags", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct MinefieldStatePdu,appearance), },
1092 {PRIMITIVE, type_USHORT,
"protocolMode",
"protocolMode", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct MinefieldStatePdu,protocolMode), },
1093 {VARIABLE_LIST, type_Point,
"perimeterPoints",
"perimeter points for the minefield", 0,
"numberOfPerimeterPoints", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct Point), offsetof(struct MinefieldStatePdu,perimeterPoints), },
1094 {VARIABLE_LIST, type_EntityType,
"mineType",
"Type of mines", 0,
"numberOfMineTypes", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct MinefieldStatePdu,mineType), },
1095 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1097struct disfieldattr FIELDS_DataReliablePdu [] = {
1098 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1099 {PRIMITIVE, type_UINT,
"requestID",
"Request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataReliablePdu,requestID), },
1100 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct DataReliablePdu,requiredReliabilityService), },
1101 {PRIMITIVE, type_USHORT,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct DataReliablePdu,pad1), },
1102 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct DataReliablePdu,pad2), },
1103 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Fixed datum record count", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataReliablePdu,numberOfFixedDatumRecords), },
1104 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"variable datum record count", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct DataReliablePdu,numberOfVariableDatumRecords), },
1105 {VARIABLE_LIST, type_FixedDatum,
"fixedDatumRecords",
"Fixed datum records", 0,
"numberOfFixedDatumRecords", 5, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct DataReliablePdu,fixedDatumRecords), },
1106 {VARIABLE_LIST, type_VariableDatum,
"variableDatumRecords",
"Variable datum records", 0,
"numberOfVariableDatumRecords", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct DataReliablePdu,variableDatumRecords), },
1107 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1109struct disfieldattr FIELDS_CommentPdu [] = {
1110 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
1111 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Number of fixed datum records", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct CommentPdu,numberOfFixedDatumRecords), },
1112 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"Number of variable datum records", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct CommentPdu,numberOfVariableDatumRecords), },
1113 {VARIABLE_LIST, type_FixedDatum,
"fixedDatums",
"variable length list of fixed datums", 0,
"numberOfFixedDatumRecords", 1, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct CommentPdu,fixedDatums), },
1114 {VARIABLE_LIST, type_VariableDatum,
"variableDatums",
"variable length list of variable length datums", 0,
"numberOfVariableDatumRecords", 2, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct CommentPdu,variableDatums), },
1115 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1117struct disfieldattr FIELDS_CommentReliablePdu [] = {
1118 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1119 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Fixed datum record count", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct CommentReliablePdu,numberOfFixedDatumRecords), },
1120 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"variable datum record count", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct CommentReliablePdu,numberOfVariableDatumRecords), },
1121 {VARIABLE_LIST, type_FixedDatum,
"fixedDatumRecords",
"Fixed datum records", 0,
"numberOfFixedDatumRecords", 1, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct CommentReliablePdu,fixedDatumRecords), },
1122 {VARIABLE_LIST, type_VariableDatum,
"variableDatumRecords",
"Variable datum records", 0,
"numberOfVariableDatumRecords", 2, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct CommentReliablePdu,variableDatumRecords), },
1123 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1125struct disfieldattr FIELDS_DetonationPdu [] = {
1126 {CLASSREF, type_WarfareFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct WarfareFamilyPdu), 0 },
1127 {CLASSREF, type_EntityID,
"munitionID",
"ID of muntion that was fired", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct DetonationPdu,munitionID), },
1128 {CLASSREF, type_EventID,
"eventID",
"ID firing event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EventID), offsetof(struct DetonationPdu,eventID), },
1129 {CLASSREF, type_Vector3Float,
"velocity",
"ID firing event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct DetonationPdu,velocity), },
1130 {CLASSREF, type_Vector3Double,
"locationInWorldCoordinates",
"where the detonation is, in world coordinates", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct DetonationPdu,locationInWorldCoordinates), },
1131 {CLASSREF, type_BurstDescriptor,
"burstDescriptor",
"Describes munition used", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct BurstDescriptor), offsetof(struct DetonationPdu,burstDescriptor), },
1132 {CLASSREF, type_Vector3Float,
"locationInEntityCoordinates",
"location of the detonation or impact in the target entity's coordinate system. This information should be used for damage assessment.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct DetonationPdu,locationInEntityCoordinates), },
1133 {PRIMITIVE, type_UBYTE,
"detonationResult",
"result of the explosion", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct DetonationPdu,detonationResult), },
1134 {PRIMITIVE, type_UBYTE,
"numberOfArticulationParameters",
"How many articulation parameters we have", 0, NULL, 0, type_ArticulationParameter, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct DetonationPdu,numberOfArticulationParameters), },
1135 {PRIMITIVE, type_SHORT,
"pad",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct DetonationPdu,pad), },
1136 {VARIABLE_LIST, type_ArticulationParameter,
"articulationParameters", NULL, 0,
"numberOfArticulationParameters", 8, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct ArticulationParameter), offsetof(struct DetonationPdu,articulationParameters), },
1137 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1139struct disfieldattr FIELDS_SetDataPdu [] = {
1140 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
1141 {PRIMITIVE, type_UINT,
"requestID",
"ID of request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetDataPdu,requestID), },
1142 {PRIMITIVE, type_UINT,
"padding1",
"padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetDataPdu,padding1), },
1143 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Number of fixed datum records", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetDataPdu,numberOfFixedDatumRecords), },
1144 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"Number of variable datum records", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SetDataPdu,numberOfVariableDatumRecords), },
1145 {VARIABLE_LIST, type_FixedDatum,
"fixedDatums",
"variable length list of fixed datums", 0,
"numberOfFixedDatumRecords", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct SetDataPdu,fixedDatums), },
1146 {VARIABLE_LIST, type_VariableDatum,
"variableDatums",
"variable length list of variable length datums", 0,
"numberOfVariableDatumRecords", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct SetDataPdu,variableDatums), },
1147 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1149struct disfieldattr FIELDS_RecordQueryReliablePdu [] = {
1150 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1151 {PRIMITIVE, type_UINT,
"requestID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct RecordQueryReliablePdu,requestID), },
1152 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RecordQueryReliablePdu,requiredReliabilityService), },
1153 {PRIMITIVE, type_USHORT,
"pad1",
"padding. The spec is unclear and contradictory here.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RecordQueryReliablePdu,pad1), },
1154 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RecordQueryReliablePdu,pad2), },
1155 {PRIMITIVE, type_USHORT,
"eventType",
"event type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RecordQueryReliablePdu,eventType), },
1156 {PRIMITIVE, type_UINT,
"time",
"time", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct RecordQueryReliablePdu,time), },
1157 {PRIMITIVE, type_UINT,
"numberOfRecords",
"numberOfRecords", 0, NULL, 0, type_FourByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct RecordQueryReliablePdu,numberOfRecords), },
1158 {VARIABLE_LIST, type_FourByteChunk,
"recordIDs",
"record IDs", 0,
"numberOfRecords", 7, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FourByteChunk), offsetof(struct RecordQueryReliablePdu,recordIDs), },
1159 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1161struct disfieldattr FIELDS_CollisionPdu [] = {
1162 {CLASSREF, type_EntityInformationFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityInformationFamilyPdu), 0 },
1163 {CLASSREF, type_EntityID,
"issuingEntityID",
"ID of the entity that issued the collision PDU", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct CollisionPdu,issuingEntityID), },
1164 {CLASSREF, type_EntityID,
"collidingEntityID",
"ID of entity that has collided with the issuing entity ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct CollisionPdu,collidingEntityID), },
1165 {CLASSREF, type_EventID,
"eventID",
"ID of event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EventID), offsetof(struct CollisionPdu,eventID), },
1166 {PRIMITIVE, type_UBYTE,
"collisionType",
"ID of event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct CollisionPdu,collisionType), },
1167 {PRIMITIVE, type_BYTE,
"pad",
"some padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(char), offsetof(
struct CollisionPdu,pad), },
1168 {CLASSREF, type_Vector3Float,
"velocity",
"velocity at collision", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct CollisionPdu,velocity), },
1169 {PRIMITIVE, type_FLOAT,
"mass",
"mass of issuing entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionPdu,mass), },
1170 {CLASSREF, type_Vector3Float,
"location",
"Location with respect to entity the issuing entity collided with", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct CollisionPdu,location), },
1171 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1173struct disfieldattr FIELDS_ActionResponsePdu [] = {
1174 {CLASSREF, type_SimulationManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementFamilyPdu), 0 },
1175 {PRIMITIVE, type_UINT,
"requestID",
"Request ID that is unique", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionResponsePdu,requestID), },
1176 {PRIMITIVE, type_UINT,
"requestStatus",
"Status of response", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionResponsePdu,requestStatus), },
1177 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Number of fixed datum records", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionResponsePdu,numberOfFixedDatumRecords), },
1178 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"Number of variable datum records", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionResponsePdu,numberOfVariableDatumRecords), },
1179 {VARIABLE_LIST, type_FixedDatum,
"fixedDatums",
"variable length list of fixed datums", 0,
"numberOfFixedDatumRecords", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct ActionResponsePdu,fixedDatums), },
1180 {VARIABLE_LIST, type_VariableDatum,
"variableDatums",
"variable length list of variable length datums", 0,
"numberOfVariableDatumRecords", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct ActionResponsePdu,variableDatums), },
1181 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1183struct disfieldattr FIELDS_FirePdu [] = {
1184 {CLASSREF, type_WarfareFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct WarfareFamilyPdu), 0 },
1185 {CLASSREF, type_EntityID,
"munitionID",
"ID of the munition that is being shot", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct FirePdu,munitionID), },
1186 {CLASSREF, type_EventID,
"eventID",
"ID of event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EventID), offsetof(struct FirePdu,eventID), },
1187 {PRIMITIVE, type_INT,
"fireMissionIndex", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct FirePdu,fireMissionIndex), },
1188 {CLASSREF, type_Vector3Double,
"locationInWorldCoordinates",
"location of the firing event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct FirePdu,locationInWorldCoordinates), },
1189 {CLASSREF, type_BurstDescriptor,
"burstDescriptor",
"Describes munitions used in the firing event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct BurstDescriptor), offsetof(struct FirePdu,burstDescriptor), },
1190 {CLASSREF, type_Vector3Float,
"velocity",
"Velocity of the ammunition", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct FirePdu,velocity), },
1191 {PRIMITIVE, type_FLOAT,
"range",
"range to the target", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FirePdu,range), },
1192 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1194struct disfieldattr FIELDS_ReceiverPdu [] = {
1195 {CLASSREF, type_RadioCommunicationsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct RadioCommunicationsFamilyPdu), 0 },
1196 {PRIMITIVE, type_USHORT,
"receiverState",
"encoding scheme used, and enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ReceiverPdu,receiverState), },
1197 {PRIMITIVE, type_USHORT,
"padding1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ReceiverPdu,padding1), },
1198 {PRIMITIVE, type_FLOAT,
"receivedPoser",
"received power", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct ReceiverPdu,receivedPoser), },
1199 {CLASSREF, type_EntityID,
"transmitterEntityId",
"ID of transmitter", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct ReceiverPdu,transmitterEntityId), },
1200 {PRIMITIVE, type_USHORT,
"transmitterRadioId",
"ID of transmitting radio", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct ReceiverPdu,transmitterRadioId), },
1201 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1203struct disfieldattr FIELDS_UaPdu [] = {
1204 {CLASSREF, type_DistributedEmissionsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct DistributedEmissionsFamilyPdu), 0 },
1205 {CLASSREF, type_EntityID,
"emittingEntityID",
"ID of the entity that is the source of the emission", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct UaPdu,emittingEntityID), },
1206 {CLASSREF, type_EventID,
"eventID",
"ID of event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EventID), offsetof(struct UaPdu,eventID), },
1207 {PRIMITIVE, type_BYTE,
"stateChangeIndicator",
"This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(char), offsetof(
struct UaPdu,stateChangeIndicator), },
1208 {PRIMITIVE, type_BYTE,
"pad",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(char), offsetof(
struct UaPdu,pad), },
1209 {PRIMITIVE, type_USHORT,
"passiveParameterIndex",
"This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct UaPdu,passiveParameterIndex), },
1210 {PRIMITIVE, type_UBYTE,
"propulsionPlantConfiguration",
"This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct UaPdu,propulsionPlantConfiguration), },
1211 {PRIMITIVE, type_UBYTE,
"numberOfShafts",
" This field shall represent the number of shafts on a platform", 0, NULL, 0, type_ShaftRPMs, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct UaPdu,numberOfShafts), },
1212 {PRIMITIVE, type_UBYTE,
"numberOfAPAs",
"This field shall indicate the number of APAs described in the current UA PDU", 0, NULL, 0, type_ApaData, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct UaPdu,numberOfAPAs), },
1213 {PRIMITIVE, type_UBYTE,
"numberOfUAEmitterSystems",
"This field shall specify the number of UA emitter systems being described in the current UA PDU", 0, NULL, 0, type_AcousticEmitterSystemData, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct UaPdu,numberOfUAEmitterSystems), },
1214 {VARIABLE_LIST, type_ShaftRPMs,
"shaftRPMs",
"shaft RPM values", 0,
"numberOfShafts", 7, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct ShaftRPMs), offsetof(struct UaPdu,shaftRPMs), },
1215 {VARIABLE_LIST, type_ApaData,
"apaData",
"apaData", 0,
"numberOfAPAs", 8, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct ApaData), offsetof(struct UaPdu,apaData), },
1216 {VARIABLE_LIST, type_AcousticEmitterSystemData,
"emitterSystems", NULL, 0,
"numberOfUAEmitterSystems", 9, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct AcousticEmitterSystemData), offsetof(struct UaPdu,emitterSystems), },
1217 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1219struct disfieldattr FIELDS_IntercomControlPdu [] = {
1220 {CLASSREF, type_RadioCommunicationsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct RadioCommunicationsFamilyPdu), 0 },
1221 {PRIMITIVE, type_UBYTE,
"controlType",
"control type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IntercomControlPdu,controlType), },
1222 {PRIMITIVE, type_UBYTE,
"communicationsChannelType",
"control type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IntercomControlPdu,communicationsChannelType), },
1223 {CLASSREF, type_EntityID,
"sourceEntityID",
"Source entity ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct IntercomControlPdu,sourceEntityID), },
1224 {PRIMITIVE, type_UBYTE,
"sourceCommunicationsDeviceID",
"The specific intercom device being simulated within an entity.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IntercomControlPdu,sourceCommunicationsDeviceID), },
1225 {PRIMITIVE, type_UBYTE,
"sourceLineID",
"Line number to which the intercom control refers", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IntercomControlPdu,sourceLineID), },
1226 {PRIMITIVE, type_UBYTE,
"transmitPriority",
"priority of this message relative to transmissons from other intercom devices", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IntercomControlPdu,transmitPriority), },
1227 {PRIMITIVE, type_UBYTE,
"transmitLineState",
"current transmit state of the line", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IntercomControlPdu,transmitLineState), },
1228 {PRIMITIVE, type_UBYTE,
"command",
"detailed type requested.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct IntercomControlPdu,command), },
1229 {CLASSREF, type_EntityID,
"masterEntityID",
"eid of the entity that has created this intercom channel.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct IntercomControlPdu,masterEntityID), },
1230 {PRIMITIVE, type_USHORT,
"masterCommunicationsDeviceID",
"specific intercom device that has created this intercom channel", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct IntercomControlPdu,masterCommunicationsDeviceID), },
1231 {PRIMITIVE, type_UINT,
"intercomParametersLength",
"number of intercom parameters", 0, NULL, 0, type_IntercomCommunicationsParameters, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct IntercomControlPdu,intercomParametersLength), },
1232 {VARIABLE_LIST, type_IntercomCommunicationsParameters,
"intercomParameters",
"^^^This is wrong--the length of the data field is variable. Using a long for now.", 0,
"intercomParametersLength", 11, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct IntercomCommunicationsParameters), offsetof(struct IntercomControlPdu,intercomParameters), },
1233 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1235struct disfieldattr FIELDS_SignalPdu [] = {
1236 {CLASSREF, type_RadioCommunicationsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct RadioCommunicationsFamilyPdu), 0 },
1237 {PRIMITIVE, type_USHORT,
"encodingScheme",
"encoding scheme used, and enumeration", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SignalPdu,encodingScheme), },
1238 {PRIMITIVE, type_USHORT,
"tdlType",
"tdl type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SignalPdu,tdlType), },
1239 {PRIMITIVE, type_UINT,
"sampleRate",
"sample rate", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct SignalPdu,sampleRate), },
1240 {PRIMITIVE, type_SHORT,
"dataLength",
"length od data", 0, NULL, 0, type_OneByteChunk, 0, 0, FALSE, FALSE,
sizeof(short), offsetof(
struct SignalPdu,dataLength), },
1241 {PRIMITIVE, type_SHORT,
"samples",
"number of samples", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(short), offsetof(
struct SignalPdu,samples), },
1242 {VARIABLE_LIST, type_OneByteChunk,
"data",
"list of eight bit values", 0,
"dataLength", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct OneByteChunk), offsetof(struct SignalPdu,data), },
1243 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1245struct disfieldattr FIELDS_RemoveEntityReliablePdu [] = {
1246 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1247 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RemoveEntityReliablePdu,requiredReliabilityService), },
1248 {PRIMITIVE, type_USHORT,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct RemoveEntityReliablePdu,pad1), },
1249 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct RemoveEntityReliablePdu,pad2), },
1250 {PRIMITIVE, type_UINT,
"requestID",
"Request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct RemoveEntityReliablePdu,requestID), },
1251 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1253struct disfieldattr FIELDS_SeesPdu [] = {
1254 {CLASSREF, type_DistributedEmissionsFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct DistributedEmissionsFamilyPdu), 0 },
1255 {CLASSREF, type_EntityID,
"orginatingEntityID",
"Originating entity ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct SeesPdu,orginatingEntityID), },
1256 {PRIMITIVE, type_USHORT,
"infraredSignatureRepresentationIndex",
"IR Signature representation index", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SeesPdu,infraredSignatureRepresentationIndex), },
1257 {PRIMITIVE, type_USHORT,
"acousticSignatureRepresentationIndex",
"acoustic Signature representation index", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SeesPdu,acousticSignatureRepresentationIndex), },
1258 {PRIMITIVE, type_USHORT,
"radarCrossSectionSignatureRepresentationIndex",
"radar cross section representation index", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SeesPdu,radarCrossSectionSignatureRepresentationIndex), },
1259 {PRIMITIVE, type_USHORT,
"numberOfPropulsionSystems",
"how many propulsion systems", 0, NULL, 0, type_PropulsionSystemData, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SeesPdu,numberOfPropulsionSystems), },
1260 {PRIMITIVE, type_USHORT,
"numberOfVectoringNozzleSystems",
"how many vectoring nozzle systems", 0, NULL, 0, type_VectoringNozzleSystemData, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct SeesPdu,numberOfVectoringNozzleSystems), },
1261 {VARIABLE_LIST, type_PropulsionSystemData,
"propulsionSystemData",
"variable length list of propulsion system data", 0,
"numberOfPropulsionSystems", 5, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct PropulsionSystemData), offsetof(struct SeesPdu,propulsionSystemData), },
1262 {VARIABLE_LIST, type_VectoringNozzleSystemData,
"vectoringSystemData",
"variable length list of vectoring system data", 0,
"numberOfVectoringNozzleSystems", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VectoringNozzleSystemData), offsetof(struct SeesPdu,vectoringSystemData), },
1263 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1265struct disfieldattr FIELDS_CreateEntityReliablePdu [] = {
1266 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1267 {PRIMITIVE, type_UBYTE,
"requiredReliabilityService",
"level of reliability service used for this transaction", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct CreateEntityReliablePdu,requiredReliabilityService), },
1268 {PRIMITIVE, type_USHORT,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct CreateEntityReliablePdu,pad1), },
1269 {PRIMITIVE, type_UBYTE,
"pad2",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct CreateEntityReliablePdu,pad2), },
1270 {PRIMITIVE, type_UINT,
"requestID",
"Request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct CreateEntityReliablePdu,requestID), },
1271 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1273struct disfieldattr FIELDS_StopFreezeReliablePdu [] = {
1274 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1275 {CLASSREF, type_ClockTime,
"realWorldTime",
"time in real world for this operation to happen", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct ClockTime), offsetof(struct StopFreezeReliablePdu,realWorldTime), },
1276 {PRIMITIVE, type_UBYTE,
"reason",
"Reason for stopping/freezing simulation", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct StopFreezeReliablePdu,reason), },
1277 {PRIMITIVE, type_UBYTE,
"frozenBehavior",
"internal behvior of the simulation while frozen", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct StopFreezeReliablePdu,frozenBehavior), },
1278 {PRIMITIVE, type_UBYTE,
"requiredReliablityService",
"reliablity level", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct StopFreezeReliablePdu,requiredReliablityService), },
1279 {PRIMITIVE, type_UBYTE,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct StopFreezeReliablePdu,pad1), },
1280 {PRIMITIVE, type_UINT,
"requestID",
"Request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct StopFreezeReliablePdu,requestID), },
1281 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1283struct disfieldattr FIELDS_EventReportReliablePdu [] = {
1284 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1285 {PRIMITIVE, type_USHORT,
"eventType",
"Event type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct EventReportReliablePdu,eventType), },
1286 {PRIMITIVE, type_UINT,
"pad1",
"padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct EventReportReliablePdu,pad1), },
1287 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Fixed datum record count", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct EventReportReliablePdu,numberOfFixedDatumRecords), },
1288 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"variable datum record count", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct EventReportReliablePdu,numberOfVariableDatumRecords), },
1289 {VARIABLE_LIST, type_FixedDatum,
"fixedDatumRecords",
"Fixed datum records", 0,
"numberOfFixedDatumRecords", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct EventReportReliablePdu,fixedDatumRecords), },
1290 {VARIABLE_LIST, type_VariableDatum,
"variableDatumRecords",
"Variable datum records", 0,
"numberOfVariableDatumRecords", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct EventReportReliablePdu,variableDatumRecords), },
1291 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1293struct disfieldattr FIELDS_MinefieldResponseNackPdu [] = {
1294 {CLASSREF, type_MinefieldFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct MinefieldFamilyPdu), 0 },
1295 {CLASSREF, type_EntityID,
"minefieldID",
"Minefield ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct MinefieldResponseNackPdu,minefieldID), },
1296 {CLASSREF, type_EntityID,
"requestingEntityID",
"entity ID making the request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct MinefieldResponseNackPdu,requestingEntityID), },
1297 {PRIMITIVE, type_UBYTE,
"requestID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldResponseNackPdu,requestID), },
1298 {PRIMITIVE, type_UBYTE,
"numberOfMissingPdus",
"how many pdus were missing", 0, NULL, 0, type_EightByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldResponseNackPdu,numberOfMissingPdus), },
1299 {VARIABLE_LIST, type_EightByteChunk,
"missingPduSequenceNumbers",
"PDU sequence numbers that were missing", 0,
"numberOfMissingPdus", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct EightByteChunk), offsetof(struct MinefieldResponseNackPdu,missingPduSequenceNumbers), },
1300 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1302struct disfieldattr FIELDS_CollisionElasticPdu [] = {
1303 {CLASSREF, type_EntityInformationFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityInformationFamilyPdu), 0 },
1304 {CLASSREF, type_EntityID,
"issuingEntityID",
"ID of the entity that issued the collision PDU", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct CollisionElasticPdu,issuingEntityID), },
1305 {CLASSREF, type_EntityID,
"collidingEntityID",
"ID of entity that has collided with the issuing entity ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct CollisionElasticPdu,collidingEntityID), },
1306 {CLASSREF, type_EventID,
"collisionEventID",
"ID of event", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EventID), offsetof(struct CollisionElasticPdu,collisionEventID), },
1307 {PRIMITIVE, type_SHORT,
"pad",
"some padding", 0, NULL, 0, 0, 0,0, FALSE, FALSE,
sizeof(short), offsetof(
struct CollisionElasticPdu,pad), },
1308 {CLASSREF, type_Vector3Float,
"contactVelocity",
"velocity at collision", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct CollisionElasticPdu,contactVelocity), },
1309 {PRIMITIVE, type_FLOAT,
"mass",
"mass of issuing entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionElasticPdu,mass), },
1310 {CLASSREF, type_Vector3Float,
"location",
"Location with respect to entity the issuing entity collided with", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct CollisionElasticPdu,location), },
1311 {PRIMITIVE, type_FLOAT,
"collisionResultXX",
"tensor values", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionElasticPdu,collisionResultXX), },
1312 {PRIMITIVE, type_FLOAT,
"collisionResultXY",
"tensor values", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionElasticPdu,collisionResultXY), },
1313 {PRIMITIVE, type_FLOAT,
"collisionResultXZ",
"tensor values", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionElasticPdu,collisionResultXZ), },
1314 {PRIMITIVE, type_FLOAT,
"collisionResultYY",
"tensor values", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionElasticPdu,collisionResultYY), },
1315 {PRIMITIVE, type_FLOAT,
"collisionResultYZ",
"tensor values", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionElasticPdu,collisionResultYZ), },
1316 {PRIMITIVE, type_FLOAT,
"collisionResultZZ",
"tensor values", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionElasticPdu,collisionResultZZ), },
1317 {CLASSREF, type_Vector3Float,
"unitSurfaceNormal",
"This record shall represent the normal vector to the surface at the point of collision detection. The surface normal shall be represented in world coordinates.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct CollisionElasticPdu,unitSurfaceNormal), },
1318 {PRIMITIVE, type_FLOAT,
"coefficientOfRestitution",
"This field shall represent the degree to which energy is conserved in a collision", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct CollisionElasticPdu,coefficientOfRestitution), },
1319 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1321struct disfieldattr FIELDS_ActionResponseReliablePdu [] = {
1322 {CLASSREF, type_SimulationManagementWithReliabilityFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct SimulationManagementWithReliabilityFamilyPdu), 0 },
1323 {PRIMITIVE, type_UINT,
"requestID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionResponseReliablePdu,requestID), },
1324 {PRIMITIVE, type_UINT,
"responseStatus",
"status of response", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionResponseReliablePdu,responseStatus), },
1325 {PRIMITIVE, type_UINT,
"numberOfFixedDatumRecords",
"Fixed datum record count", 0, NULL, 0, type_FixedDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionResponseReliablePdu,numberOfFixedDatumRecords), },
1326 {PRIMITIVE, type_UINT,
"numberOfVariableDatumRecords",
"variable datum record count", 0, NULL, 0, type_VariableDatum, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct ActionResponseReliablePdu,numberOfVariableDatumRecords), },
1327 {VARIABLE_LIST, type_FixedDatum,
"fixedDatumRecords",
"Fixed datum records", 0,
"numberOfFixedDatumRecords", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct FixedDatum), offsetof(struct ActionResponseReliablePdu,fixedDatumRecords), },
1328 {VARIABLE_LIST, type_VariableDatum,
"variableDatumRecords",
"Variable datum records", 0,
"numberOfVariableDatumRecords", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct VariableDatum), offsetof(struct ActionResponseReliablePdu,variableDatumRecords), },
1329 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1331struct disfieldattr FIELDS_IsPartOfPdu [] = {
1332 {CLASSREF, type_EntityManagementFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityManagementFamilyPdu), 0 },
1333 {CLASSREF, type_EntityID,
"orginatingEntityID",
"ID of entity originating PDU", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct IsPartOfPdu,orginatingEntityID), },
1334 {CLASSREF, type_EntityID,
"receivingEntityID",
"ID of entity receiving PDU", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct IsPartOfPdu,receivingEntityID), },
1335 {CLASSREF, type_Relationship,
"relationship",
"relationship of joined parts", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Relationship), offsetof(struct IsPartOfPdu,relationship), },
1336 {CLASSREF, type_Vector3Float,
"partLocation",
"location of part; centroid of part in host's coordinate system. x=range, y=bearing, z=0", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct IsPartOfPdu,partLocation), },
1337 {CLASSREF, type_NamedLocation,
"namedLocationID",
"named location", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct NamedLocation), offsetof(struct IsPartOfPdu,namedLocationID), },
1338 {CLASSREF, type_EntityType,
"partEntityType",
"entity type", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct IsPartOfPdu,partEntityType), },
1339 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1341struct disfieldattr FIELDS_MinefieldQueryPdu [] = {
1342 {CLASSREF, type_MinefieldFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct MinefieldFamilyPdu), 0 },
1343 {CLASSREF, type_EntityID,
"minefieldID",
"Minefield ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct MinefieldQueryPdu,minefieldID), },
1344 {CLASSREF, type_EntityID,
"requestingEntityID",
"EID of entity making the request", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct MinefieldQueryPdu,requestingEntityID), },
1345 {PRIMITIVE, type_UBYTE,
"requestID",
"request ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldQueryPdu,requestID), },
1346 {PRIMITIVE, type_UBYTE,
"numberOfPerimeterPoints",
"Number of perimeter points for the minefield", 0, NULL, 0, type_Point, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldQueryPdu,numberOfPerimeterPoints), },
1347 {PRIMITIVE, type_UBYTE,
"pad2",
"Padding", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldQueryPdu,pad2), },
1348 {PRIMITIVE, type_UBYTE,
"numberOfSensorTypes",
"Number of sensor types", 0, NULL, 0, type_TwoByteChunk, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct MinefieldQueryPdu,numberOfSensorTypes), },
1349 {PRIMITIVE, type_UINT,
"dataFilter",
"data filter, 32 boolean fields", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned int), offsetof(
struct MinefieldQueryPdu,dataFilter), },
1350 {CLASSREF, type_EntityType,
"requestedMineType",
"Entity type of mine being requested", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct MinefieldQueryPdu,requestedMineType), },
1351 {VARIABLE_LIST, type_Point,
"requestedPerimeterPoints",
"perimeter points of request", 0,
"numberOfPerimeterPoints", 4, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct Point), offsetof(struct MinefieldQueryPdu,requestedPerimeterPoints), },
1352 {VARIABLE_LIST, type_TwoByteChunk,
"sensorTypes",
"Sensor types, each 16 bits long", 0,
"numberOfSensorTypes", 6, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct TwoByteChunk), offsetof(struct MinefieldQueryPdu,sensorTypes), },
1353 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1355struct disfieldattr FIELDS_EntityStatePdu [] = {
1356 {CLASSREF, type_EntityInformationFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityInformationFamilyPdu), 0 },
1357 {CLASSREF, type_EntityID,
"entityID",
"Unique ID for an entity that is tied to this state information", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityID), offsetof(struct EntityStatePdu,entityID), },
1358 {PRIMITIVE, type_UBYTE,
"forceId",
"What force this entity is affiliated with, eg red, blue, neutral, etc", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct EntityStatePdu,forceId), },
1359 {PRIMITIVE, type_BYTE,
"numberOfArticulationParameters",
"How many articulation parameters are in the variable length list", 0, NULL, 0, type_ArticulationParameter, 0, 0, FALSE, FALSE,
sizeof(char), offsetof(
struct EntityStatePdu,numberOfArticulationParameters), },
1360 {CLASSREF, type_EntityType,
"entityType",
"Describes the type of entity in the world", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct EntityStatePdu,entityType), },
1361 {CLASSREF, type_EntityType,
"alternativeEntityType", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct EntityType), offsetof(struct EntityStatePdu,alternativeEntityType), },
1362 {CLASSREF, type_Vector3Float,
"entityLinearVelocity",
"Describes the speed of the entity in the world", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Float), offsetof(struct EntityStatePdu,entityLinearVelocity), },
1363 {CLASSREF, type_Vector3Double,
"entityLocation",
"describes the location of the entity in the world", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Vector3Double), offsetof(struct EntityStatePdu,entityLocation), },
1364 {CLASSREF, type_Orientation,
"entityOrientation",
"describes the orientation of the entity, in euler angles", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Orientation), offsetof(struct EntityStatePdu,entityOrientation), },
1365 {PRIMITIVE, type_INT,
"entityAppearance",
"a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct EntityStatePdu,entityAppearance), },
1366 {CLASSREF, type_DeadReckoningParameter,
"deadReckoningParameters",
"parameters used for dead reckoning", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct DeadReckoningParameter), offsetof(struct EntityStatePdu,deadReckoningParameters), },
1367 {CLASSREF, type_Marking,
"marking",
"characters that can be used for debugging, or to draw unique strings on the side of entities in the world", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
struct Marking), offsetof(struct EntityStatePdu,marking), },
1368 {PRIMITIVE, type_INT,
"capabilities",
"a series of bit flags", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct EntityStatePdu,capabilities), },
1369 {VARIABLE_LIST, type_ArticulationParameter,
"articulationParameters",
"variable length list of articulation parameters", 0,
"numberOfArticulationParameters", 3, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct ArticulationParameter), offsetof(struct EntityStatePdu,articulationParameters), },
1370 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1372struct disfieldattr FIELDS_FastEntityStatePdu [] = {
1373 {CLASSREF, type_EntityInformationFamilyPdu,
"super", NULL,0,NULL, 0,0,0,0,0,UNSET,(int)
sizeof(
struct EntityInformationFamilyPdu), 0 },
1374 {PRIMITIVE, type_USHORT,
"site",
"The site ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct FastEntityStatePdu,site), },
1375 {PRIMITIVE, type_USHORT,
"application",
"The application ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct FastEntityStatePdu,application), },
1376 {PRIMITIVE, type_USHORT,
"entity",
"the entity ID", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct FastEntityStatePdu,entity), },
1377 {PRIMITIVE, type_UBYTE,
"forceId",
"what force this entity is affiliated with, eg red, blue, neutral, etc", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,forceId), },
1378 {PRIMITIVE, type_BYTE,
"numberOfArticulationParameters",
"How many articulation parameters are in the variable length list", 0, NULL, 0, type_ArticulationParameter, 0, 0, FALSE, FALSE,
sizeof(char), offsetof(
struct FastEntityStatePdu,numberOfArticulationParameters), },
1379 {PRIMITIVE, type_UBYTE,
"entityKind",
"Kind of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,entityKind), },
1380 {PRIMITIVE, type_UBYTE,
"domain",
"Domain of entity (air, surface, subsurface, space, etc)", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,domain), },
1381 {PRIMITIVE, type_USHORT,
"country",
"country to which the design of the entity is attributed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct FastEntityStatePdu,country), },
1382 {PRIMITIVE, type_UBYTE,
"category",
"category of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,category), },
1383 {PRIMITIVE, type_UBYTE,
"subcategory",
"subcategory of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,subcategory), },
1384 {PRIMITIVE, type_UBYTE,
"specific",
"specific info based on subcategory field", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,specific), },
1385 {PRIMITIVE, type_UBYTE,
"extra", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,extra), },
1386 {PRIMITIVE, type_UBYTE,
"altEntityKind",
"Kind of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,altEntityKind), },
1387 {PRIMITIVE, type_UBYTE,
"altDomain",
"Domain of entity (air, surface, subsurface, space, etc)", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,altDomain), },
1388 {PRIMITIVE, type_USHORT,
"altCountry",
"country to which the design of the entity is attributed", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned short), offsetof(
struct FastEntityStatePdu,altCountry), },
1389 {PRIMITIVE, type_UBYTE,
"altCategory",
"category of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,altCategory), },
1390 {PRIMITIVE, type_UBYTE,
"altSubcategory",
"subcategory of entity", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,altSubcategory), },
1391 {PRIMITIVE, type_UBYTE,
"altSpecific",
"specific info based on subcategory field", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,altSpecific), },
1392 {PRIMITIVE, type_UBYTE,
"altExtra", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,altExtra), },
1393 {PRIMITIVE, type_FLOAT,
"xVelocity",
"X velo", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,xVelocity), },
1394 {PRIMITIVE, type_FLOAT,
"yVelocity",
"y Value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,yVelocity), },
1395 {PRIMITIVE, type_FLOAT,
"zVelocity",
"Z value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,zVelocity), },
1396 {PRIMITIVE, type_DOUBLE,
"xLocation",
"X value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct FastEntityStatePdu,xLocation), },
1397 {PRIMITIVE, type_DOUBLE,
"yLocation",
"y Value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct FastEntityStatePdu,yLocation), },
1398 {PRIMITIVE, type_DOUBLE,
"zLocation",
"Z value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(double), offsetof(
struct FastEntityStatePdu,zLocation), },
1399 {PRIMITIVE, type_FLOAT,
"psi", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,psi), },
1400 {PRIMITIVE, type_FLOAT,
"theta", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,theta), },
1401 {PRIMITIVE, type_FLOAT,
"phi", NULL, 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,phi), },
1402 {PRIMITIVE, type_INT,
"entityAppearance",
"a series of bit flags that are used to help draw the entity, such as smoking, on fire, etc.", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct FastEntityStatePdu,entityAppearance), },
1403 {PRIMITIVE, type_UBYTE,
"deadReckoningAlgorithm",
"enumeration of what dead reckoning algorighm to use", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(
unsigned char), offsetof(
struct FastEntityStatePdu,deadReckoningAlgorithm), },
1404 {FIXED_LIST, type_BYTE,
"otherParameters",
"other parameters to use in the dead reckoning algorithm", 15, NULL, 0, 0, 0, PRIMITIVE, FALSE, FALSE,
sizeof(char), offsetof(
struct FastEntityStatePdu,otherParameters), },
1405 {PRIMITIVE, type_FLOAT,
"xAcceleration",
"X value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,xAcceleration), },
1406 {PRIMITIVE, type_FLOAT,
"yAcceleration",
"y Value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,yAcceleration), },
1407 {PRIMITIVE, type_FLOAT,
"zAcceleration",
"Z value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,zAcceleration), },
1408 {PRIMITIVE, type_FLOAT,
"xAngularVelocity",
"X value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,xAngularVelocity), },
1409 {PRIMITIVE, type_FLOAT,
"yAngularVelocity",
"y Value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,yAngularVelocity), },
1410 {PRIMITIVE, type_FLOAT,
"zAngularVelocity",
"Z value", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(float), offsetof(
struct FastEntityStatePdu,zAngularVelocity), },
1411 {FIXED_LIST, type_BYTE,
"marking",
"characters that can be used for debugging, or to draw unique strings on the side of entities in the world", 12, NULL, 0, 0, 0, PRIMITIVE, TRUE, FALSE,
sizeof(char), offsetof(
struct FastEntityStatePdu,marking), },
1412 {PRIMITIVE, type_INT,
"capabilities",
"a series of bit flags", 0, NULL, 0, 0, 0, 0, FALSE, FALSE,
sizeof(int), offsetof(
struct FastEntityStatePdu,capabilities), },
1413 {VARIABLE_LIST, type_ArticulationParameter,
"articulationParameters",
"variable length list of articulation parameters", 0,
"numberOfArticulationParameters", 5, 0, 0, CLASSREF, FALSE, FALSE,
sizeof(
struct ArticulationParameter), offsetof(struct FastEntityStatePdu,articulationParameters), },
1414 {-1,0,NULL,NULL,0,NULL,0,0,0,0,0,0,0,0},
1416void ctor_pduHeader(
void *pdutype,
unsigned char pduType,
unsigned char protocolFamily){
1417 struct Pdu *header = (
struct Pdu*)pdutype;
1423 unsigned char pduType;
1424 unsigned char protocolFamily;
1438 {FIELDS_SystemID,0,0},
1439 {FIELDS_RadioEntityType,0,0},
1440 {FIELDS_LayerHeader,0,0},
1441 {FIELDS_AcousticEmitterSystem,0,0},
1442 {FIELDS_FourByteChunk,0,0},
1443 {FIELDS_Orientation,0,0},
1444 {FIELDS_OneByteChunk,0,0},
1445 {FIELDS_EventID,0,0},
1446 {FIELDS_VectoringNozzleSystemData,0,0},
1447 {FIELDS_ObjectType,0,0},
1448 {FIELDS_FundamentalParameterDataIff,0,0},
1449 {FIELDS_EightByteChunk,0,0},
1450 {FIELDS_FixedDatum,0,0},
1451 {FIELDS_GridAxisRecord,0,0},
1452 {FIELDS_AggregateID,0,0},
1453 {FIELDS_TwoByteChunk,0,0},
1454 {FIELDS_ClockTime,0,0},
1455 {FIELDS_Relationship,0,0},
1456 {FIELDS_Vector3Float,0,0},
1457 {FIELDS_ModulationType,0,0},
1458 {FIELDS_SimulationAddress,0,0},
1459 {FIELDS_IffFundamentalData,0,0},
1460 {FIELDS_AggregateType,0,0},
1461 {FIELDS_BeamData,0,0},
1462 {FIELDS_NamedLocation,0,0},
1463 {FIELDS_RecordSet,0,0},
1464 {FIELDS_SphericalHarmonicAntennaPattern,0,0},
1465 {FIELDS_ShaftRPMs,0,0},
1466 {FIELDS_IntercomCommunicationsParameters,0,0},
1467 {FIELDS_AcousticBeamFundamentalParameter,0,0},
1468 {FIELDS_EntityType,0,0},
1469 {FIELDS_FundamentalParameterData,0,0},
1470 {FIELDS_ApaData,0,0},
1471 {FIELDS_Environment,0,0},
1472 {FIELDS_AcousticEmitter,0,0},
1473 {FIELDS_AngularVelocityVector,0,0},
1474 {FIELDS_AggregateMarking,0,0},
1475 {FIELDS_EntityID,0,0},
1476 {FIELDS_SixByteChunk,0,0},
1477 {FIELDS_Vector3Double,0,0},
1479 {FIELDS_VariableDatum,0,0},
1480 {FIELDS_ArticulationParameter,0,0},
1481 {FIELDS_Marking,0,0},
1483 {FIELDS_PropulsionSystemData,0,0},
1484 {FIELDS_EmitterSystem,0,0},
1485 {FIELDS_PduContainer,0,0},
1486 {FIELDS_ElectronicEmissionBeamData,0,0},
1487 {FIELDS_LogisticsFamilyPdu,0,3},
1488 {FIELDS_ServiceRequestPdu,5,0},
1489 {FIELDS_RepairCompletePdu,9,0},
1490 {FIELDS_DeadReckoningParameter,0,0},
1491 {FIELDS_BeamAntennaPattern,0,0},
1492 {FIELDS_SyntheticEnvironmentFamilyPdu,0,9},
1493 {FIELDS_AcousticEmitterSystemData,0,0},
1494 {FIELDS_RepairResponsePdu,10,0},
1495 {FIELDS_SimulationManagementFamilyPdu,0,5},
1496 {FIELDS_AntennaLocation,0,0},
1497 {FIELDS_DataQueryPdu,18,0},
1498 {FIELDS_BurstDescriptor,0,0},
1499 {FIELDS_LinearObjectStatePdu,44,0},
1500 {FIELDS_CreateEntityPdu,11,0},
1501 {FIELDS_RadioCommunicationsFamilyPdu,0,4},
1502 {FIELDS_AcousticBeamData,0,0},
1503 {FIELDS_IntercomSignalPdu,31,0},
1504 {FIELDS_GridAxisRecordRepresentation2,0,0},
1505 {FIELDS_LinearSegmentParameter,0,0},
1506 {FIELDS_GridAxisRecordRepresentation1,0,0},
1507 {FIELDS_GridAxisRecordRepresentation0,0,0},
1508 {FIELDS_RemoveEntityPdu,12,0},
1509 {FIELDS_ResupplyReceivedPdu,7,0},
1510 {FIELDS_WarfareFamilyPdu,0,2},
1511 {FIELDS_ElectronicEmissionSystemData,0,0},
1512 {FIELDS_ActionRequestPdu,16,0},
1513 {FIELDS_SupplyQuantity,0,0},
1514 {FIELDS_AcknowledgePdu,15,0},
1515 {FIELDS_DistributedEmissionsFamilyPdu,0,6},
1516 {FIELDS_IffAtcNavAidsLayer1Pdu,28,0},
1517 {FIELDS_SimulationManagementWithReliabilityFamilyPdu,0,10},
1518 {FIELDS_ActionRequestReliablePdu,56,0},
1519 {FIELDS_DesignatorPdu,24,0},
1520 {FIELDS_GriddedDataPdu,42,0},
1521 {FIELDS_SetRecordReliablePdu,64,0},
1522 {FIELDS_StopFreezePdu,14,0},
1523 {FIELDS_ResupplyCancelPdu,8,0},
1524 {FIELDS_EntityManagementFamilyPdu,0,7},
1525 {FIELDS_StartResumePdu,13,0},
1526 {FIELDS_TransmitterPdu,25,0},
1527 {FIELDS_TrackJamTarget,0,0},
1528 {FIELDS_ElectronicEmissionsPdu,23,0},
1529 {FIELDS_ResupplyOfferPdu,6,0},
1530 {FIELDS_MinefieldFamilyPdu,0,8},
1531 {FIELDS_SetDataReliablePdu,59,0},
1532 {FIELDS_EventReportPdu,21,0},
1533 {FIELDS_PointObjectStatePdu,43,0},
1534 {FIELDS_EnvironmentalProcessPdu,41,0},
1535 {FIELDS_DataPdu,20,0},
1536 {FIELDS_IsGroupOfPdu,34,0},
1537 {FIELDS_MinefieldDataPdu,39,0},
1538 {FIELDS_TransferControlRequestPdu,35,0},
1539 {FIELDS_EntityInformationFamilyPdu,0,1},
1540 {FIELDS_AcknowledgeReliablePdu,55,0},
1541 {FIELDS_StartResumeReliablePdu,53,0},
1542 {FIELDS_IffAtcNavAidsLayer2Pdu,0,0},
1543 {FIELDS_ArealObjectStatePdu,45,0},
1544 {FIELDS_DataQueryReliablePdu,58,0},
1545 {FIELDS_AggregateStatePdu,33,0},
1546 {FIELDS_EntityStateUpdatePdu,67,1},
1547 {FIELDS_MinefieldStatePdu,37,0},
1548 {FIELDS_DataReliablePdu,60,0},
1549 {FIELDS_CommentPdu,22,0},
1550 {FIELDS_CommentReliablePdu,62,0},
1551 {FIELDS_DetonationPdu,3,0},
1552 {FIELDS_SetDataPdu,19,0},
1553 {FIELDS_RecordQueryReliablePdu,63,0},
1554 {FIELDS_CollisionPdu,4,1},
1555 {FIELDS_ActionResponsePdu,17,0},
1556 {FIELDS_FirePdu,2,0},
1557 {FIELDS_ReceiverPdu,27,0},
1558 {FIELDS_UaPdu,29,0},
1559 {FIELDS_IntercomControlPdu,32,0},
1560 {FIELDS_SignalPdu,26,0},
1561 {FIELDS_RemoveEntityReliablePdu,52,0},
1562 {FIELDS_SeesPdu,30,0},
1563 {FIELDS_CreateEntityReliablePdu,51,0},
1564 {FIELDS_StopFreezeReliablePdu,54,0},
1565 {FIELDS_EventReportReliablePdu,61,0},
1566 {FIELDS_MinefieldResponseNackPdu,40,0},
1567 {FIELDS_CollisionElasticPdu,66,1},
1568 {FIELDS_ActionResponseReliablePdu,57,0},
1569 {FIELDS_IsPartOfPdu,36,0},
1570 {FIELDS_MinefieldQueryPdu,38,0},
1571 {FIELDS_EntityStatePdu,1,0},
1572 {FIELDS_FastEntityStatePdu,1,0},
1576 type_FastEntityStatePdu,
1580 type_ServiceRequestPdu,
1581 type_ResupplyOfferPdu,
1582 type_ResupplyReceivedPdu,
1583 type_ResupplyCancelPdu,
1584 type_RepairCompletePdu,
1585 type_RepairResponsePdu,
1586 type_CreateEntityPdu,
1587 type_RemoveEntityPdu,
1588 type_StartResumePdu,
1590 type_AcknowledgePdu,
1591 type_ActionRequestPdu,
1592 type_ActionResponsePdu,
1596 type_EventReportPdu,
1598 type_ElectronicEmissionsPdu,
1600 type_TransmitterPdu,
1603 type_IffAtcNavAidsLayer1Pdu,
1606 type_IntercomSignalPdu,
1607 type_IntercomControlPdu,
1608 type_AggregateStatePdu,
1610 type_TransferControlRequestPdu,
1612 type_MinefieldStatePdu,
1613 type_MinefieldQueryPdu,
1614 type_MinefieldDataPdu,
1615 type_MinefieldResponseNackPdu,
1616 type_EnvironmentalProcessPdu,
1617 type_GriddedDataPdu,
1618 type_PointObjectStatePdu,
1619 type_LinearObjectStatePdu,
1620 type_ArealObjectStatePdu,
1626 type_CreateEntityReliablePdu,
1627 type_RemoveEntityReliablePdu,
1628 type_StartResumeReliablePdu,
1629 type_StopFreezeReliablePdu,
1630 type_AcknowledgeReliablePdu,
1631 type_ActionRequestReliablePdu,
1632 type_ActionResponseReliablePdu,
1633 type_DataQueryReliablePdu,
1634 type_SetDataReliablePdu,
1635 type_DataReliablePdu,
1636 type_EventReportReliablePdu,
1637 type_CommentReliablePdu,
1638 type_RecordQueryReliablePdu,
1639 type_SetRecordReliablePdu,
1641 type_CollisionElasticPdu,
1643int pduToDis(
int pdu){
1644 return pdu2dis[pdu];
1646void initialize_field(
char *t,
struct disfieldattr* field);
1647void initializeclass(
unsigned char *t,
int distype){
1648 struct disfieldattr *field;
1649 memset(t,0,TYPE_SIZE[distype]);
1650 field = DIS_CLASS[distype].fields;
1653 initialize_field((
char *)t+field->offset,field);
1655 }
while(field->kind > -1);
1657void initialize_field(
char *t,
struct disfieldattr* field){
1658 switch(field->kind){
1660 initializeclass((
unsigned char *)t,field->type);
1663 switch(field->type){
1666 unsigned char ub = (
unsigned char)field->defaultvalue;
1667 memcpy(t,&ub,TYPE_SIZE[field->type]);
1672 char bb = (char)field->defaultvalue;
1673 memcpy(t,&bb,TYPE_SIZE[field->type]);
1678 unsigned short us = (
unsigned short)field->defaultvalue;
1679 memcpy(t,&us,TYPE_SIZE[field->type]);
1684 short ss = (short)field->defaultvalue;
1685 memcpy(t,&ss,TYPE_SIZE[field->type]);
1690 unsigned int ui = (
unsigned int)field->defaultvalue;
1691 memcpy(t,&ui,TYPE_SIZE[field->type]);
1696 int ii = (int)field->defaultvalue;
1697 memcpy(t,&ii,TYPE_SIZE[field->type]);
1702 unsigned long long ull = (
unsigned long long)field->defaultvalue;
1703 memcpy(t,&ull,TYPE_SIZE[field->type]);
1708 long long ll = (
long long)field->defaultvalue;
1709 memcpy(t,&ll,TYPE_SIZE[field->type]);
1714 float ff = (float)field->defaultvalue;
1715 memcpy(t,&ff,TYPE_SIZE[field->type]);
1720 double dd = (double)field->defaultvalue;
1721 memcpy(t,&dd,TYPE_SIZE[field->type]);
1732unsigned char * dis_ctor(
int distype){
1733 unsigned char *item;
1734 struct dis_class *cinit = &DIS_CLASS[distype];
1735 item = malloc(TYPE_SIZE[distype]);
1736 memset(item,0,TYPE_SIZE[distype]);
1737 initializeclass(item,distype);
1738 if(cinit->pduType || cinit->protocolFamily)
1739 ctor_pduHeader(item,cinit->pduType,cinit->protocolFamily);
1742void dis_dtor(
unsigned char *item,
int distype){
1743 struct dis_class *cinit = &DIS_CLASS[distype];
1747 struct disfieldattr *field;
1748 field = cinit->fields;
1750 if(field->kind == VARIABLE_LIST){
1751 unsigned char **vlist;
1752 vlist = (
unsigned char **)(item + field->offset);
1757 }
while(field->kind > -1);
1764static int isHostLittleEndian = TRUE;
1766char *endianswap(
char *target,
char *source,
int size){
1767 if(isHostLittleEndian){
1770 target[i] = source[size-i-1];
1772 memcpy(target,source,size);
1776int primitive2int(
unsigned char *ptr,
int type){
1780 n = (int)*(
unsigned char*)ptr;
break;
1782 n = (int)*(
char *)ptr;
break;
1784 n = (int)*(
int*)ptr;
break;
1786 n = (int)*(
unsigned int *)ptr;
break;
1788 n = (int)*(
long long *)ptr;
break;
1790 n = (int)*(
unsigned long long*)ptr;
break;
1796unsigned char *dis_marshal_list_item(
unsigned char *datastream,
unsigned char* item,
int kind,
int type){
1797 unsigned char *carat;
1800 size = TYPE_SIZE[type];
1804 if(unde) printf(
"classref size %d\n",size*8);
1805 carat = dis_marshal(carat, item, type);
1806 if(unde) printf(
"/classref\n");
1809 endianswap((
char *)carat,(
char *)item, size);
1810 if(unde) printf(
"doing primitive size %d\n",size*8);
1815 memcpy(carat,item,size);
1817 if(unde) printf(
"doing unknown size %d\n",size * 8);
1822unsigned char * dis_marshal(
unsigned char * datastream,
unsigned char *item,
int type)
1825 unsigned char *carat;
1826 unsigned char **vlist;
1827 struct disfieldattr *field = DIS_CLASS[type].fields;
1830 switch(field->kind){
1833 carat = dis_marshal(carat,item + field->offset, field->type);
1836 endianswap((
char *)carat, (
char *)item + field->offset,field->size);
1837 carat += field->size;
1841 for(i=0;i<field->listLength;i++){
1842 carat = dis_marshal_list_item(carat,item + field->offset + i*field->size,field->listkind,field->type);
1848 struct disfieldattr *field2 = &DIS_CLASS[type].fields[field->countfieldindex];
1849 n = primitive2int(item+field2->offset,field2->type);
1851 vlist = (
unsigned char **)(item + field->offset);
1853 carat = dis_marshal_list_item(carat,*vlist + i*field->size,field->listkind,field->type);
1855 if(unde) printf(
"doing %s variable list size %d\n",field->name,field->size * field->listLength * 8);
1859 memcpy(carat,item + field->offset,field->size);
1860 carat += field->size;
1864 }
while(field->kind > -1);
1867unsigned char *dis_unmarshal_list_item(
unsigned char *datastream,
unsigned char* item,
int kind,
int type){
1868 unsigned char *carat;
1871 size = TYPE_SIZE[type];
1875 if(unde) printf(
"classref size %d\n",size*8);
1876 carat = dis_unmarshal(carat, item, type);
1877 if(unde) printf(
"/classref\n");
1880 endianswap((
char *)item, (
char *)carat, size);
1881 if(unde) printf(
"doing primitive size %d\n",size*8);
1886 memcpy(item,carat,size);
1888 if(unde) printf(
"doing unknown size %d\n",size * 8);
1893unsigned char *dis_unmarshal(
unsigned char *datastream,
unsigned char* item,
int type){
1894 unsigned char *carat;
1895 unsigned char **vlist;
1897 struct disfieldattr *field = DIS_CLASS[type].fields;
1900 switch(field->kind){
1903 if(unde) printf(
"classref %s size %d\n",field->name,field->size*8);
1904 carat = dis_unmarshal(carat,item + field->offset, field->type);
1905 if(unde) printf(
"/classref\n");
1908 endianswap((
char *)item + field->offset,(
char *)carat, field->size);
1909 if(unde) printf(
"doing %s primitive size %d\n",field->name,field->size*8);
1910 carat += field->size;
1914 for(i=0;i<field->listLength;i++){
1915 carat = dis_unmarshal_list_item(carat,item + field->offset + i*field->size,field->listkind,field->type);
1917 if(unde) printf(
"doing %s fixed list size %d\n",field->name,field->size*field->listLength*8);
1922 struct disfieldattr *field2 = &DIS_CLASS[type].fields[field->countfieldindex];
1923 n = primitive2int(item+field2->offset,field2->type);
1925 vlist = (
unsigned char **)(item + field->offset);
1927 if(n) *vlist = malloc(n * field->size);
1929 carat = dis_unmarshal_list_item(carat,*vlist + i*field->size,field->listkind,field->type);
1931 if(unde) printf(
"doing %s variable list size %d\n",field->name,field->size * field->listLength * 8);
1935 memcpy(item + field->offset,carat,field->size);
1936 carat += field->size;
1937 if(unde) printf(
"doing %s unknown size %d\n",field->name,field->size * 8);
1941 }
while(field->kind > -1);
unsigned char pduType
Type of pdu, unique for each PDU class.
unsigned char protocolFamily
value that refers to the protocol family, eg SimulationManagement, et