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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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},
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){
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];
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;
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;
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