18#define F(name) printf(" \"%s\": { \"offset\": %u, \"size\": %u },\n", #name, \
19 (unsigned)offsetof(DataMessageHeader, name), (unsigned)sizeof(((DataMessageHeader*)0)->name))
20#define FL(name) printf(" \"%s\": { \"offset\": %u, \"size\": %u }\n", #name, \
21 (unsigned)offsetof(DataMessageHeader, name), (unsigned)sizeof(((DataMessageHeader*)0)->name))
25 printf(
" \"format\": \"CMSDK DataMessage\",\n");
27 printf(
" \"byteOrder\": \"little-endian (native host order; x86/ARM)\",\n");
33 printf(
" \"ids\": { \"DATAMESSAGEID\": %u, \"UNUSEDID\": %u, \"CONSTCHARID\": %u, \"TIMEID\": %u, "
34 "\"CHARDATAID\": %u, \"INTID\": %u, \"DOUBLEID\": %u },\n",
37 printf(
" \"header\": {\n");
38 F(size);
F(cid);
F(cver);
F(cenc);
F(memid);
F(time);
F(sendtime);
F(recvtime);
39 F(origin);
F(destination);
F(ttl);
F(priority);
F(policy);
F(from);
F(to);
F(type);
40 F(tag);
F(status);
F(reference);
F(serial);
F(contextchange);
F(userSize);
F(userCount);
41 F(cyclecputime);
F(cyclewalltime);
F(chaincputime);
F(chainwalltime);
F(chaincount);
The binary DataMessage container — the central data-exchange object of Psyclone/CMSDK.
#define CURRENTDATAMESSAGEVERSION
Object type ids used to tag and verify every binary structure in CMSDK memory.
CMSDK time: µs-resolution 64-bit timestamps and the Time Mapping Constant (TMC).
#define PSYCONTEXTLEVELS
Number of hierarchy levels in a PsyContext.
#define PSYTYPELEVELS
Number of hierarchy levels in a PsyType.
#define USEC_YEAR_0_TO_1970
Microseconds between year 0000 and the Unix epoch (1970-01-01).