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 P6PROCESSID;
317 typedef P6SIZE P6THREADID;
318 #define P6INVALID_THREADID 0
319 
325 #define P6MAXTHREADNAME 24
326 
332 #define P6MAXTHREADSTATENAME 24
333 
338 typedef enum {
339  P6TP_LOWEST,
340  P6TP_NORMAL,
341  P6TP_ELAVATED,
342  P6TP_HIGHEST,
343  P6TP_MAX
344 } P6THREADPRIORITY;
345 
352 typedef struct {
353  P6THREADID hThread;
354  P6TIME tStart;
355  P6WCHAR szwName[P6MAXTHREADNAME];
356  P6WCHAR szwState[P6MAXTHREADSTATENAME];
357  P6TIME tLastState;
358  P6THREADPRIORITY priority;
359 } P6THREADINFO;
360 
361 
362 typedef enum {
363  P6AF_INET = 1,
364  P6AF_INET6= 2,
365  P6AF_MAX
366 } P6ADDRFAM;
367 
372 typedef struct {
373  union {
374  P6UINT8 u8[4];
375  P6UINT16 u16[2];
376  P6UINT32 u32;
377  } u;
378 } IPV4ADDR;
379 
384 typedef struct {
385  union {
386  P6UINT8 u8[16];
387  P6UINT16 u16[8];
388  P6UINT32 u32[4];
389  } u;
390 } IPV6ADDR;
391 
396 typedef union {
397  struct {
398  P6ADDRFAM family;
399  P6UINT16 port;
400  IPV4ADDR ip;
401  } inet;
402  struct {
403  P6ADDRFAM family;
404  P6UINT16 port;
405  P6UINT32 flowinfo;
406  IPV6ADDR ip;
407  P6UINT32 scope_id;
408  } inet6;
409 } P6NETADDR;
410 
411 
415 typedef struct {
416  P6INT32 major;
417  P6INT32 minor;
418  P6INT32 patch;
419  P6INT32 build;
420 } P6VERSION;
421 
422 typedef P6UINT32 BUILDFLAGS;
423 #ifndef P6_UEFI
424 static const BUILDFLAGS P6BF_NONE = 0x00000000;
425 static const BUILDFLAGS P6BF_DEBUG = 0x00000001;
426 static const BUILDFLAGS P6BF_RETAIL = 0x00000002;
427 static const BUILDFLAGS P6BF_ALPHA = 0x00000004;
428 static const BUILDFLAGS P6BF_BETA = 0x00000008;
429 static const BUILDFLAGS P6BF_RELEASE = 0x00000010;
430 static const BUILDFLAGS P6BF_INTERNAL = 0x00000020;
431 static const BUILDFLAGS P6BF_LOADER = 0x00000100;
433 static const BUILDFLAGS P6BF_BUILDMODE_MASK = 0x00000003;
434 static const BUILDFLAGS P6BF_RELEASETYPE_MASK= 0x0000003c;
435 #endif /* P6_UEFI */
436 
437 typedef P6UINT32 VERMAGIC;
438 #ifndef P6_UEFI
439 static const VERMAGIC P6VI_MAGIC1 = 0x18436572;
440 static const VERMAGIC P6VI_MAGIC2 = 0x011951dc;
441 #endif /* P6_UEFI */
442 
443 typedef struct {
444  VERMAGIC magic1;
445  VERMAGIC magic2;
446  P6VERSION productver;
447  P6VERSION filever;
448  BUILDFLAGS flags;
449  const P6CHAR *pcszLocale;
450  const P6WCHAR *pszwProductName;
451  const P6WCHAR *pszwCopyright;
452  const P6WCHAR *pszwModuleDesc;
453  const P6WCHAR *pszwBuildNotes;
454 } P6VERINFO;
455 
456 typedef enum {
457  VER_PRODUCT,
458  VER_FILE
459 } VERFIELDS;
460 
461 typedef enum {
462  VER_PRODNAME,
463  VER_COPYRIGHT,
464  VER_MODDESC,
465  VER_NOTES
466 } VERSTRFIELDS;
468 
472 #define P6MAX_LOCALE_LEN 64
473 
474 
479 #define P6SAFESTR_MAX_CCH 2147483647
480 
500 typedef enum {
536 } P6ARGTYPE;
537 
538 typedef enum {
548 } P6ARGFMT;
549 
550 typedef P6UINT32 P6ARGFLAGS;
551 static const P6ARGFLAGS P6AFL_NOFLAGS = 0x00000000;
552 static const P6ARGFLAGS P6AFL_LEFTALIGN = 0x00000001;
553 static const P6ARGFLAGS P6AFL_CENTER = 0x00000002;
554 static const P6ARGFLAGS P6AFL_SIGN = 0x00000004;
555 static const P6ARGFLAGS P6AFL_ADDPORT = 0x00000008;
556 static const P6ARGFLAGS P6AFL_ISO860 = 0x00000010;
557 static const P6ARGFLAGS P6AFL_RFC822 = 0x00000020;
558 static const P6ARGFLAGS P6AFL_LOCALTIME = 0x00000040;
559 static const P6ARGFLAGS P6AFL_TRUNCATE = 0x00000080;
560 static const P6ARGFLAGS P6AFL_UPPERCASE = 0x00000100;
561 static const P6ARGFLAGS P6AFL_LOWERCASE = 0x00000200;
566 typedef struct {
568  P6UINT16 m_fieldWidth;
569  P6INT16 m_precision;
570  P6WCHAR m_precisionPad;
571  P6WCHAR m_fieldPad;
573  P6ARGFLAGS m_fFlags;
574  union {
575  P6CHAR m_char;
576  P6BOOL m_bool;
577  const P6CHAR *m_charptr;
578  P6UCHAR m_uchar;
579  const P6UCHAR *m_ucharptr;
580  P6WCHAR m_wchar;
581  const P6WCHAR *m_wcharptr;
582  const P6VOID *m_voidptr;
583  P6INT8 m_int8;
584  P6UINT8 m_uint8;
585  P6INT16 m_int16;
586  P6UINT16 m_uint16;
587  P6INT32 m_int32;
588  P6UINT32 m_uint32;
589  P6INT64 m_int64;
590  P6UINT64 m_uint64;
591  P6SHORT m_short;
592  P6USHORT m_ushort;
593  P6INT m_int;
594  P6UINT m_uint;
595  P6LONG m_long;
596  P6ULONG m_ulong;
597  P6SIZE m_sizet;
598  P6FLOAT m_float;
599  P6TIME m_time;
600  P6ERR m_err;
601  P6INTERVAL m_tInterval;
602  P6THREADID m_hThread;
603  const P6UUID *m_uuid;
604  const P6CATID *m_catid;
605  const P6NETADDR *m_netAddr;
606  const P6BSTR *m_bstr;
607  const P6BWSTR *m_bwstr;
608  const P6BCSTR *m_bcstr;
610  } u;
611 } P6ARG;
612 
613 
614  #define P6ARGINPLACE_INIT(type,fieldWidth,precision,precisionPad,fieldPad,format,flags,data) \
615  {(type),(fieldWidth),(precision),(precisionPad),(fieldPad),(format),(flags),{(data)}}
616 
617 #define P6ARGINIT(arg,nType,fmt,fieldWidth,precision,flags,fieldPad,precisionPad) \
618 (arg)->m_nType = (nType); \
619 (arg)->m_fieldWidth = (fieldWidth); \
620 (arg)->m_precision = (precision); \
621 (arg)->m_precisionPad = (precisionPad); \
622 (arg)->m_fieldPad = (fieldPad); \
623 (arg)->m_fFlags = (flags); \
624 (arg)->m_nFormat = (fmt); \
625 (arg)->u.m_uint64 = P6I64(0)
626 
627 #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)
628 #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)
629 #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)
630 #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)
631 #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)
632 #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)
633 #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)
634 #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)
635 #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)
636 #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)
637 #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)
638 #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)
639 #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)
640 #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)
641 #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)
642 #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)
643 #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)
644 #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)
645 #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)
646 #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)
647 #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)
648 #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)
649 #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)
650 #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)
651 #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)
652 #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)
653 #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)
654 #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)
655 #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)
656 #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)
657 #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)
658 #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)
659 #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)
660 #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)
661 
662 #define P6AI_BOOL(arg,data) P6ARGINITBOOLEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
663 #define P6AI_BOOL_HEXL(arg,data) P6ARGINITBOOLEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
664 #define P6AI_BOOL_HEXU(arg,data) P6ARGINITBOOLEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
665 #define P6AI_BOOL_DEC(arg,data) P6ARGINITBOOLEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
666 
667 #define P6AI_CHAR(arg,data) P6ARGINITCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_NOFLAGS,0,0)
668 #define P6AI_CHAR_HEXL(arg,data) P6ARGINITCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
669 #define P6AI_CHAR_HEXU(arg,data) P6ARGINITCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
670 #define P6AI_CHAR_DEC(arg,data) P6ARGINITCHAREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
671 #define P6AI_CHAR_OCT(arg,data) P6ARGINITCHAREX(arg,data,P6AF_OCT,0,0,P6AFL_NOFLAGS,0,0)
672 #define P6AI_CHAR_UPR(arg,data) P6ARGINITCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_UPPERCASE,0,0)
673 #define P6AI_CHAR_LWR(arg,data) P6ARGINITCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_LOWERCASE,0,0)
674 
675 #define P6AI_CHARPTR(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
676 #define P6AI_CHARPTR_HEXL(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
677 #define P6AI_CHARPTR_HEXU(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
678 #define P6AI_CHARPTR_DEC(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
679 #define P6AI_CHARPTR_UPR(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
680 #define P6AI_CHARPTR_LWR(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
681 #define P6AI_CHARPTR_HEXSTR(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
682 #define P6AI_CHARPTR_HEXDUMP(arg,data) P6ARGINITCHARPTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
683 
684 #define P6AI_UCHAR(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_NOFLAGS,0,0)
685 #define P6AI_UCHAR_HEXL(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
686 #define P6AI_UCHAR_HEXU(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
687 #define P6AI_UCHAR_DEC(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
688 #define P6AI_UCHAR_OCT(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_OCT,0,0,P6AFL_NOFLAGS,0,0)
689 #define P6AI_UCHAR_UPR(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_UPPERCASE,0,0)
690 #define P6AI_UCHAR_LWR(arg,data) P6ARGINITUCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_LOWERCASE,0,0)
691 
692 #define P6AI_WCHAR(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_NOFLAGS,0,0)
693 #define P6AI_WCHAR_HEXL(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
694 #define P6AI_WCHAR_HEXU(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
695 #define P6AI_WCHAR_DEC(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
696 #define P6AI_WCHAR_UPR(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_UPPERCASE,0,0)
697 #define P6AI_WCHAR_LWR(arg,data) P6ARGINITWCHAREX(arg,data,P6AF_CHAR,0,0,P6AFL_LOWERCASE,0,0)
698 
699 #define P6AI_WCHARPTR(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
700 #define P6AI_WCHARPTR_HEXL(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
701 #define P6AI_WCHARPTR_HEXU(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
702 #define P6AI_WCHARPTR_DEC(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
703 #define P6AI_WCHARPTR_UPR(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
704 #define P6AI_WCHARPTR_LWR(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
705 #define P6AI_WCHARPTR_HEXSTR(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
706 #define P6AI_WCHARPTR_HEXDUMP(arg,data) P6ARGINITWCHARPTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
707 
708 #define P6AI_PTR(arg,data) P6ARGINITPTREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
709 #define P6AI_PTR_DEC(arg,data) P6ARGINITPTREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
710 
711 #define P6AI_INT8(arg,data) P6ARGINITINT8EX(atg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
712 #define P6AI_INT8_HEXL(arg,data) P6ARGINITINT8EX(atg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
713 #define P6AI_INT8_HEXU(arg,data) P6ARGINITINT8EX(atg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
714 
715 #define P6AI_UINT8(arg,data) P6ARGINITUINT8EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
716 #define P6AI_UINT8_HEXL(arg,data) P6ARGINITUINT8EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
717 #define P6AI_UINT8_HEXU(arg,data) P6ARGINITUINT8EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
718 
719 #define P6AI_INT16(arg,data) P6ARGINITINT16EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
720 #define P6AI_INT16_HEXL(arg,data) P6ARGINITINT16EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
721 #define P6AI_INT16_HEXU(arg,data) P6ARGINITINT16EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
722 
723 #define P6AI_UINT16(arg,data) P6ARGINITUINT16EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
724 #define P6AI_UINT16_HEXL(arg,data) P6ARGINITUINT16EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
725 #define P6AI_UINT16_HEXU(arg,data) P6ARGINITUINT16EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
726 
727 #define P6AI_INT32(arg,data) P6ARGINITINT32EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
728 #define P6AI_INT32_HEXL(arg,data) P6ARGINITINT32EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
729 #define P6AI_INT32_HEXU(arg,data) P6ARGINITINT32EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
730 
731 #define P6AI_UINT32(arg,data) P6ARGINITUINT32EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
732 #define P6AI_UINT32_HEXL(arg,data) P6ARGINITUINT32EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
733 #define P6AI_UINT32_HEXU(arg,data) P6ARGINITUINT32EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
734 
735 #define P6AI_INT64(arg,data) P6ARGINITINT64EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
736 #define P6AI_INT64_HEXL(arg,data) P6ARGINITINT64EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
737 #define P6AI_INT64_HEXU(arg,data) P6ARGINITINT64EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
738 
739 #define P6AI_UINT64(arg,data) P6ARGINITUINT64EX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
740 #define P6AI_UINT64_HEXL(arg,data) P6ARGINITUINT64EX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
741 #define P6AI_UINT64_HEXU(arg,data) P6ARGINITUINT64EX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
742 
743 #define P6AI_SHORT(arg,data) P6ARGINITSHORTEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
744 #define P6AI_SHORT_HEXL(arg,data) P6ARGINITSHORTEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
745 #define P6AI_SHORT_HEXU(arg,data) P6ARGINITSHORTEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
746 
747 #define P6AI_USHORT(arg,data) P6ARGINITUSHORTEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
748 #define P6AI_USHORT_HEXL(arg,data) P6ARGINITUSHORTEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
749 #define P6AI_USHORT_HEXU(arg,data) P6ARGINITUSHORTEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
750 
751 #define P6AI_INT(arg,data) P6ARGINITINTEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
752 #define P6AI_INT_HEXL(arg,data) P6ARGINITINTEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
753 #define P6AI_INT_HEXU(arg,data) P6ARGINITINTEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
754 
755 #define P6AI_UINT(arg,data) P6ARGINITUINTEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
756 #define P6AI_UINT_HEXL(arg,data) P6ARGINITUINTEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
757 #define P6AI_UINT_HEXU(arg,data) P6ARGINITUINTEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
758 
759 #define P6AI_LONG(arg,data) P6ARGINITLONGEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
760 #define P6AI_LONG_HEXL(arg,data) P6ARGINITLONGEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
761 #define P6AI_LONG_HEXU(arg,data) P6ARGINITLONGEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
762 
763 #define P6AI_ULONG(arg,data) P6ARGINITULONGEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
764 #define P6AI_ULONG_HEXL(arg,data) P6ARGINITULONGEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
765 #define P6AI_ULONG_HEXU(arg,data) P6ARGINITULONGEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
766 
767 #define P6AI_SIZE(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
768 #define P6AI_SIZE_HEXL(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
769 #define P6AI_SIZE_HEXU(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
770 
771 #define P6AI_THREADID(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
772 #define P6AI_THREADID_HEXL(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
773 #define P6AI_THREADID_HEXU(arg,data) P6ARGINITSIZEEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
774 
775 #define P6AI_FLOAT(arg,data) P6ARGINITFLOATEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
776 
777 #define P6AI_UUID(arg,data) P6ARGINITUUIDEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
778 #define P6AI_CATID(arg,data) P6ARGINITCATIDEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
779 
780 #define P6AI_ERR(arg,data) P6ARGINITERREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
781 #define P6AI_ERR_HEXL(arg,data) P6ARGINITERREX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
782 #define P6AI_ERR_HEXU(arg,data) P6ARGINITERREX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
783 #define P6AI_ERR_DEC(arg,data) P6ARGINITERREX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
784 
785 #define P6AI_NETADDR(arg,data) P6ARGINITNETADDREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
786 #define P6AI_NETADDRPORT(arg,data) P6ARGINITNETADDREX(arg,data,P6AF_STR,0,0,P6AFL_ADDPORT,0,0)
787 
788 #define P6AI_INTERVAL(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
789 #define P6AI_INTERVAL_ISO860(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_STR,0,0,P6AFL_ISO860,0,0)
790 #define P6AI_INTERVAL_DEC(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
791 #define P6AI_INTERVAL_HEXL(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
792 #define P6AI_INTERVAL_HEXU(arg,data) P6ARGINITINTERVALEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
793 
794 #define P6AI_TIME(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
795 #define P6AI_TIME_ISO860(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_STR,0,0,P6AFL_ISO860,0,0)
796 #define P6AI_TIME_ISO860_LOCAL(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_STR,0,0,P6AFL_ISO860|P6AFL_LOCALTIME,0,0)
797 #define P6AI_TIME_RFC822(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_STR,0,0,P6AFL_RFC822,0,0)
798 #define P6AI_TIME_DEC(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_DEC,0,0,P6AFL_NOFLAGS,0,0)
799 #define P6AI_TIME_HEXL(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_HEX,0,0,P6AFL_LOWERCASE,0,0)
800 #define P6AI_TIME_HEXU(arg,data) P6ARGINITTIMEEX(arg,data,P6AF_HEX,0,0,P6AFL_UPPERCASE,0,0)
801 
802 #define P6AI_BSTR(arg,data) P6ARGINITBSTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
803 #define P6AI_BSTR_UPR(arg,data) P6ARGINITBSTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
804 #define P6AI_BSTR_LWR(arg,data) P6ARGINITBSTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
805 #define P6AI_BSTR_HEXSTR(arg,data) P6ARGINITBSTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
806 #define P6AI_BSTR_HEXDUMP(arg,data) P6ARGINITBSTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
807 
808 #define P6AI_BWSTR(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
809 #define P6AI_BWSTR_UPR(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
810 #define P6AI_BWSTR_LWR(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
811 #define P6AI_BWSTR_HEXSTR(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
812 #define P6AI_BWSTR_HEXDUMP(arg,data) P6ARGINITBWSTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
813 
814 #define P6AI_BCSTR(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
815 #define P6AI_BCSTR_UPR(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
816 #define P6AI_BCSTR_LWR(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
817 #define P6AI_BCSTR_HEXSTR(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
818 #define P6AI_BCSTR_HEXDUMP(arg,data) P6ARGINITBCSTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
819 
820 #define P6AI_BWCSTR(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_STR,0,0,P6AFL_NOFLAGS,0,0)
821 #define P6AI_BWCSTR_UPR(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_STR,0,0,P6AFL_UPPERCASE,0,0)
822 #define P6AI_BWCSTR_LWR(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_STR,0,0,P6AFL_LOWERCASE,0,0)
823 #define P6AI_BWCSTR_HEXSTR(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_HEXSTR,0,0,P6AFL_LOWERCASE,0,0)
824 #define P6AI_BWCSTR_HEXDUMP(arg,data) P6ARGINITBWCSTREX(arg,data,P6AF_HEXDUMP,0,0,P6AFL_NOFLAGS,0,0)
825 
836 #define P6HEXDUMP_OFFSETSZ 11
837 #define P6HEXDUMP_ASCIISEPSZ 2
838 #define P6HEXDUMP_CHARSPERBYTE 6
847 typedef P6UINT32 P6BTFLAGS;
848 #ifndef P6_UEFI
849 static const P6BTFLAGS BT_NOFLAGS = 0x00000000;
850 static const P6BTFLAGS BT_ADDPATHS = 0x00000001;
851 static const P6BTFLAGS BT_FMTXML = 0x00000002;
852 static const P6BTFLAGS BT_FMTCSV = 0x00000004;
853 static const P6BTFLAGS BT_NODEMANGLE = 0x00000008;
854 #endif /* P6_UEFI */
855 
872 typedef enum {
882 } P6DIRS;
883 
884 #ifdef P6_UEFI
885 
893 typedef P6VOID* (*P6PLATFORMALLOC)(P6SIZE cSizeInBytes);
894 
901 typedef P6VOID (*P6PLATFORMFREE)(P6VOID *pMemory);
902 
903 #endif
904 
905 
908 #ifdef __cplusplus
909 } // extern "C"
910 
914 typedef struct P6AUTO_INT32 {
916  P6AUTO_INT32() : value(0) {};
917 } P6AUTO_INT32;
918 
919 } // namespace
920 
921 
922 #ifdef P6_UEFI
923 
924 namespace std {
925  typedef int nothrow_t;
926  extern const nothrow_t nothrow; // constant for placement new tag
927 }
928 #endif
929 #endif
931 #include "p6defs.h"
932 #ifdef P6_UEFI
933 #include "p6uefidefs.h"
934 #endif
935 
936 #endif
937 
Wide const binary string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:535
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:589
P6LONGLONG P6INT64
Definition: p6types.h:56
Format as hex encoded string, converts character values to hex.
Definition: p6types.h:544
Format as a character.
Definition: p6types.h:542
P6TIME m_time
Definition: p6types.h:599
Const Binary string.
Definition: p6types.h:178
This defines where the runtime stores license files.
Definition: p6types.h:879
Format as a text string (prints a formatted UUID string for UUIDs)
Definition: p6types.h:543
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:539
unsigned unsized integer
Definition: p6types.h:520
const P6BWSTR * m_bwstr
Definition: p6types.h:607
P6SIZE length
Length of data in bytes.
Definition: p6types.h:180
Format as a decimal number.
Definition: p6types.h:540
const P6WCHAR * m_wcharptr
Definition: p6types.h:581
unsigned int P6UINT32
Definition: p6types.h:46
The &quot;current&quot; working directory.
Definition: p6types.h:873
P6INT16 dayOfMonth
[1 - 31]
Definition: p6types.h:249
Unsigned 64-bit integer.
Definition: p6types.h:516
short P6SHORT
Definition: p6types.h:66
P6INT16 dayOfYear
[0 - 365] days since January 1
Definition: p6types.h:253
P6ULONG m_ulong
Definition: p6types.h:596
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:529
Unsigned 32-bit integer.
Definition: p6types.h:514
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:572
P6THREADID m_hThread
Definition: p6types.h:602
Format a P6THREADID.
Definition: p6types.h:531
Pointer to a wide character string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags...
Definition: p6types.h:507
Wide Const binary string.
Definition: p6types.h:210
P6INT m_int
Definition: p6types.h:593
const P6VOID * m_voidptr
Definition: p6types.h:582
Format a P6TIME as an RFC 822 date, only valid for an P6ARGTYPE of P6AT_TIME.
Definition: p6types.h:546
char P6INT8
Definition: p6types.h:37
Signed 16-bit integer.
Definition: p6types.h:511
Pointer to a P6CATID.
Definition: p6types.h:528
P6ARGFLAGS m_fFlags
See P6R::P6ARGFLAGS.
Definition: p6types.h:573
P6WCHAR m_precisionPad
The character to use to pad out to the width for wide output.
Definition: p6types.h:570
P6UINT32 P6ARGFLAGS
Definition: p6types.h:550
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:577
unsigned long integer
Definition: p6types.h:522
P6INT32 minutes
[0 - 59]
Definition: p6types.h:246
I18n files directory (string tables, langtag mappings etc)
Definition: p6types.h:877
signed short integer
Definition: p6types.h:517
unsigned __int64 P6ULONGLONG
Definition: p6platform.h:20
const P6CHAR * P6CSTR
Definition: p6types.h:86
P6UINT8 m_uint8
Definition: p6types.h:584
const P6BWCSTR * m_bwcstr
Definition: p6types.h:609
P6CHAR m_char
Definition: p6types.h:575
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:525
Unsigned 8-bit integer.
Definition: p6types.h:510
unsigned char P6UINT8
Definition: p6types.h:36
P6INT16 m_int16
Definition: p6types.h:585
Format a P6TIME as an ISO 860 date, only valid for an P6ARGTYPE of P6AT_TIME.
Definition: p6types.h:545
P6SIZE length
Length of data in bytes.
Definition: p6types.h:166
P6INT32 value
Definition: p6types.h:915
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:541
Automatically generated file.
Single byte unsigned character, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags...
Definition: p6types.h:504
P6INT32 m_int32
Definition: p6types.h:587
unsigned short int P6UINT16
Definition: p6types.h:40
Single wide character, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:506
struct P6R::P6AUTO_INT32 P6AUTO_INT32
Auto initializing INT32.
signed long integer
Definition: p6types.h:521
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:567
Narrow const binary string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:534
unsigned short integer
Definition: p6types.h:518
P6BOOL renders as &#39;true&#39; or &#39;false&#39;.
Definition: p6types.h:501
P6UINT32 P6BTFLAGS
Runtime API Types.
Definition: p6types.h:847
const P6BSTR * m_bstr
Definition: p6types.h:606
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:513
int P6INT32
Definition: p6types.h:47
P6UINT16 timeHighVer
(2*octet) time_high_and_version
Definition: p6types.h:144
P6INT8 m_int8
Definition: p6types.h:583
P6SHORT m_short
Definition: p6types.h:591
P6SIZET integer.
Definition: p6types.h:523
P6INT32 dstoff
Daylight saving time offset in seconds.
Definition: p6types.h:255
Signed 64-bit integer.
Definition: p6types.h:515
This defines which directory data should be written into.
Definition: p6types.h:878
P6DIRS
This enumeration defines the directories which can be retrieved using the p6GetDirectory() API...
Definition: p6types.h:872
Signed 8-bit integer.
Definition: p6types.h:509
P6WCHAR m_wchar
Definition: p6types.h:580
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:532
unsigned int P6UINT
Definition: p6types.h:69
P6UINT32 m_uint32
Definition: p6types.h:588
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:530
size_t P6PTRDIFF
Definition: p6types.h:61
Single byte signed character, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:502
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:598
const P6CATID * m_catid
Definition: p6types.h:604
The component directory.
Definition: p6types.h:875
long P6LONG
Definition: p6types.h:70
P6FLOAT.
Definition: p6types.h:524
Pointer to an unsigned char string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags...
Definition: p6types.h:505
The directory in which the executable that started the process is located.
Definition: p6types.h:874
P6BOOL m_bool
Definition: p6types.h:576
Format data as a multi-line hex dump, 16 bytes/line with leading offset, hexdata, followed by ascii...
Definition: p6types.h:547
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:597
const P6UCHAR * m_ucharptr
Definition: p6types.h:579
Auto initializing INT32.
Definition: p6types.h:914
The config directory.
Definition: p6types.h:876
Converts the specified P6ERR to it&#39;s string representation.
Definition: p6types.h:526
P6USHORT m_ushort
Definition: p6types.h:592
P6UINT64 m_uint64
Definition: p6types.h:590
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:519
short int P6INT16
Definition: p6types.h:41
P6ERR m_err
Definition: p6types.h:600
Generic VOID Pointer.
Definition: p6types.h:508
P6LONG m_long
Definition: p6types.h:595
P6CHAR * P6STR
Definition: p6types.h:85
P6INT32 year
Absolute year.
Definition: p6types.h:250
const P6BCSTR * m_bcstr
Definition: p6types.h:608
Pointer to a signed char string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags...
Definition: p6types.h:503
P6UINT16 m_uint16
Definition: p6types.h:586
P6UINT m_uint
Definition: p6types.h:594
P6WCHAR m_fieldPad
The character to use to pad out to the width for wide output.
Definition: p6types.h:571
__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:601
Unsigned 16-bit integer.
Definition: p6types.h:512
Wide binary string, transform based on P6AFL_UPPERCASE/P6AFL_LOWERCASE flags.
Definition: p6types.h:533
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:538
P6SIZE length
Length of data in wide characters.
Definition: p6types.h:196
Pointer to a UUID.
Definition: p6types.h:527
P6UINT16 m_fieldWidth
Controls the minimum width of the regedered argument.
Definition: p6types.h:568
P6UCHAR m_uchar
Definition: p6types.h:578
void P6VOID
Definition: p6types.h:88
P6ARGTYPE
P6ARG Argument types.
Definition: p6types.h:500
const P6UUID * m_uuid
Definition: p6types.h:603
P6INT16 month
[0 - 11] where 0 == January
Definition: p6types.h:248
const P6NETADDR * m_netAddr
Definition: p6types.h:605
P6INT32 useconds
[0 - 999999] Microseconds past seconds
Definition: p6types.h:244
The directory containing log files.
Definition: p6types.h:880
P6INT16 m_precision
Contols precision of numeric output types.
Definition: p6types.h:569
char P6CHAR
Narrow character type.
Definition: p6types.h:84
P6INT32 hour
[0 - 23] 24 hour clock
Definition: p6types.h:247