Go to the documentation of this file.
28 #if !defined( INC_INOSTYPE_H )
29 #define INC_INOSTYPE_H
37 #if defined(INOS_WINDOWS)
45 #if !defined( LONG_LONG_MAX )
46 #define LONG_LONG_MAX __LONG_LONG_MAX__
48 #if !defined( LONG_LONG_MIN )
49 #define LONG_LONG_MIN (-__LONG_LONG_MAX__-1LL)
51 #if !defined( ULONG_LONG_MAX )
52 #define ULONG_LONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL)
57 typedef signed char int8;
58 typedef signed short int16;
61 #if defined(INOS_WINDOWS)
62 typedef signed long int32;
63 typedef signed long long int64;
64 typedef signed long long intid;
66 typedef signed int int32;
67 typedef signed long int64;
68 typedef signed long intid;
70 #else // end of 64 bit
72 typedef signed long int32;
73 typedef signed long long int64;
74 typedef signed long intid;
77 #define INT8MIN ((int8)0x80)
78 #define INT8MAX ((int8)0x7F)
79 #define INT16MIN ((int16)0x8000)
80 #define INT16MAX ((int16)0x7FFF)
81 #define INT32MIN ((int32)0x80000000L)
82 #define INT32MAX ((int32)0x7FFFFFFFL)
83 #define INT64MIN ((int64)0x8000000000000000LL)
84 #define INT64MAX ((int64)0x7FFFFFFFFFFFFFFFLL)
86 #define INTNBRMIN INT64MIN
87 #define INTNBRMAX INT64MAX
89 #define INTNBRMIN INT32MIN
90 #define INTNBRMAX INT32MAX
95 typedef unsigned char uint8;
96 typedef unsigned short uint16;
99 #if defined(INOS_WINDOWS)
100 typedef unsigned long uint32;
101 typedef unsigned long long uint64;
102 typedef unsigned long long uintid;
104 typedef unsigned int uint32;
105 typedef unsigned long uint64;
106 typedef unsigned long uintid;
108 #else // end of 64 bit
110 typedef unsigned long uint32;
111 typedef unsigned long long uint64;
112 typedef unsigned long uintid;
117 typedef intptr intnbr;
121 typedef uintptr uintnbr;
123 #define UINT8MIN ((uint8)0x00)
124 #define UINT8MAX ((uint8)0xFF)
125 #define UINT16MIN ((uint16)0x0000)
126 #define UINT16MAX ((uint16)0xFFFF)
127 #define UINT32MIN ((uint32)0x00000000UL)
128 #define UINT32MAX ((uint32)0xFFFFFFFFUL)
129 #define UINT64MIN ((uint64)0x0000000000000000ULL)
130 #define UINT64MAX ((uint64)0xFFFFFFFFFFFFFFFFULL)
132 #define UINTNBRMIN UINT64MIN
133 #define UINTNBRMAX UINT64MAX
135 #define UINTNBRMIN UINT32MIN
136 #define UINTNBRMAX UINT32MAX
139 #if defined(INOS_WINDOWS)
140 typedef unsigned short ushort;
141 typedef unsigned int uint;
142 typedef unsigned long ulong;
148 #define real64 double
149 #define REAL64(arValue) double(arValue)
150 #define REAL64MIN (-DBL_MAX)
151 #define REAL64MAX DBL_MAX
153 #define REAL32(arValue) float(arValue)
154 #define REAL32MIN (-FLT_MAX)
155 #define REAL32MAX FLT_MAX
159 #include <inosfixed32.h>
160 #include <inosfixed64.h>
176 typedef char inosName[16];
177 typedef char inosName32[32];
178 typedef char inosName64[64];
179 typedef char inosName128[128];
183 #if defined(INOS_KERNEL_MSGID_64)
207 m_uId = (uintid) apTask + auCoreId;
240 #ifdef INOS_MULTICORE
244 uint32 m_uLock[16] = {0};
246 void Reset() { m_uLock[0] = 0;};
248 uint32 GetValue() {
return m_uLock[0];};
250 uint32* GetAddr() {
return &m_uLock[0];};
251 #ifdef INOS_TIMINIG_CHECKS_CORELOCK
253 uint32& GetTimeStamp() {
return m_uTimestamp; }
261 void Reset() { m_uLock = 0;};
263 uint32 GetValue() {
return m_uLock;};
265 uint32* GetAddr() {
return &m_uLock;};
282 #if defined(INOS_DESKTOP) || defined(INOS_CPU_AGILEX5)
297 #define PFI08 "%i" // -128 ... 127
298 #define PFU08 "%u" // 0 ... 255
299 #define PF02U08 "%02u" // 00 ... 255
300 #define PF03U08 "%03u" // 000 ... 255
301 #define PF2U08 "%2u" // ' 0' ... 255
302 #define PF3U08 "%3u" // ' 0' ... 255
303 #define PFx08 "%02x" // 00 ... ff
304 #define PFX08 "%02X" // 00 ... FF
305 #define PF0x08 "0x%02x" // 0x00 ... 0xff
306 #define PF0X08 "0x%02X" // 0x00 ... 0xFF
311 #define PFI16 "%i" // -32768 ... 32767
312 #define PFU16 "%u" // 0 ... 65535
313 #define PF02U16 "%02u" // 00 ... 65535
314 #define PF03U16 "%03u" // 000 ... 65535
315 #define PF04U16 "%04u" // 0000 ... 65535
316 #define PF05U16 "%05u" // 00000 ... 65535
317 #define PF2U16 "%2u" // ' 0' ... 65535
318 #define PF3U16 "%3u" // ' 0' ... 65535
319 #define PF4U16 "%4u" // ' 0' ... 65535
320 #define PF5U16 "%5u" // ' 0' ... 65535
321 #define PFx16 "%04x" // 0000 ... ffff
322 #define PFX16 "%04X" // 0000 ... FFFF
323 #define PF0x16 "0x%04x" // 0x0000 ... 0xffff
324 #define PF0X16 "0x%04X" // 0x0000 ... 0xFFFF
329 #if defined(INOS_WINDOWS)
331 #define PFI32 "%li" // -2147483648 ... 2147483647
332 #define PFU32 "%lu" // 0 ... 4294967295
333 #define PF02U32 "%02lu" // 00 ... 4294967295
334 #define PF03U32 "%03lu" // 000 ... 4294967295
335 #define PF04U32 "%04lu" // 0000 ... 4294967295
336 #define PF05U32 "%05lu" // 00000 ... 4294967295
337 #define PF06U32 "%06lu" // 000000 ... 4294967295
338 #define PF07U32 "%07lu" // 0000000 ... 4294967295
339 #define PF08U32 "%08lu" // 00000000 ... 4294967295
340 #define PF09U32 "%09lu" // 000000000 ... 4294967295
341 #define PF010U32 "%010lu" // 0000000000 ... 4294967295
342 #define PF2U32 "%2lu" // ' 0' ... 4294967295
343 #define PF3U32 "%3lu" // ' 0' ... 4294967295
344 #define PF4U32 "%4lu" // ' 0' ... 4294967295
345 #define PF5U32 "%5lu" // ' 0' ... 4294967295
346 #define PF6U32 "%6lu" // ' 0' ... 4294967295
347 #define PF7U32 "%7lu" // ' 0' ... 4294967295
348 #define PF8U32 "%8lu" // ' 0' ... 4294967295
349 #define PF9U32 "%9lu" // ' 0' ... 4294967295
350 #define PF10U32 "%10lu" // ' 0' ... 4294967295
351 #define PFx32 "%08lx" // 00000000 ... ffffffff
352 #define PFX32 "%08lX" // 00000000 ... FFFFFFFF
353 #define PF0x32 "0x%08lx" // 0x00000000 ... 0xffffffff
354 #define PF0X32 "0x%08lX" // 0x00000000 ... 0xFFFFFFFF
355 #define PFPTR "%016" PRIXPTR
356 #define PF0xPTR "0x%016" PRIXPTR
361 #define SFPTR "%016llX"
362 #define SF0xPTR "0x%016llX"
365 #define PFI32 "%i" // -2147483648 ... 2147483647
366 #define PFU32 "%u" // 0 ... 4294967295
367 #define PF02U32 "%02u" // 00 ... 4294967295
368 #define PF03U32 "%03u" // 000 ... 4294967295
369 #define PF04U32 "%04u" // 0000 ... 4294967295
370 #define PF05U32 "%05u" // 00000 ... 4294967295
371 #define PF06U32 "%06u" // 000000 ... 4294967295
372 #define PF07U32 "%07u" // 0000000 ... 4294967295
373 #define PF08U32 "%08u" // 00000000 ... 4294967295
374 #define PF09U32 "%09u" // 000000000 ... 4294967295
375 #define PF010U32 "%010u" // 0000000000 ... 4294967295
376 #define PF2U32 "%2u" // ' 0' ... 4294967295
377 #define PF3U32 "%3u" // ' 0' ... 4294967295
378 #define PF4U32 "%4u" // ' 0' ... 4294967295
379 #define PF5U32 "%5u" // ' 0' ... 4294967295
380 #define PF6U32 "%6u" // ' 0' ... 4294967295
381 #define PF7U32 "%7u" // ' 0' ... 4294967295
382 #define PF8U32 "%8u" // ' 0' ... 4294967295
383 #define PF9U32 "%9u" // ' 0' ... 4294967295
384 #define PF10U32 "%10u" // ' 0' ... 4294967295
385 #define PFx32 "%08x" // 00000000 ... ffffffff
386 #define PFX32 "%08X" // 00000000 ... FFFFFFFF
387 #define PF0x32 "0x%08x" // 0x00000000 ... 0xffffffff
388 #define PF0X32 "0x%08X" // 0x00000000 ... 0xFFFFFFFF
389 #define PFPTR "%016lX" // 00000000 ... FFFFFFFF
390 #define PF0xPTR "0x%016lX" // 0x00000000 ... 0xFFFFFFFF
396 #define SF0xPTR PF0xPTR
400 #define PFI32 "%li" // -2147483648 ... 2147483647
401 #define PFU32 "%lu" // 0 ... 4294967295
402 #define PF02U32 "%02lu" // 00 ... 4294967295
403 #define PF03U32 "%03lu" // 000 ... 4294967295
404 #define PF04U32 "%04lu" // 0000 ... 4294967295
405 #define PF05U32 "%05lu" // 00000 ... 4294967295
406 #define PF06U32 "%06lu" // 000000 ... 4294967295
407 #define PF07U32 "%07lu" // 0000000 ... 4294967295
408 #define PF08U32 "%08lu" // 00000000 ... 4294967295
409 #define PF09U32 "%09lu" // 000000000 ... 4294967295
410 #define PF010U32 "%010lu" // 0000000000 ... 4294967295
411 #define PF2U32 "%2lu" // ' 0' ... 4294967295
412 #define PF3U32 "%3lu" // ' 0' ... 4294967295
413 #define PF4U32 "%4lu" // ' 0' ... 4294967295
414 #define PF5U32 "%5lu" // ' 0' ... 4294967295
415 #define PF6U32 "%6lu" // ' 0' ... 4294967295
416 #define PF7U32 "%7lu" // ' 0' ... 4294967295
417 #define PF8U32 "%8lu" // ' 0' ... 4294967295
418 #define PF9U32 "%9lu" // ' 0' ... 4294967295
419 #define PF10U32 "%10lu" // ' 0' ... 4294967295
420 #define PFx32 "%08lx" // 00000000 ... ffffffff
421 #define PFX32 "%08lX" // 00000000 ... FFFFFFFF
422 #define PF0x32 "0x%08lx" // 0x00000000 ... 0xffffffff
423 #define PF0X32 "0x%08lX" // 0x00000000 ... 0xFFFFFFFF
424 #define PFPTR "%08lX" // 00000000 ... FFFFFFFF
425 #define PF0xPTR "0x%08lX" // 0x00000000 ... 0xFFFFFFFF
431 #define SF0xPTR PF0xPTR
436 #if defined(INOS_WINDOWS)
438 #define PFI64 "%" PRId64
439 #define PFU64 "%" PRIu64
440 #define PF_x64 "%llx"
441 #define PFx64 "%016" PRIx64
442 #define PFX64 "%016" PRIX64
443 #define PF0x64 "0x%016" PRIx64
444 #define PF0X64 "0x%016" PRIX64
447 #define SFx64 "%016llx"
448 #define SFX64 "%016llX"
449 #define SF0x64 "0x%016llx"
450 #define SF0X64 "0x%016llX"
457 #define PFx64 "%016lx"
458 #define PFX64 "%016lX"
459 #define PF0x64 "0x%016lx"
460 #define PF0X64 "0x%016lX"
465 #define PF_x64 "%llx"
466 #define PFx64 "%016llx"
467 #define PFX64 "%016llX"
468 #define PF0x64 "0x%016llx"
469 #define PF0X64 "0x%016llX"
475 #define SF0x64 PF0x64
476 #define SF0X64 PF0X64
483 #define PFINBR "%I64i"
484 #define PFUNBR "%I64u"
485 #define SFINBR "%lli"
486 #define SFUNBR "%llu"
490 #define SFINBR PFINBR
491 #define SFUNBR PFUNBR
496 #define SFINBR PFINBR
497 #define SFUNBR PFUNBR
499 #if defined(INOS_KERNEL_MSGID_64)
517 #endif // INC_INOSTYPE_H
int32 tMsgId
Definition: inostype.h:186
class CINOSTask * GetTask()
get task
Definition: inostype.h:227
#define DF_INOS_MAX_CORES
Definition: inosdefine.h:164
void SetId(uintid auId)
set id
Definition: inostype.h:221
Definition: inostype.h:257
Definition: inostype.h:192
SINOSNanoSeconds __nanoSeconds
the one and only
Definition: inostype.h:271
uint32 PerTick
nanoseconds per tick
Definition: inostype.h:286
uint32 tUid
Definition: inostype.h:190
uint64 Base
utc nanoseconds at system boot (UNIX timestamp, nanoseconds since 01.01.1970)
Definition: inostype.h:277
uint32 GetCoreId()
get task
Definition: inostype.h:233
Definition: inostype.h:164
uintid m_uId
task id (bits log2(DF_INOS_MAX_CORES) contain the core id the task is running on)
Definition: inostype.h:195
int64 Correction
actual nanoseconds correction
Definition: inostype.h:279
Definition: cinostask.h:51