19 #define DtPDU_STATUS_BIT_SHIFT(attr, val) \
20 const unsigned int DtPduStatus##attr##BitShift = val;
32 #define DtPDU_STATUS_UNSET_INDICATOR_ONE_BIT(attr) \
33 val &= ~(0x1 << DtPduStatus##attr##BitShift)
35 #define DtPDU_STATUS_SET_INDICATOR_ONE_BIT(attr, indicator) \
36 DtPDU_STATUS_UNSET_INDICATOR_ONE_BIT(attr); \
37 val |= DtPduStatus##attr##indicator << DtPduStatus##attr##BitShift
39 #define DtPDU_STATUS_GET_BOOL_ONE_BIT(attr) \
40 (((val >> DtPduStatus##attr##BitShift) & 0x1) == 0x1)
42 #define DtPDU_STATUS_GET_ENUM_ONE_BIT(attr) \
43 DtPduStatus##attr((val >> DtPduStatus##attr##BitShift) & 0x1)
45 #define DtPDU_STATUS_SET_INDICATOR_TWO_BIT(attr, indicator) \
46 DtPDU_STATUS_UNSET_INDICATOR_TWO_BIT(attr); \
47 val |= indicator << DtPduStatus##attr##BitShift
49 #define DtPDU_STATUS_UNSET_INDICATOR_TWO_BIT(attr) \
50 val &= ~(0x3 << DtPduStatus##attr##BitShift)
52 #define DtPDU_STATUS_GET_ENUM_TWO_BIT(attr) \
53 DtPduStatus##attr((val >> DtPduStatus##attr##BitShift) & 0x3)
56 #define DtSTATUS_NOT_OK 1
86 virtual void* packet()
const;
90 virtual int status()
const;
93 virtual void setVersion(
int vers);
94 virtual int protocolVersion()
const;
97 virtual void setExerciseId(
int id);
98 virtual int exerciseId()
const;
109 virtual void setTimeStamp(
DtTime time,
114 virtual DtTime timeStamp()
const;
122 virtual void setPduLength(
unsigned int length);
125 virtual unsigned int pduLength()
const;
128 virtual void setPduStatus(
int);
131 virtual int pduStatus()
const;
136 virtual void setTransferredEntityIndicator(
bool difference);
140 virtual bool transferredEntityIndicator()
const;
150 virtual void setCoupledExtensionIndicator(
bool coupled);
154 virtual bool coupledExtensionIndicator()
const;
177 virtual void setIffSimulationMode(
bool interactive);
179 virtual bool iffSimulationMode()
const;
182 virtual void setActiveInterrogationIndicator(
bool active);
184 virtual bool activeInterrogationIndicator()
const;
190 virtual DtTime guessTimeValid(
DtTime referenceTime)
const;
196 virtual void print()
const;
200 virtual void printToStream(std::ostream& stream)
const;
203 virtual void printHeader()
const;
206 virtual void printHeaderToStream(std::ostream& stream)
const;
214 virtual void printData()
const;
215 virtual void printDataToStream(std::ostream& stream)
const;
216 virtual void printDataToString(
DtString& str)
const;
219 virtual void printPduInHexToStream(std::ostream& stream,
unsigned int numberOfColumns)
const;
222 virtual void encode();
229 virtual bool isTransientPdu()
const;
238 virtual void setStatus(
int okStatus);
242 virtual void initPdu(
int size,
DtBufferPtr buffer);
248 virtual DtPduKind internalGetPduKind()
const = 0;
257 virtual void clearData();
260 virtual void initHeader(
DtPduKind kind,
int size);
264 virtual bool isTEIApplicable()
const;
265 virtual bool isLVCApplicable()
const;
266 virtual bool isCEIApplicable()
const;
267 virtual bool isFTIApplicable()
const;
268 virtual bool isDTIApplicable()
const;
269 virtual bool isRAIApplicable()
const;
270 virtual bool isIAIApplicable()
const;
271 virtual bool isISMApplicable()
const;
272 virtual bool isAIIApplicable()
const;
281 #define netPdu packet()