13 #ifndef P6RUNTIMEIF_H__
14 #define P6RUNTIMEIF_H__ 1
31 #define P6INVALIDATOM (P6R::P6ATOM)0
40 interface p6IAtom : p6ICom
83 #define IF_p6IAtom {0x32804623,0x1DCD,0x4103,{0xB2,0x30,0x4A,0xCE,0x1F,0x2B,0xC6,0x5F}}
93 interface p6IEnumCategories : p6ICom
124 #define IF_p6IEnumCategories {0x0BE1E15B,0xF964,0x4be4,{0x8E,0x71,0xA3,0xE2,0x98,0xA2,0xD5,0x35}}
131 interface p6IEnumCategoryComponents : p6ICom
162 #define IF_p6IEnumCategoryComponents {0xACD65F14,0xD83E,0x4cb2,{0x8C,0x8A,0x38,0x47,0x11,0x84,0x8F,0x7A}}
191 interface p6ICategoryMgr : p6ICom
216 P6COMMETHOD enumCategories(p6IEnumCategories **ppEnum) = 0;
232 P6COMMETHOD enumCategoryComponents(
const P6R::CATID& catid,P6R::p6IEnumCategoryComponents **ppEnum) = 0;
234 #define IF_p6ICategoryMgr {0x40768F08,0x4107,0x42ca,{0x9D,0x73,0x8B,0x1E,0xCD,0x03,0xCD,0x62}}
249 interface p6IComponentMgr : p6ICom
289 #define IF_p6IComponentMgr {0x17e66188, 0xf9ae, 0x437e, {0xac, 0x8b, 0xbf, 0x73, 0xa8, 0xa7, 0x28, 0x96}}
309 #define MAX_SERVICE_NAME 32
325 interface p6IEnumServices : p6ICom
365 interface p6IEnvironment : p6ICom
406 #define IF_p6IEnvironment {0x485d6b1e,0xa081,0x45b7,{0xaf,0x2a,0x52,0xf,0x52,0x81,0x28,0xc4}}
415 #define P6MAX_EVENTID_LEN 128
429 interface p6IEventMgr : p6ICom
471 #define IF_p6IEventMgr {0xF2F9C170,0xA926,0x4864,{0x83,0x32,0xFE,0xA7,0xE4,0xBE,0xEB,0x0A}}
478 interface p6IServer : p6ICom
500 #define IF_p6IServer {0x0E94A85F,0x1C97,0x4036,{0xB4,0xF7,0x96,0x3B,0x33,0x50,0x9B,0x09}}
511 interface p6IRunningIface : p6ICom
574 #define IF_p6IRunningIface {0x393A85DF,0x7442,0x43ab,{0xA7,0xC7,0x52,0xD9,0x6C,0x53,0x47,0x12}}
2745 #define IF_p6ISafeString {0x1B77B8F2,0x9FBC,0x4d90,{0x9B,0x1F,0x21,0x1D,0xA2,0x4C,0xD8,0x23}}
2759 interface p6ISystemInfo : p6ICom
2868 #define IF_p6ISystemInfo {0x56084D40,0x9165,0x42DF,{0x84,0x25,0x0B,0x33,0xE9,0x1D,0x9A,0xEF}}
2944 #define IF_p6IConsole {0xBA6864AD,0x935F,0x4C14,{0xAB,0xFC,0x3C,0xA6,0xC5,0xCB,0x2D,0xE5}}
2948 interface p6IMarshalData : p6ICom
2960 #define IF_p6IMarshalData {0xCD8CECEA,0xDDE2,0x4F44,{0x80,0x02,0x56,0xB9,0x06,0x64,0xE0,0x79}}
3167 #define IF_p6INetHelpers {0x464F74EE,0x0D93,0x4ee9,{0x9E,0x5E,0x13,0xEE,0x0C,0x94,0xB5,0x3D}}
virtual P6R::P6ERR net2hll(P6R::P6UINT64 nNetLong, P6R::P6UINT64 *pHostLong)=0
This method is used convert a P6UINT64 from network byte-order into host byte-order.
virtual P6R::P6ERR wstrrchr(const P6R::P6WCHAR *pszSearchIn, P6R::P6INT16 c, P6R::P6SIZE cchMax, P6R::P6WCHAR **ppRetPtr)=0
Finds the last occurance of c in the wide character string pszSearchIn.
virtual P6R::P6ERR bstrsep(P6R::P6BCSTR *pbcsSearchIn, const P6R::P6BCSTR *pbsDelimiters, P6R::P6BCSTR *pbcsToken)=0
Extracts a the first token from a string described by a P6BCSTR, where the tokens are delimited by th...
virtual P6R::P6ERR netAddrToStr(const P6R::P6NETADDR *pAddr, P6R::P6CHAR *pBuffer, P6R::P6UINT32 cBuffer, P6R::P6UINT32 *pcBuffer, P6R::P6BOOL bAddPort)=0
Converts a P6NETADDR struct into a character string representation of the specified address...
virtual P6R::P6ERR bstrupr(P6R::P6BSTR *pbsStr)=0
Converts the specified P6BSTR to uppercase in-place.
Provides very basic, thread safe access to the console, allowing the console to be read from and writ...
virtual P6R::P6ERR wStrToNetAddr(const P6R::P6WCHAR *pwszAddr, P6R::P6NETADDR *pAddr)=0
This method is used to convert a wide character IP address string into a P6R::P6NETADDR.
virtual P6R::P6ERR strlcpybstr(P6R::P6CHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6BCSTR *pbsSource, P6R::P6SIZE *pcCopied)=0
Copy a P6BCSTR into a narrow character buffer and NULL terminate.
virtual P6R::P6ERR wstrdup(const P6R::P6WCHAR *pString, P6R::P6WCHAR **ppCopy)=0
Duplicates the provided NULL terminated wide character string, allocating memory for it and returning...
virtual P6R::P6ERR formatString(P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten, const P6R::P6CHAR *pszFormat, const P6R::P6ARG *pArgs, P6R::P6SIZE cArgs)=0
Provides a safer, enhanced snprintf replacement.
virtual P6R::P6ERR strlcat(P6R::P6CHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6CHAR *pszSource, P6R::P6SIZE *pcCopied)=0
Concatenates characters from one string onto another and always NULL terminates the output...
virtual P6R::P6ERR writeStderrW(const P6R::P6WCHAR *pFmt, P6R::P6ARG *pArgs, P6R::P6UINT32 cArgs, P6R::P6SIZE *pcBytesWritten)=0
Write a formatted wide string to stderr (the wide string is converted to narrow before it is written ...
virtual P6R::P6ERR writeStdoutW(const P6R::P6WCHAR *pFmt, P6R::P6ARG *pArgs, P6R::P6UINT32 cArgs, P6R::P6SIZE *pcBytesWritten)=0
Write a formatted wide string to stdout (the wide string is converted to narrow before it is written ...
virtual P6R::P6ERR utf8nToWcs(P6R::P6WCHAR *pDest, P6R::P6SIZE *dstSize, const P6R::P6CHAR *pSource, P6R::P6SIZE cCount)=0
Converts a the number of P6CHAR (UTF-8) string to a P6WCHAR string.
virtual P6R::P6ERR netAddrToWStr(const P6R::P6NETADDR *pAddr, P6R::P6WCHAR *pBuffer, P6R::P6UINT32 cBuffer, P6R::P6UINT32 *pcBuffer, P6R::P6BOOL bAddPort)=0
Converts a P6NETADDR struct into a wide character string representation of the specified address...
virtual P6R::P6ERR atol(const P6R::P6CHAR *pString, P6R::P6SIZE cchMax, P6R::P6INT32 *pRetLong)=0
This method converts the string pointed to by pString into a P6R::P6INT32.
virtual P6R::P6ERR strlcpy(P6R::P6CHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6CHAR *pszSource, P6R::P6SIZE *pcCopied)=0
Copies pszSource to pszDest and always NULL terminates the output.
virtual P6R::P6ERR hexDumpW(const P6R::P6VOID *pData, P6R::P6SIZE cData, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE cBytesPerLine, P6R::P6SIZE *pcWritten)=0
Renders the specified data as a (possibly) multi-line hex dump, including offset, hex bytes and ASCII...
virtual P6R::P6ERR copyMemSecure(P6R::P6VOID *pDest, P6R::P6SIZE cDest, const P6R::P6VOID *pSource, P6R::P6SIZE nBytes)=0
Copies nBytes from pSource to pDest.
virtual P6R::P6ERR wcsToUtf8(P6R::P6CHAR *pDest, P6R::P6SIZE *dstSize, const P6R::P6WCHAR *pSource)=0
Converts a P6WCHAR string to a P6CHAR UTF-8 string.
virtual P6R::P6ERR writeStdout(const P6R::P6CHAR *pFmt, P6R::P6ARG *pArgs, P6R::P6UINT32 cArgs, P6R::P6SIZE *pcBytesWritten)=0
Write a formatted narrow string to stdout.
virtual P6R::P6ERR bstrbstr(const P6R::P6BCSTR *pbcsSearchIn, P6R::P6BCSTR const *pbcsSearchFor, P6R::P6BCSTR *pbcsFound)=0
Returns a P6BCSTR pointing to the first occurance of pbsS2 in pbcsSearchIn (case sensitive).
virtual P6R::P6ERR bwstrrchr(const P6R::P6BWCSTR *pbcsStr, P6R::P6INT16 c, P6R::P6BWCSTR *pRetPtr)=0
Finds the last occurance of c in string,.
virtual P6R::P6ERR wstrcmp(const P6R::P6WCHAR *s1, const P6R::P6WCHAR *s2, P6R::P6SIZE cchMax, P6R::P6INT32 *pRetval)=0
Lexigraphically compares two NULL terminated strings.
virtual P6R::P6ERR wstrncmp(const P6R::P6WCHAR *s1, const P6R::P6WCHAR *s2, P6R::P6SIZE length, P6R::P6INT32 *pRetval)=0
Case-sensitively compares length character of s1 and s2.
Wide Const binary string.
virtual P6R::P6ERR trimEndW(P6R::P6WCHAR *pszStr, P6R::P6SIZE cchMax)=0
Trim trailing space, tab, carraige return and newline characters from the specified NULL terminated w...
virtual P6R::P6ERR strlncpy(P6R::P6CHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6CHAR *pszSource, P6R::P6SIZE cSourceLen, P6R::P6SIZE *pcCopied)=0
Copies cSourceLen characters from pszSource to pszDest and always NULL terminates the output...
virtual P6R::P6ERR wstrlcat(P6R::P6WCHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6WCHAR *pszSource, P6R::P6SIZE *pcCopied)=0
Appends one string to another and NULL terminates the result.
virtual P6R::P6ERR wstrnicmp(const P6R::P6WCHAR *s1, const P6R::P6WCHAR *s2, P6R::P6SIZE length, P6R::P6INT32 *pRetval)=0
Case-insensitively compares length character of s1 and s2.
virtual P6R::P6ERR hexDump(const P6R::P6VOID *pData, P6R::P6SIZE cData, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE cBytesPerLine, P6R::P6SIZE *pcWritten)=0
Renders the specified data as a (possibly) multi-line hex dump, including offset, hex bytes and ASCII...
virtual P6R::P6ERR wstrncat(P6R::P6WCHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6WCHAR *pszSource, P6R::P6SIZE cCount)=0
Appends cCount characters from pszSource to pszDest.
virtual P6R::P6ERR uint32ToString(P6R::P6UINT32 value, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert an unsigned 32 bit integer to a P6CHAR string with the specified radix.
P6SIZE P6ATOM
Atom type see P6R::p6IAtom in p6com.h.
virtual P6R::P6ERR wcsnToUtf8(P6R::P6CHAR *pDest, P6R::P6SIZE *dstSize, const P6R::P6WCHAR *pSource, P6R::P6SIZE cCount)=0
Converts the number of P6WCHAR characters specified in cCount to a P6CHAR UTF-8 string.
virtual P6R::P6ERR bwstrlwr(P6R::P6BWSTR *pbsStr)=0
Converts the specified P6BWSTR to lowercase ASCII in-place.
virtual P6R::P6ERR bstrspn(P6R::P6BCSTR *pbcsSearchIn, const P6R::P6BCSTR *pbcsSearchSet, P6R::P6BCSTR *pbcsFound)=0
Scans the specified P6BCSTR for the first occurrence of any character in specified set of characters...
virtual P6R::P6ERR uint16ToStringW(P6R::P6UINT16 value, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert an unsigned 16 bit integer to a P6WCHAR string with the specified radix.
virtual P6R::P6ERR atolEx(const P6R::P6CHAR *pString, P6R::P6SIZE cchMax, P6R::P6INT32 *pRetLong, P6R::P6CHAR **ppEndPtr)=0
This method is an enhanced version of atol() used to convert an ascii number string string into an P6...
virtual P6R::P6ERR strToNetAddr(const P6R::P6CHAR *pszAddr, P6R::P6NETADDR *pAddr)=0
This method is used to convert an IP address string into a P6R::P6NETADDR.
virtual P6R::P6ERR net2hs(P6R::P6UINT16 nNetShort, P6R::P6UINT16 *pHostShort)=0
This method is used convert a P6UINT16 from network byte-order into host byte-order.
virtual P6R::P6ERR wstrchr(const P6R::P6WCHAR *pStr, P6R::P6WCHAR c, P6R::P6SIZE cchMax, P6R::P6WCHAR **ppRetPtr)=0
Finds the first occurance of c in the wide character string s.
virtual P6R::P6ERR bwstrncmp(const P6R::P6BWCSTR *s1, const P6R::P6BWCSTR *s2, P6R::P6SIZE nCount, P6R::P6INT32 *pRetval)=0
Case-sensitively compares the specified number of characters in two P6R::P6BWCSTR's.
virtual P6R::P6ERR bstrnicmp(const P6R::P6BCSTR *s1, const P6R::P6BCSTR *s2, P6R::P6SIZE nCount, P6R::P6INT32 *pRetval)=0
Case-insensitively compares the specified number of characters in two P6R::P6BCSTR's.
virtual P6R::P6ERR wstricmp(const P6R::P6WCHAR *s1, const P6R::P6WCHAR *s2, P6R::P6SIZE cchMax, P6R::P6INT32 *pRetval)=0
Lexigraphically compares two NULL terminated strings ignoring case.
virtual P6R::P6ERR int16ToString(P6R::P6INT16 value, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert a signed 16 bit integer to a P6CHAR string with the specified radix.
virtual P6R::P6ERR strrchr(const P6R::P6CHAR *pStr, P6R::P6INT16 c, P6R::P6SIZE cchMax, P6R::P6CHAR **ppRetPtr)=0
Finds the last occurance of c in string,.
This runtime interface provides network helpers for managing byte-order and providing address convers...
virtual P6R::P6ERR bstrncmp(const P6R::P6BCSTR *s1, const P6R::P6BCSTR *s2, P6R::P6SIZE nCount, P6R::P6INT32 *pRetval)=0
Case-sensitively compares the specified number of characters in two P6R::P6BCSTR's.
virtual P6R::P6ERR wsetMem(P6R::P6WCHAR *pMemory, P6R::P6WCHAR nValue, P6R::P6SIZE nChars)=0
Set the specified number of wide characters in pMemory to nValue.
virtual P6R::P6ERR strstr(const P6R::P6CHAR *searchIn, const P6R::P6CHAR *searchFor, P6R::P6SIZE cchMax, P6R::P6CHAR **ppRetptr)=0
Find a sub-string (case-sensative)
virtual P6R::P6ERR int64ToStringW(P6R::P6INT64 value, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert a signed 64 bit integer to a P6WCHAR string with the specified radix.
virtual P6R::P6ERR strncmp(const P6R::P6CHAR *pStr1, const P6R::P6CHAR *pStr2, P6R::P6SIZE length, P6R::P6INT32 *pRetval)=0
Lexographically compares at most the first length character of the two specified strings.
virtual P6R::P6ERR strupr(P6R::P6CHAR *pszStr, P6R::P6SIZE cchMax)=0
Converts the specified NULL terminated string to uppercase in-place.
virtual P6R::P6ERR bwstrnicmp(const P6R::P6BWCSTR *s1, const P6R::P6BWCSTR *s2, P6R::P6SIZE nCount, P6R::P6INT32 *pRetval)=0
Case-insensitively compares the specified number of characters in two P6R::P6BWCSTR's.
virtual P6R::P6ERR stristr(const P6R::P6CHAR *searchIn, const P6R::P6CHAR *searchFor, P6R::P6SIZE cchMax, P6R::P6CHAR **ppRetptr)=0
Find a sub-string (case-insensative)
unsigned short int P6UINT16
virtual P6R::P6ERR setMem(P6R::P6VOID *pMemory, P6R::P6INT nValue, P6R::P6SIZE nBytes)=0
Set the specified number of bytes in pMemory to nValue.
virtual P6R::P6ERR wstrfree(const P6R::P6WCHAR *pString)=0
Frees a string previously allocated via a call to wstrdup().
virtual P6R::P6ERR bwstrsubicmp(const P6R::P6BWCSTR *s1, const P6R::P6BWCSTR *s2, P6R::P6INT32 *pRetval)=0
Case-insensitively compares the two P6R::P6BWCSTR's using the length of the second P6BWCSTR to limit ...
virtual P6R::P6ERR bstrsubicmp(const P6R::P6BCSTR *s1, const P6R::P6BCSTR *s2, P6R::P6INT32 *pRetval)=0
Case-insensitively compares the two P6R::P6BCSTR's using the length of the second P6BCSTR to limit th...
wchar_t P6WCHAR
Wide character type see p6i18n.h.
virtual P6R::P6ERR moveMem(P6R::P6VOID *pDest, P6R::P6SIZE cDest, const P6R::P6VOID *pSource, P6R::P6SIZE nBytes)=0
Copies nBytes from pSource to pDest.
virtual P6R::P6ERR bstrrchr(const P6R::P6BCSTR *pbcsStr, P6R::P6INT16 c, P6R::P6BCSTR *pRetPtr)=0
Finds the last occurance of c in string,.
This runtime interface provides a set of safe string routines that should be used in place of the sta...
virtual P6R::P6ERR strlcatbstr(P6R::P6CHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6BCSTR *pbsSource, P6R::P6SIZE *pcCopied)=0
Appends a P6BCSTR onto a narrow NULL terminated "C" style string and NULL terminate.
virtual P6R::P6ERR strfree(const P6R::P6CHAR *pString)=0
Frees a previously allocated strdup'd string.
The base interface all [p6]COM components must derive from and implement.
virtual P6R::P6ERR wstrstr(const P6R::P6WCHAR *searchIn, const P6R::P6WCHAR *searchFor, P6R::P6SIZE cchMax, P6R::P6WCHAR **ppRetptr)=0
Find a sub-string (case-sensative)
virtual P6R::P6ERR bwstrcmp(const P6R::P6BWCSTR *s1, const P6R::P6BWCSTR *s2, P6R::P6INT32 *pRetval)=0
Case-sensitively compares two P6R::P6BWCSTR's.
virtual P6R::P6ERR stricmp(const P6R::P6CHAR *pStr1, const P6R::P6CHAR *pStr2, P6R::P6SIZE cchMax, P6R::P6INT32 *pRetval)=0
Case insensitively lexographically compares two strings.
virtual P6R::P6ERR strnicmp(const P6R::P6CHAR *pStr1, const P6R::P6CHAR *pStr2, P6R::P6SIZE length, P6R::P6INT32 *pRetval)=0
Case insensitively lexographically compares at most the first length character of the two specified s...
P6COM base interface definitions.
virtual P6R::P6ERR int32ToStringW(P6R::P6INT32 value, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert a signed 32 bit integer to a P6WCHAR string with the specified radix.
virtual P6R::P6ERR bwstrchr(const P6R::P6BWCSTR *pbcsStr, P6R::P6INT16 c, P6R::P6BWCSTR *pRetPtr)=0
Finds the first occurance of c in pbcString,.
virtual P6R::P6ERR int16ToStringW(P6R::P6INT16 value, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert a signed 16 bit integer to a P6WCHAR string with the specified radix.
virtual P6R::P6ERR int64ToString(P6R::P6INT64 value, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert a signed 64 bit integer to a P6CHAR string with the specified radix.
virtual P6R::P6ERR uint64ToString(P6R::P6UINT64 value, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert an unsigned 64 bit integer to a P6CHAR string with the specified radix.
virtual P6R::P6ERR bwstrlcpy(P6R::P6WCHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6BWCSTR *pSource)=0
Copy a P6BWCSTR into a wide character buffer and NULL terminate.
virtual P6R::P6ERR bstrsubcmp(const P6R::P6BCSTR *s1, const P6R::P6BCSTR *s2, P6R::P6INT32 *pRetval)=0
Case-sensitively compares the two P6R::P6BCSTR's using the length of the second P6BCSTR to limit the ...
virtual P6R::P6ERR host2nll(P6R::P6UINT64 nHostLong, P6R::P6UINT64 *pNetLong)=0
This method is used convert a P6UINT64 from host byte-order into network byte-order.
virtual P6R::P6ERR formatStringW(P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten, const P6R::P6WCHAR *pszFormat, const P6R::P6ARG *pArgs, P6R::P6SIZE cArgs)=0
Provides a safer, enhanced swprintf replacement.
A universally unique indentifier (UUID).
virtual P6R::P6ERR copyMem(P6R::P6VOID *pDest, P6R::P6SIZE cDest, const P6R::P6VOID *pSource, P6R::P6SIZE nBytes)=0
Copies nBytes from pSource to pDest.
virtual P6R::P6ERR strlen(const P6R::P6CHAR *pStr, P6R::P6SIZE cchMax, P6R::P6SIZE *pcSize)=0
Get the length of a NULL terminated string in bytes excluding the zero terminator and not affected by...
virtual P6R::P6ERR trimEnd(P6R::P6CHAR *pszStr, P6R::P6SIZE cchMax)=0
Trim trailing space, tab, carraige return and newline characters from the specified NULL terminated s...
virtual P6R::P6ERR bstribstr(const P6R::P6BCSTR *pbcsSearchIn, P6R::P6BCSTR const *pbcsSearchFor, P6R::P6BCSTR *pbcsFound)=0
Returns a P6BCSTR pointing to the first occurance of pbsS2 in pbcsSearchIn (case insensitive).
virtual P6R::P6ERR uint16ToString(P6R::P6UINT16 value, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert an unsigned 16 bit integer to a P6CHAR string with the specified radix.
virtual P6R::P6ERR readStdin(P6R::P6CHAR *pBuffer, P6R::P6SIZE cBytesToread, P6R::P6SIZE *pcBytesRead)=0
virtual P6R::P6ERR bwstricmp(const P6R::P6BWCSTR *s1, const P6R::P6BWCSTR *s2, P6R::P6INT32 *pRetval)=0
Case-insensitively compares two P6R::P6BWCSTR's.
virtual P6R::P6ERR strdup(const P6R::P6CHAR *pString, P6R::P6CHAR **ppCopy)=0
Alocate new storage for and duplicate the specified string into that storage.
virtual P6R::P6ERR strchr(const P6R::P6CHAR *pStr, P6R::P6INT16 c, P6R::P6SIZE cchMax, P6R::P6CHAR **ppRetPtr)=0
Finds the first occurance of the character c in pStr.
virtual P6R::P6ERR replace(P6R::P6CHAR *pString, P6R::P6CHAR chOrig, const P6R::P6CHAR chReplacement, P6R::P6SIZE cchMax)=0
Replaces every occurance of chOrig in pString with chReplacement.
virtual P6R::P6ERR utf8ToWcs(P6R::P6WCHAR *pDest, P6R::P6SIZE *dstSize, const P6R::P6CHAR *pSource)=0
Converts a P6CHAR (UTF-8) string to a P6WCHAR string.
virtual P6R::P6ERR moveMemSecure(P6R::P6VOID *pDest, P6R::P6SIZE cDest, const P6R::P6VOID *pSource, P6R::P6SIZE nBytes)=0
Copies nBytes from pSource to pDest.
virtual P6R::P6ERR wstrToBool(const P6R::P6WCHAR *pBoolStr, P6R::P6BOOL *pBool)=0
Converts a boolean wide string representation to a P6R::P6BOOL.
virtual P6R::P6ERR strlwr(P6R::P6CHAR *pszStr, P6R::P6SIZE cchMax)=0
Converts the specified NULL terminated string to lowercase in-place.
virtual P6R::P6ERR wreplace(P6R::P6WCHAR *pString, P6R::P6WCHAR chOrig, const P6R::P6WCHAR chReplacement, P6R::P6SIZE cchMax)=0
Replaces every occurance of chOrig in pString with chReplacement.
virtual P6R::P6ERR sizetToStringW(P6R::P6SIZE value, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert a P6SIZE integer to a wide character string with the specified radix.
virtual P6R::P6ERR atoll(const P6R::P6CHAR *pString, P6R::P6SIZE cchMax, P6R::P6INT64 *pRetLongLong)=0
This method converts the string pointed to by pString into a P6R::P6INT64.
virtual P6R::P6ERR wstrlncpy(P6R::P6WCHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6WCHAR *pszSource, P6R::P6SIZE cSourceLen, P6R::P6SIZE *pcCopied)=0
Copies a specified number of characters from one string to another.
virtual P6R::P6ERR writeStderr(const P6R::P6CHAR *pFmt, P6R::P6ARG *pArgs, P6R::P6UINT32 cArgs, P6R::P6SIZE *pcBytesWritten)=0
Write a formatted narrow string to stderr.
virtual P6R::P6ERR strcmp(const P6R::P6CHAR *pStr1, const P6R::P6CHAR *pStr2, P6R::P6SIZE cchMax, P6R::P6INT32 *pRetval)=0
Lexographically compares two strings case sensitively.
virtual P6R::P6ERR wstrsep(const P6R::P6WCHAR **ppszSearchIn, const P6R::P6WCHAR *pszDelimiters, P6R::P6BWCSTR *pbcsToken)=0
Extracts a the first token from a wide string, where the tokens are delimited by the characters in ps...
virtual P6R::P6ERR bwstrsubcmp(const P6R::P6BWCSTR *s1, const P6R::P6BWCSTR *s2, P6R::P6INT32 *pRetval)=0
Case-sensitively compares the two P6R::P6BWCSTR's using the length of the second P6BWCSTR to limit th...
virtual P6R::P6ERR reverseStringW(P6R::P6WCHAR *pBuffer, P6R::P6SIZE cStart, P6R::P6SIZE cEnd)=0
Reverse a string in place given starting and ending offests, allowing any portion, or the entire string to be reversed.
virtual P6R::P6ERR strToBool(const P6R::P6CHAR *pBoolStr, P6R::P6BOOL *pBool)=0
Converts a boolean string representation to a P6R::P6BOOL.
virtual P6R::P6ERR sizetToString(P6R::P6SIZE value, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert a P6SIZE integer to a string with the specified radix.
virtual P6R::P6ERR bwstrsep(P6R::P6BWCSTR *pbcsSearchIn, const P6R::P6BWCSTR *pbsDelimiters, P6R::P6BWCSTR *pbcsToken)=0
Extracts a the first token from a string described by a P6BWCSTR, where the tokens are delimited by t...
virtual P6R::P6ERR host2ns(P6R::P6UINT16 nHostShort, P6R::P6UINT16 *pNetShort)=0
This method is used convert a P6UINT16 from host byte-order into network byte-order.
virtual P6R::P6ERR bstrchr(const P6R::P6BCSTR *pbcsStr, P6R::P6INT16 c, P6R::P6BCSTR *pRetPtr)=0
Finds the first occurance of c in pbcString,.
virtual P6R::P6ERR setMemSecure(P6R::P6VOID *pMemory, P6R::P6INT nValue, P6R::P6SIZE nBytes)=0
Set the specified number of bytes in pMemory to nValue.
virtual P6R::P6ERR strncat(P6R::P6CHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6CHAR *pszSource, P6R::P6SIZE cCount)=0
Concatentates cCount characters from pszSource onto pszDest and always NULL terminates the output...
virtual P6R::P6ERR wstrlcpy(P6R::P6WCHAR *pszDest, P6R::P6SIZE cDest, const P6R::P6WCHAR *pszSource, P6R::P6SIZE *pcCopied)=0
Copies a wide character string.
virtual P6R::P6ERR bstrlwr(P6R::P6BSTR *pbsStr)=0
Converts the specified P6BSTR to lowercase ASCII in-place.
virtual P6R::P6ERR bstrSetMemSecure(P6R::P6BSTR *pMemory, P6R::P6INT nValue)=0
Set the entire contents of a P6BSTR to nValue.
virtual P6R::P6ERR uint64ToStringW(P6R::P6UINT64 value, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert an unsigned 64 bit integer to a P6WCHAR string with the specified radix.
virtual P6R::P6ERR reverseString(P6R::P6CHAR *pBuffer, P6R::P6SIZE cStart, P6R::P6SIZE cEnd)=0
Reverse a string in place given starting and ending offests, allowing any portion, or the entire string to be reversed.
virtual P6R::P6ERR atollEx(const P6R::P6CHAR *pString, P6R::P6SIZE cchMax, P6R::P6INT64 *pRetLongLong, P6R::P6CHAR **ppEndPtr)=0
This method is an enhanced version of atoll() used to convert an ascii number string string into an P...
virtual P6R::P6ERR wstrupr(P6R::P6WCHAR *pszStr, P6R::P6SIZE cchMax)=0
Converts the specified NULL terminated wide string to uppercase in-place.
virtual P6R::P6ERR uint32ToStringW(P6R::P6UINT32 value, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert an unsigned 32 bit integer to a P6WCHAR string with the specified radix.
virtual P6R::P6ERR strsep(const P6R::P6CHAR **ppszSearchIn, const P6R::P6CHAR *pszDelimiters, P6R::P6BCSTR *pbcsToken)=0
Extracts a the first token from a string, where the tokens are delimited by the characters in pszDeli...
virtual P6R::P6ERR bstricmp(const P6R::P6BCSTR *s1, const P6R::P6BCSTR *s2, P6R::P6INT32 *pRetval)=0
Case-insensitively compares two P6R::P6BCSTR's.
virtual P6R::P6ERR wstrlen(const P6R::P6WCHAR *pwszString, P6R::P6SIZE cchMax, P6R::P6SIZE *pcLen)=0
Calculates the length of a string (excluding the NULL terminator).
virtual P6R::P6ERR floatToString(P6R::P6FLOAT value, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
Convert a P6R::P6FLOAT to a string.
virtual P6R::P6ERR atolW(const P6R::P6WCHAR *pString, P6R::P6SIZE cchMax, P6R::P6INT32 *pRetLong)=0
This method converts the wide string pointed to by pString into a P6R::P6INT32.
virtual P6R::P6ERR compareMem(const P6R::P6VOID *pMem1, const P6R::P6VOID *pMem2, P6R::P6SIZE nBytes, P6R::P6INT32 *pResult)=0
Compares bytes in two buffers.
virtual P6R::P6ERR host2nl(P6R::P6UINT32 nHostLong, P6R::P6UINT32 *pNetLong)=0
This method is used convert a P6UINT32 from host byte-order into network byte-order.
virtual P6R::P6ERR bstrcmp(const P6R::P6BCSTR *s1, const P6R::P6BCSTR *s2, P6R::P6INT32 *pRetval)=0
Case-sensitively compares two P6R::P6BCSTR's.
virtual P6R::P6ERR bstrSetMem(P6R::P6BSTR *pMemory, P6R::P6INT nValue)=0
Set the entire contents of a P6BSTR to nValue.
virtual P6R::P6ERR net2hl(P6R::P6UINT32 nNetLong, P6R::P6UINT32 *pHostLong)=0
This method is used convert a P6UINT32 from network byte-order into host byte-order.
virtual P6R::P6ERR int32ToString(P6R::P6INT32 value, P6R::P6CHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6UINT32 radix, P6R::P6SIZE *pcWritten)=0
Convert a signed 32 bit integer to a P6CHAR string with the specified radix.
virtual P6R::P6ERR floatToStringW(P6R::P6FLOAT value, P6R::P6WCHAR *pBuffer, P6R::P6SIZE cBuffer, P6R::P6SIZE *pcWritten)=0
Convert a P6R::P6FLOAT to a wide string.
char P6CHAR
Narrow character type.