Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6types.h
Go to the documentation of this file.
1 
10 #ifndef P6TYPES_H__
11 #define P6TYPES_H__ 1
12 
13 #ifndef P6_UEFI
14 #include <stddef.h>
15 #include <wchar.h> // wchar_t
16 #endif
17 
18 #include "p6platform.h"
19 
20 #ifdef __cplusplus
21 
22 #ifndef P6_UEFI
23 #include <cstddef> // for std::ptrdiff_t
24 #include <new> // std::nothrow
25 #endif
26 
27 namespace P6R {
28 extern "C" {
29 #endif
30 
35 
36 typedef unsigned char P6UINT8;
37 typedef char P6INT8;
38 typedef P6UINT8 P6BYTE;
39 #if P6SIZEOF_SHORT == 2
40 typedef unsigned short int P6UINT16;
41 typedef short int P6INT16;
42 #else
43 #error Unable to find an appropriate type for P6UINT16 and P6INT16
44 #endif
45 #if P6SIZEOF_INT == 4
46 typedef unsigned int P6UINT32;
47 typedef int P6INT32;
48 #elif P6SIZEOF_LONG == 4
49 typedef unsigned long P6UINT32;
50 typedef long P6INT32;
51 #else
52 #error Unable to find an appropriate type for P6UINT32 and P6INT32
53 #endif
54 #if P6SIZEOF_LONGLONG == 8
57 #else
58 #error Unable to find an appropriate type for P6UINT64 and P6INT64
59 #endif
60 #if P6SIZEOF_PTRDIFF == P6SIZEOF_SIZET
61 typedef size_t P6PTRDIFF;
62 #else
63 #error Unable to find an appropriate type for P6PTRDIFF
64 #endif
65 
66 typedef short P6SHORT;
67 typedef unsigned short P6USHORT;
68 typedef int P6INT;
69 typedef unsigned int P6UINT;
70 typedef long P6LONG;
71 typedef unsigned long P6ULONG;
72 typedef size_t P6SIZE;
73 #ifndef P6_UEFI
74 typedef double P6FLOAT;
75 #else
76 typedef P6SIZE P6FLOAT;
77 #endif
78 
84 typedef char P6CHAR;
85 typedef P6CHAR* P6STR;
86 typedef const P6CHAR* P6CSTR;
87 typedef unsigned char P6UCHAR;
88 typedef void P6VOID;
89 #ifndef P6_UEFI
90 typedef wchar_t P6WCHAR;
91 #else
92 typedef unsigned short P6WCHAR;
93 #endif
94 typedef P6WCHAR* P6WSTR;
95 typedef const P6WCHAR* P6CWSTR;
96 typedef P6WCHAR* P6COMSTR;
98 #if defined(__GNUC__) || defined(__SUNPRO_CC)
99 #define P6I64(v) v##LL
100 #define P6U64(v) v##ULL
101 #else
102 #define P6I64(v) v##i64
103 #define P6U64(v) v##ui64
104 #endif
105 
106 
112 typedef unsigned char P6BOOL;
113 #define P6TRUE 1
114 #define P6FALSE 0
115 
120 typedef P6UINT32 P6ERR;
121 typedef P6SIZE P6ATOM;
141 typedef struct {
142  P6UINT32 timeLow;
143  P6UINT16 timeMid;
144  P6UINT16 timeHighVer;
145  P6UINT8 clockNode[8];
148 } P6UUID;
149 #define P6UUID_STR_SIZE 39
150 
151 typedef P6UUID P6IID;
152 typedef P6UUID P6CID;
153 typedef P6UUID P6CATID;
164 typedef struct {
165  P6UCHAR *pString;
166  P6SIZE length;
167 } P6BSTR;
168 
178 typedef struct {
179  const P6UCHAR *pString;
180  P6SIZE length;
181 } P6BCSTR;
182 
194 typedef struct {
195  P6WCHAR *pString;
196  P6SIZE length;
197 } P6BWSTR;
198 
210 typedef struct {
211  const P6WCHAR *pString;
212  P6SIZE length;
213 } P6BWCSTR;
214 
225 typedef struct {
226  const P6CHAR *pString;
227  P6SIZE length;
228 } P6NCSTR;
229 
230 
238 typedef P6INT64 P6TIME;
239 
243 typedef struct {
244  P6INT32 useconds;
245  P6INT32 seconds;
246  P6INT32 minutes;
247  P6INT32 hour;
248  P6INT16 month;
249  P6INT16 dayOfMonth;
250  P6INT32 year;
252  P6INT16 dayOfWeek;
253  P6INT16 dayOfYear;
254  P6INT32 tzoff;
255  P6INT32 dstoff;
256 } P6TIMEINFO;
257 
259 
264 typedef P6UINT64 P6INTERVAL;
265 
266 typedef struct {
267  P6UINT32 hours;
268  P6UINT32 minutes;
269  P6UINT32 seconds;
270  P6UINT32 milliseconds;
271  P6UINT64 microseconds;
272  P6UINT64 fractional;
273 } P6EXPANDEDINTERVAL;
274 
275 
276 typedef P6VOID *P6DLLHANDLE;
277 typedef P6VOID *P6SYMPROC;
278 
287 typedef P6UINT8 P6P8BIT;
288 typedef struct {P6UINT8 c[2];} P6P16BIT;
289 typedef struct {P6UINT8 c[4];} P6P32BIT;
290 typedef struct {P6UINT8 c[8];} P6P64BIT;
293 #define P6_NSEC_PER_USEC 1000UL
294 
296 #define P6_NSEC_PER_MSEC 1000000UL
297 
299 #define P6_NSEC_PER_SEC 1000000000UL
300 
302 #define P6_USEC_PER_MSEC 1000UL
303 
305 #define P6_USEC_PER_SEC 1000000UL
306 
308 #define P6_MSEC_PER_SEC 1000UL
309 
310 #define P6_SEC_PER_HOUR 3600UL
311 
312 #define P6_SEC_PER_DAY 86400UL
313 
314 
315 typedef P6SIZE P6THREADID;
316 #define P6INVALID_THREADID 0
317 
323 #define P6MAXTHREADNAME 24
324 
330 #define P6MAXTHREADSTATENAME 24
331 
336 typedef enum {
337  P6TP_LOWEST,
338  P6TP_NORMAL,
339  P6TP_ELAVATED,
340  P6TP_HIGHEST,
341  P6TP_MAX
342 } P6THREADPRIORITY;
343 
350 typedef struct {
351  P6THREADID hThread;
352  P6TIME tStart;
353  P6WCHAR szwName[P6MAXTHREADNAME];
354  P6WCHAR szwState[P6MAXTHREADSTATENAME];
355  P6TIME tLastState;
356  P6THREADPRIORITY priority;
357 } P6THREADINFO;
358 
359 
360 typedef enum {
361  P6AF_INET = 1,
362  P6AF_INET6= 2,
363  P6AF_MAX
364 } P6ADDRFAM;
365 
370 typedef struct {
371  union {
372  P6UINT8 u8[4];
373  P6UINT16 u16[2];
374  P6UINT32 u32;
375  } u;
376 } IPV4ADDR;
377 
382 typedef struct {
383  union {
384  P6UINT8 u8[16];
385  P6UINT16 u16[8];
386  P6UINT32 u32[4];
387  } u;
388 } IPV6ADDR;
389 
394 typedef union {
395  struct {
396  P6ADDRFAM family;
397  P6UINT16 port;
398  IPV4ADDR ip;
399  } inet;
400  struct {
401  P6ADDRFAM family;
402  P6UINT16 port;
403  P6UINT32 flowinfo;
404  IPV6ADDR ip;
405  P6UINT32 scope_id;
406  } inet6;
407 } P6NETADDR;
408 
409 
413 typedef struct {
414  P6INT32 major;
415  P6INT32 minor;
416  P6INT32 patch;
417  P6INT32 build;
418 } P6VERSION;
419 
420 typedef P6UINT32 BUILDFLAGS;
421 #ifndef P6_UEFI
422 const BUILDFLAGS P6BF_NONE = 0x00000000;
423 const BUILDFLAGS P6BF_DEBUG = 0x00000001;
424 const BUILDFLAGS P6BF_RETAIL = 0x00000002;
425 const BUILDFLAGS P6BF_ALPHA = 0x00000004;
426 const BUILDFLAGS P6BF_BETA = 0x00000008;
427 const BUILDFLAGS P6BF_RELEASE = 0x00000010;
428 const BUILDFLAGS P6BF_INTERNAL = 0x00000020;
429 const BUILDFLAGS P6BF_LOADER = 0x00000100;
431 const BUILDFLAGS P6BF_BUILDMODE_MASK = 0x00000003;
432 const BUILDFLAGS P6BF_RELEASETYPE_MASK= 0x0000003c;
433 #endif /* P6_UEFI */
434 
435 typedef P6UINT32 VERMAGIC;
436 #ifndef P6_UEFI
437 const VERMAGIC P6VI_MAGIC1 = 0x18436572;
438 const VERMAGIC P6VI_MAGIC2 = 0x011951dc;
439 #endif /* P6_UEFI */
440 
441 typedef struct {
442  VERMAGIC magic1;
443  VERMAGIC magic2;
444  P6VERSION productver;
445  P6VERSION filever;
446  BUILDFLAGS flags;
447  const P6CHAR *pcszLocale;
448  const P6WCHAR *pszwProductName;
449  const P6WCHAR *pszwCopyright;
450  const P6WCHAR *pszwModuleDesc;
451  const P6WCHAR *pszwBuildNotes;
452 } P6VERINFO;
453 
454 typedef enum {
455  VER_PRODUCT,
456  VER_FILE
457 } VERFIELDS;
458 
459 typedef enum {
460  VER_PRODNAME,
461  VER_COPYRIGHT,
462  VER_MODDESC,
463  VER_NOTES
464 } VERSTRFIELDS;
466 
470 #define P6MAX_LOCALE_LEN 64
471 
472 
477 #define P6SAFESTR_MAX_CCH 2147483647
478 
498 typedef enum {
534 } P6ARGTYPE;
535 
536 typedef enum {
546 } P6ARGFMT;
547 
548 typedef P6UINT32 P6ARGFLAGS;
549 static const P6ARGFLAGS P6AFL_NOFLAGS = 0x00000000;
550 static const P6ARGFLAGS P6AFL_LEFTALIGN = 0x00000001;
551 static const P6ARGFLAGS P6AFL_CENTER = 0x00000002;
552 static const P6ARGFLAGS P6AFL_SIGN = 0x00000004;
553 static const P6ARGFLAGS P6AFL_ADDPORT = 0x00000008;
554 static const P6ARGFLAGS P6AFL_ISO860 = 0x00000010;
555 static const P6ARGFLAGS P6AFL_RFC822 = 0x00000020;
556 static const P6ARGFLAGS P6AFL_LOCALTIME = 0x00000040;
557 static const P6ARGFLAGS P6AFL_TRUNCATE = 0x00000080;
558 static const P6ARGFLAGS P6AFL_UPPERCASE = 0x00000100;
559 static const P6ARGFLAGS P6AFL_LOWERCASE = 0x00000200;
564 typedef struct {
566  P6UINT16 m_fieldWidth;
567  P6INT16 m_precision;
568  P6WCHAR m_precisionPad;
569  P6WCHAR m_fieldPad;
571  P6ARGFLAGS m_fFlags;
572  union {
573  P6CHAR m_char;
574  P6BOOL m_bool;
575  const P6CHAR *m_charptr;
576  P6UCHAR m_uchar;
577  const P6UCHAR *m_ucharptr;
578  P6WCHAR m_wchar;
579  const P6WCHAR *m_wcharptr;
580  const P6VOID *m_voidptr;
581  P6INT8 m_int8;
582  P6UINT8 m_uint8;
583  P6INT16 m_int16;
584  P6UINT16 m_uint16;
585  P6INT32 m_int32;
586  P6UINT32 m_uint32;
587  P6INT64 m_int64;
588  P6UINT64 m_uint64;
589  P6SHORT m_short;
590  P6USHORT m_ushort;
591  P6INT m_int;
592  P6UINT m_uint;
593  P6LONG m_long;
594  P6ULONG m_ulong;
595  P6SIZE m_sizet;
596  P6FLOAT m_float;
597  P6TIME m_time;
598  P6ERR m_err;
599  P6INTERVAL m_tInterval;
600  P6THREADID m_hThread;
601  const P6UUID *m_uuid;
602  const P6CATID *m_catid;
603  const P6NETADDR *m_netAddr;
604  const P6BSTR *m_bstr;
605  const P6BWSTR *m_bwstr;
606  const P6BCSTR *m_bcstr;
608  } u;
609 } P6ARG;
610 
611 
612  #define P6ARGINPLACE_INIT(type,fieldWidth,precision,precisionPad,fieldPad,format,flags,data) \
613  {(type),(fieldWidth),(precision),(precisionPad),(fieldPad),(format),(flags),{(data)}}
614 
615 #define P6ARGINIT(arg,nType,fmt,fieldWidth,precision,flags,fieldPad,precisionPad) \
616 (arg)->m_nType = (nType); \
617 (arg)->m_fieldWidth = (fieldWidth); \
618 (arg)->m_precision = (precision); \
619 (arg)->m_precisionPad = (precisionPad); \
620 (arg)->m_fieldPad = (fieldPad); \
621 (arg)->m_fFlags = (flags); \
622 (arg)->m_nFormat = (fmt); \
623 (arg)->u.m_uint64 = P6I64(0)
624 
625 #define P6ARGINITBOOLEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_BOOL,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_bool = (data)
626 #define P6ARGINITCHAREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_CHAR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_char = (data)
627 #define P6ARGINITCHARPTREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_CHARPTR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_charptr = (data)
628 #define P6ARGINITUCHAREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_UCHAR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_uchar = (data)
629 #define P6ARGINITWCHAREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_WCHAR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_wchar = (data)
630 #define P6ARGINITWCHARPTREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_WCHARPTR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_wcharptr = (data)
631 #define P6ARGINITPTREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_PTR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_voidptr = (data)
632 #define P6ARGINITINT8EX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_INT8,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_int8 = (data)
633 #define P6ARGINITUINT8EX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_UINT8,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_uint8 = (data)
634 #define P6ARGINITINT16EX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_INT16,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_int16 = (data)
635 #define P6ARGINITUINT16EX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_UINT16,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_uint16 = (data)
636 #define P6ARGINITINT32EX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_INT32,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_int32 = (data)
637 #define P6ARGINITUINT32EX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_UINT32,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_uint32 = (data)
638 #define P6ARGINITINT64EX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_INT64,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_int64 = (data)
639 #define P6ARGINITUINT64EX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_UINT64,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_uint64 = (data)
640 #define P6ARGINITSHORTEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_SHORT,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_short = (data)
641 #define P6ARGINITUSHORTEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_USHORT,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_ushort = (data)
642 #define P6ARGINITINTEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_INT,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_int = (data)
643 #define P6ARGINITUINTEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_UINT,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_uint = (data)
644 #define P6ARGINITLONGEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_LONG,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_long = (data)
645 #define P6ARGINITULONGEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_ULONG,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_ulong = (data)
646 #define P6ARGINITSIZEEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_SIZE,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_sizet = (data)
647 #define P6ARGINITTHREADIDEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_THREADID,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_hThread = (data)
648 #define P6ARGINITERREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_ERR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_err = (data)
649 #define P6ARGINITUUIDEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_UUID,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_uuid = (data)
650 #define P6ARGINITCATIDEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_CATID,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_catid = (data)
651 #define P6ARGINITNETADDREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_NETADDR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_netAddr = (data)
652 #define P6ARGINITTIMEEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_TIME,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_time = (data)
653 #define P6ARGINITINTERVALEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_INTERVAL,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_tInterval = (data)
654 #define P6ARGINITFLOATEX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_FLOAT,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_float = (data)
655 #define P6ARGINITBSTREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_BSTR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_bstr = (data)
656 #define P6ARGINITBWSTREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_BWSTR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_bwstr = (data)
657 #define P6ARGINITBCSTREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_BCSTR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_bcstr = (data)
658 #define P6ARGINITBWCSTREX(arg,data,fmt,precision,fieldWidth,flags,ppad,fpad) P6ARGINIT((arg),P6AT_BWCSTR,(fmt),(fieldWidth),(precision),(flags),(fpad),(ppad)); (arg)->u.m_bwcstr = (data)
659 
660 #define P6AI_BOOL(arg,data) P6ARGINITBOOLEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
661 #define P6AI_BOOL_HEXL(arg,data) P6ARGINITBOOLEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
662 #define P6AI_BOOL_HEXU(arg,data) P6ARGINITBOOLEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
663 #define P6AI_BOOL_DEC(arg,data) P6ARGINITBOOLEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
664 
665 #define P6AI_CHAR(arg,data) P6ARGINITCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_NOFLAGS,0,0)
666 #define P6AI_CHAR_HEXL(arg,data) P6ARGINITCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
667 #define P6AI_CHAR_HEXU(arg,data) P6ARGINITCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
668 #define P6AI_CHAR_DEC(arg,data) P6ARGINITCHAREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
669 #define P6AI_CHAR_OCT(arg,data) P6ARGINITCHAREX(arg,data,P6AF_OCT,0,0,P6AFL_NOFLAGS,0,0)
670 #define P6AI_CHAR_UPR(arg,data) P6ARGINITCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_UPPERCASE,0,0)
671 #define P6AI_CHAR_LWR(arg,data) P6ARGINITCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_LOWERCASE,0,0)
672 
673 #define P6AI_CHARPTR(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
674 #define P6AI_CHARPTR_HEXL(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
675 #define P6AI_CHARPTR_HEXU(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
676 #define P6AI_CHARPTR_DEC(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
677 #define P6AI_CHARPTR_UPR(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
678 #define P6AI_CHARPTR_LWR(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
679 #define P6AI_CHARPTR_HEXSTR(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
680 #define P6AI_CHARPTR_HEXDUMP(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
681 
682 #define P6AI_UCHAR(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_NOFLAGS,0,0)
683 #define P6AI_UCHAR_HEXL(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
684 #define P6AI_UCHAR_HEXU(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
685 #define P6AI_UCHAR_DEC(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
686 #define P6AI_UCHAR_OCT(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_OCT,0,0,P6AFL_NOFLAGS,0,0)
687 #define P6AI_UCHAR_UPR(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_UPPERCASE,0,0)
688 #define P6AI_UCHAR_LWR(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_LOWERCASE,0,0)
689 
690 #define P6AI_WCHAR(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_NOFLAGS,0,0)
691 #define P6AI_WCHAR_HEXL(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
692 #define P6AI_WCHAR_HEXU(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
693 #define P6AI_WCHAR_DEC(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
694 #define P6AI_WCHAR_UPR(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_UPPERCASE,0,0)
695 #define P6AI_WCHAR_LWR(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_LOWERCASE,0,0)
696 
697 #define P6AI_WCHARPTR(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
698 #define P6AI_WCHARPTR_HEXL(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
699 #define P6AI_WCHARPTR_HEXU(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
700 #define P6AI_WCHARPTR_DEC(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
701 #define P6AI_WCHARPTR_UPR(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
702 #define P6AI_WCHARPTR_LWR(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
703 #define P6AI_WCHARPTR_HEXSTR(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
704 #define P6AI_WCHARPTR_HEXDUMP(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
705 
706 #define P6AI_PTR(arg,data) P6ARGINITPTREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
707 #define P6AI_PTR_DEC(arg,data) P6ARGINITPTREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
708 
709 #define P6AI_INT8(arg,data) P6ARGINITINT8EX(atg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
710 #define P6AI_INT8_HEXL(arg,data) P6ARGINITINT8EX(atg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
711 #define P6AI_INT8_HEXU(arg,data) P6ARGINITINT8EX(atg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
712 
713 #define P6AI_UINT8(arg,data) P6ARGINITUINT8EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
714 #define P6AI_UINT8_HEXL(arg,data) P6ARGINITUINT8EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
715 #define P6AI_UINT8_HEXU(arg,data) P6ARGINITUINT8EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
716 
717 #define P6AI_INT16(arg,data) P6ARGINITINT16EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
718 #define P6AI_INT16_HEXL(arg,data) P6ARGINITINT16EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
719 #define P6AI_INT16_HEXU(arg,data) P6ARGINITINT16EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
720 
721 #define P6AI_UINT16(arg,data) P6ARGINITUINT16EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
722 #define P6AI_UINT16_HEXL(arg,data) P6ARGINITUINT16EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
723 #define P6AI_UINT16_HEXU(arg,data) P6ARGINITUINT16EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
724 
725 #define P6AI_INT32(arg,data) P6ARGINITINT32EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
726 #define P6AI_INT32_HEXL(arg,data) P6ARGINITINT32EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
727 #define P6AI_INT32_HEXU(arg,data) P6ARGINITINT32EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
728 
729 #define P6AI_UINT32(arg,data) P6ARGINITUINT32EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
730 #define P6AI_UINT32_HEXL(arg,data) P6ARGINITUINT32EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
731 #define P6AI_UINT32_HEXU(arg,data) P6ARGINITUINT32EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
732 
733 #define P6AI_INT64(arg,data) P6ARGINITINT64EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
734 #define P6AI_INT64_HEXL(arg,data) P6ARGINITINT64EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
735 #define P6AI_INT64_HEXU(arg,data) P6ARGINITINT64EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
736 
737 #define P6AI_UINT64(arg,data) P6ARGINITUINT64EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
738 #define P6AI_UINT64_HEXL(arg,data) P6ARGINITUINT64EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
739 #define P6AI_UINT64_HEXU(arg,data) P6ARGINITUINT64EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
740 
741 #define P6AI_SHORT(arg,data) P6ARGINITSHORTEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
742 #define P6AI_SHORT_HEXL(arg,data) P6ARGINITSHORTEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
743 #define P6AI_SHORT_HEXU(arg,data) P6ARGINITSHORTEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
744 
745 #define P6AI_USHORT(arg,data) P6ARGINITUSHORTEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
746 #define P6AI_USHORT_HEXL(arg,data) P6ARGINITUSHORTEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
747 #define P6AI_USHORT_HEXU(arg,data) P6ARGINITUSHORTEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
748 
749 #define P6AI_INT(arg,data) P6ARGINITINTEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
750 #define P6AI_INT_HEXL(arg,data) P6ARGINITINTEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
751 #define P6AI_INT_HEXU(arg,data) P6ARGINITINTEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
752 
753 #define P6AI_UINT(arg,data) P6ARGINITUINTEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
754 #define P6AI_UINT_HEXL(arg,data) P6ARGINITUINTEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
755 #define P6AI_UINT_HEXU(arg,data) P6ARGINITUINTEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
756 
757 #define P6AI_LONG(arg,data) P6ARGINITLONGEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
758 #define P6AI_LONG_HEXL(arg,data) P6ARGINITLONGEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
759 #define P6AI_LONG_HEXU(arg,data) P6ARGINITLONGEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
760 
761 #define P6AI_ULONG(arg,data) P6ARGINITULONGEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
762 #define P6AI_ULONG_HEXL(arg,data) P6ARGINITULONGEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
763 #define P6AI_ULONG_HEXU(arg,data) P6ARGINITULONGEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
764 
765 #define P6AI_SIZE(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
766 #define P6AI_SIZE_HEXL(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
767 #define P6AI_SIZE_HEXU(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
768 
769 #define P6AI_THREADID(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
770 #define P6AI_THREADID_HEXL(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
771 #define P6AI_THREADID_HEXU(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
772 
773 #define P6AI_FLOAT(arg,data) P6ARGINITFLOATEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
774 
775 #define P6AI_UUID(arg,data) P6ARGINITUUIDEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
776 #define P6AI_CATID(arg,data) P6ARGINITCATIDEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
777 
778 #define P6AI_ERR(arg,data) P6ARGINITERREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
779 #define P6AI_ERR_HEXL(arg,data) P6ARGINITERREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
780 #define P6AI_ERR_HEXU(arg,data) P6ARGINITERREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
781 #define P6AI_ERR_DEC(arg,data) P6ARGINITERREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
782 
783 #define P6AI_NETADDR(arg,data) P6ARGINITNETADDREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
784 #define P6AI_NETADDRPORT(arg,data) P6ARGINITNETADDREX(arg,data,P6AF_STR,0,0,P6AFL_ADDPORT,0,0)
785 
786 #define P6AI_INTERVAL(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
787 #define P6AI_INTERVAL_ISO860(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_STR,0,0,P6AFL_ISO860,0,0)
788 #define P6AI_INTERVAL_DEC(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
789 #define P6AI_INTERVAL_HEXL(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
790 #define P6AI_INTERVAL_HEXU(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
791 
792 #define P6AI_TIME(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
793 #define P6AI_TIME_ISO860(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_STR,0,0,P6AFL_ISO860,0,0)
794 #define P6AI_TIME_ISO860_LOCAL(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_STR,0,0,P6AFL_ISO860|P6AFL_LOCALTIME,0,0)
795 #define P6AI_TIME_RFC822(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_STR,0,0,P6AFL_RFC822,0,0)
796 #define P6AI_TIME_DEC(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
797 #define P6AI_TIME_HEXL(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
798 #define P6AI_TIME_HEXU(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
799 
800 #define P6AI_BSTR(arg,data) P6ARGINITBSTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
801 #define P6AI_BSTR_UPR(arg,data) P6ARGINITBSTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
802 #define P6AI_BSTR_LWR(arg,data) P6ARGINITBSTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
803 #define P6AI_BSTR_HEXSTR(arg,data) P6ARGINITBSTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
804 #define P6AI_BSTR_HEXDUMP(arg,data) P6ARGINITBSTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
805 
806 #define P6AI_BWSTR(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
807 #define P6AI_BWSTR_UPR(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
808 #define P6AI_BWSTR_LWR(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
809 #define P6AI_BWSTR_HEXSTR(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
810 #define P6AI_BWSTR_HEXDUMP(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
811 
812 #define P6AI_BCSTR(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
813 #define P6AI_BCSTR_UPR(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
814 #define P6AI_BCSTR_LWR(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
815 #define P6AI_BCSTR_HEXSTR(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
816 #define P6AI_BCSTR_HEXDUMP(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
817 
818 #define P6AI_BWCSTR(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
819 #define P6AI_BWCSTR_UPR(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
820 #define P6AI_BWCSTR_LWR(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
821 #define P6AI_BWCSTR_HEXSTR(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
822 #define P6AI_BWCSTR_HEXDUMP(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
823 
834 #define P6HEXDUMP_OFFSETSZ 11
835 #define P6HEXDUMP_ASCIISEPSZ 2
836 #define P6HEXDUMP_CHARSPERBYTE 6
845 typedef P6UINT32 P6BTFLAGS;
846 #ifndef P6_UEFI
847 const P6BTFLAGS BT_NOFLAGS = 0x00000000;
848 const P6BTFLAGS BT_ADDPATHS = 0x00000001;
849 const P6BTFLAGS BT_FMTXML = 0x00000002;
850 const P6BTFLAGS BT_FMTCSV = 0x00000004;
851 const P6BTFLAGS BT_NODEMANGLE = 0x00000008;
852 #endif /* P6_UEFI */
853 
870 typedef enum {
880 } P6DIRS;
881 
882 #ifdef P6_UEFI
883 
891 typedef P6VOID* (*P6PLATFORMALLOC)(P6SIZE cSizeInBytes);
892 
899 typedef P6VOID (*P6PLATFORMFREE)(P6VOID *pMemory);
900 
901 #endif
902 
903 
906 #ifdef __cplusplus
907 } // extern "C"
908 
912 typedef struct P6AUTO_INT32 {
914  P6AUTO_INT32() : value(0) {};
915 } P6AUTO_INT32;
916 
917 } // namespace
918 
919 
920 #ifdef P6_UEFI
921 
922 namespace std {
923  typedef int nothrow_t;
924  extern const nothrow_t nothrow; // constant for placement new tag
925 }
926 #endif
927 #endif
929 #include "p6defs.h"
930 #include "p6uefidefs.h"
931 
932 #endif
933 
Wide const binary string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:533
Wide binary string.
Definition: p6types.h:194
size_t P6SIZE
Definition: p6types.h:72
P6UUID P6CID
A component ID.
Definition: p6types.h:152
P6INT64 m_int64
Definition: p6types.h:587
P6LONGLONG P6INT64
Definition: p6types.h:56
Format as hex encoded string, converts character values to hex.
Definition: p6types.h:542
Format as a character.
Definition: p6types.h:540
P6TIME m_time
Definition: p6types.h:597
Const Binary string.
Definition: p6types.h:178
This defines where the runtime stores license files.
Definition: p6types.h:877
Format as a text string (prints a formatted UUID string for UUIDs)
Definition: p6types.h:541
unsigned char P6UCHAR
Definition: p6types.h:87
A convience structure to pass around a narrow string along with its length.
Definition: p6types.h:225
Format as hexadecimal number.
Definition: p6types.h:537
unsigned unsized integer
Definition: p6types.h:518
const P6BWSTR * m_bwstr
Definition: p6types.h:605
P6SIZE length
Length of data in bytes.
Definition: p6types.h:180
Format as a decimal number.
Definition: p6types.h:538
const P6WCHAR * m_wcharptr
Definition: p6types.h:579
unsigned int P6UINT32
Definition: p6types.h:46
The application launch directory.
Definition: p6types.h:871
P6INT16 dayOfMonth
[1 - 31]
Definition: p6types.h:249
Unsigned 64-bit integer.
Definition: p6types.h:514
short P6SHORT
Definition: p6types.h:66
P6INT16 dayOfYear
[0 - 365] days since January 1
Definition: p6types.h:253
P6ULONG m_ulong
Definition: p6types.h:594
int P6INT
Definition: p6types.h:68
P6UINT32 timeLow
(4*octet) time_low
Definition: p6types.h:142
Pointer to a P6NETADDR will print dotted quad by default.
Definition: p6types.h:527
Unsigned 32-bit integer.
Definition: p6types.h:512
unsigned char P6BOOL
Boolean type.
Definition: p6types.h:112
P6UUID P6IID
An interface ID.
Definition: p6types.h:151
P6WCHAR * P6COMSTR
Standard COM length encoded string.
Definition: p6types.h:96
P6ARGFMT m_nFormat
Specified how the argument should be renedered (see P6R::P6ARGFMT)
Definition: p6types.h:570
P6THREADID m_hThread
Definition: p6types.h:600
Format a P6THREADID.
Definition: p6types.h:529
Pointer to a wide character string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags...
Definition: p6types.h:505
Wide Const binary string.
Definition: p6types.h:210
P6INT m_int
Definition: p6types.h:591
const P6VOID * m_voidptr
Definition: p6types.h:580
Format a P6TIME as an RFC 822 date, only valid for an P6ARGTYPE of P6AT_TIME.
Definition: p6types.h:544
char P6INT8
Definition: p6types.h:37
Signed 16-bit integer.
Definition: p6types.h:509
Pointer to a P6CATID.
Definition: p6types.h:526
P6ARGFLAGS m_fFlags
See P6R::P6ARGFLAGS.
Definition: p6types.h:571
P6WCHAR m_precisionPad
The character to use to pad out to the width for wide output.
Definition: p6types.h:568
P6UINT32 P6ARGFLAGS
Definition: p6types.h:548
unsigned long P6ULONG
Definition: p6types.h:71
P6SIZE P6ATOM
Atom type see P6R::p6IAtom in p6com.h.
Definition: p6types.h:121
const P6CHAR * m_charptr
Definition: p6types.h:575
unsigned long integer
Definition: p6types.h:520
P6INT32 minutes
[0 - 59]
Definition: p6types.h:246
I18n files directory (string tables, langtag mappings etc)
Definition: p6types.h:875
signed short integer
Definition: p6types.h:515
unsigned __int64 P6ULONGLONG
Definition: p6platform.h:20
const P6CHAR * P6CSTR
Definition: p6types.h:86
P6UINT8 m_uint8
Definition: p6types.h:582
const P6BWCSTR * m_bwcstr
Definition: p6types.h:607
P6CHAR m_char
Definition: p6types.h:573
Format a P6TIME as mm/dd/yyyy hh:mm:ss.000000000 or an ISO860 or RFC822 date if the P6AFL_ISO860 or P...
Definition: p6types.h:523
Unsigned 8-bit integer.
Definition: p6types.h:508
unsigned char P6UINT8
Definition: p6types.h:36
P6INT16 m_int16
Definition: p6types.h:583
Format a P6TIME as an ISO 860 date, only valid for an P6ARGTYPE of P6AT_TIME.
Definition: p6types.h:543
P6SIZE length
Length of data in bytes.
Definition: p6types.h:166
P6INT32 value
Definition: p6types.h:913
P6UINT16 timeMid
(2*octet) time_mid
Definition: p6types.h:143
unsigned short P6USHORT
Definition: p6types.h:67
P6SIZE length
Length of data in characters.
Definition: p6types.h:227
const P6UCHAR * pString
Pointer to const data.
Definition: p6types.h:179
Format as a octal number.
Definition: p6types.h:539
Automatically generated file.
const P6BTFLAGS BT_ADDPATHS
Include module path.
Definition: p6types.h:848
Single byte unsigned character, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags...
Definition: p6types.h:502
P6INT32 m_int32
Definition: p6types.h:585
unsigned short int P6UINT16
Definition: p6types.h:40
Single wide character, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:504
struct P6R::P6AUTO_INT32 P6AUTO_INT32
Auto initializing INT32.
signed long integer
Definition: p6types.h:519
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:90
P6ARGTYPE m_nType
Type of argument (see P6R::P6ARGTYPE)
Definition: p6types.h:565
Narrow const binary string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:532
unsigned short integer
Definition: p6types.h:516
P6BOOL renders as &#39;true&#39; or &#39;false&#39;.
Definition: p6types.h:499
P6UINT32 P6BTFLAGS
Runtime API Types.
Definition: p6types.h:845
const P6BSTR * m_bstr
Definition: p6types.h:604
P6UUID P6CATID
A category ID.
Definition: p6types.h:153
A structure that is used to describe a specified time.
Definition: p6types.h:243
Signed 32-bit integer.
Definition: p6types.h:511
int P6INT32
Definition: p6types.h:47
P6UINT16 timeHighVer
(2*octet) time_high_and_version
Definition: p6types.h:144
P6INT8 m_int8
Definition: p6types.h:581
P6SHORT m_short
Definition: p6types.h:589
P6SIZET integer.
Definition: p6types.h:521
P6INT32 dstoff
Daylight saving time offset in seconds.
Definition: p6types.h:255
Signed 64-bit integer.
Definition: p6types.h:513
This defines which directory data should be written into.
Definition: p6types.h:876
P6DIRS
This enumeration defines the directories which can be retrieved using the p6GetDirectory() API...
Definition: p6types.h:870
Signed 8-bit integer.
Definition: p6types.h:507
P6WCHAR m_wchar
Definition: p6types.h:578
const P6WCHAR * P6CWSTR
Definition: p6types.h:95
const P6WCHAR * pString
Pointer to wide const string data.
Definition: p6types.h:211
Narrow binary string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:530
unsigned int P6UINT
Definition: p6types.h:69
P6UINT32 m_uint32
Definition: p6types.h:586
P6WCHAR * pString
Pointer to wide string data.
Definition: p6types.h:195
Format a P6INTERVAL as 00:00:00.000000000 or an ISO860 duration if the P6AFL_ISO860 flag is specified...
Definition: p6types.h:528
size_t P6PTRDIFF
Definition: p6types.h:61
Single byte signed character, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:500
Binary string.
Definition: p6types.h:164
P6SIZE length
Length of data in wide characters.
Definition: p6types.h:212
const P6CHAR * pString
Pointer to narrow const string data.
Definition: p6types.h:226
P6FLOAT m_float
Definition: p6types.h:596
const P6CATID * m_catid
Definition: p6types.h:602
The component directory.
Definition: p6types.h:873
long P6LONG
Definition: p6types.h:70
P6FLOAT.
Definition: p6types.h:522
Pointer to an unsigned char string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags...
Definition: p6types.h:503
The directory in which the executable that started the process is located.
Definition: p6types.h:872
const P6BTFLAGS BT_NODEMANGLE
Don&#39;t demangle symbols.
Definition: p6types.h:851
P6BOOL m_bool
Definition: p6types.h:574
Format data as a multi-line hex dump, 16 bytes/line with leading offset, hexdata, followed by ascii...
Definition: p6types.h:545
P6UINT8 P6BYTE
Definition: p6types.h:38
P6ULONGLONG P6UINT64
Definition: p6types.h:55
A universally unique indentifier (UUID).
Definition: p6types.h:141
P6SIZE m_sizet
Definition: p6types.h:595
const P6UCHAR * m_ucharptr
Definition: p6types.h:577
Auto initializing INT32.
Definition: p6types.h:912
The config directory.
Definition: p6types.h:874
Converts the specified P6ERR to it&#39;s string representation.
Definition: p6types.h:524
P6USHORT m_ushort
Definition: p6types.h:590
P6UINT64 m_uint64
Definition: p6types.h:588
P6INT32 tzoff
Offset from GMT in seconds.
Definition: p6types.h:254
P6WCHAR * P6WSTR
Definition: p6types.h:94
P6INT32 seconds
[0 - 61] where the values 60 and 61 are for accommodating up to two leap seconds. ...
Definition: p6types.h:245
P6UINT32 P6ERR
COM err return type see P6ERR.h.
Definition: p6types.h:120
signed unsized integer
Definition: p6types.h:517
short int P6INT16
Definition: p6types.h:41
P6ERR m_err
Definition: p6types.h:598
Generic VOID Pointer.
Definition: p6types.h:506
P6LONG m_long
Definition: p6types.h:593
P6CHAR * P6STR
Definition: p6types.h:85
P6INT32 year
Absolute year.
Definition: p6types.h:250
const P6BCSTR * m_bcstr
Definition: p6types.h:606
Pointer to a signed char string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags...
Definition: p6types.h:501
P6UINT16 m_uint16
Definition: p6types.h:584
const P6BTFLAGS BT_NOFLAGS
Definition: p6types.h:847
P6UINT m_uint
Definition: p6types.h:592
P6WCHAR m_fieldPad
The character to use to pad out to the width for wide output.
Definition: p6types.h:569
__int64 P6LONGLONG
Definition: p6platform.h:19
P6INT64 P6TIME
The wallclock time represented as the number of microseconds since midnight January 1 1970 UTC...
Definition: p6types.h:238
P6INTERVAL m_tInterval
Definition: p6types.h:599
Unsigned 16-bit integer.
Definition: p6types.h:510
Wide binary string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:531
double P6FLOAT
Definition: p6types.h:74
P6INT16 dayOfWeek
[0 - 6] where 0 == Sunday
Definition: p6types.h:252
P6UCHAR * pString
Pointer to data.
Definition: p6types.h:165
P6ARGFMT
Definition: p6types.h:536
P6SIZE length
Length of data in wide characters.
Definition: p6types.h:196
Pointer to a UUID.
Definition: p6types.h:525
P6UINT16 m_fieldWidth
Controls the minimum width of the regedered argument.
Definition: p6types.h:566
P6UCHAR m_uchar
Definition: p6types.h:576
const P6BTFLAGS BT_FMTXML
Output format XML (no xml tag)
Definition: p6types.h:849
const P6BTFLAGS BT_FMTCSV
Output format comma separated.
Definition: p6types.h:850
void P6VOID
Definition: p6types.h:88
P6ARGTYPE
P6ARG Argument types.
Definition: p6types.h:498
const P6UUID * m_uuid
Definition: p6types.h:601
P6INT16 month
[0 - 11] where 0 == January
Definition: p6types.h:248
const P6NETADDR * m_netAddr
Definition: p6types.h:603
P6INT32 useconds
[0 - 999999] Microseconds past seconds
Definition: p6types.h:244
The directory containing log files.
Definition: p6types.h:878
P6INT16 m_precision
Contols precision of numeric output types.
Definition: p6types.h:567
char P6CHAR
Narrow character type.
Definition: p6types.h:84
P6INT32 hour
[0 - 23] 24 hour clock
Definition: p6types.h:247