//#define CEXPORT extern "C"__declspec( dllexport ) #define CEXPORT //--------------------------------------------------------------------------- // Call this exported function to enable/disable logging to "intlstr.log" // -disabled by default //--------------------------------------------------------------------------- CEXPORT void FAR PASCAL StringLogging( BOOL bActiveState); typedef void ( FAR PASCAL *FNStringLogging)(BOOL bActiveState); //--------------------------------------------------------------------------- // Call this exported function to generate and retrieve a random string. // iMaxChar - Maximum number of characters (not bytes) in the return string. // bAbsolute - TRUE, if you want the exact number of char specify in iMaxChar // FALSE, if you want a random number of char, up to a maximum of iMaxChar. // bValidate - TRUE, if you want every char to be a legal char // FALSE, if you do not want any validation. Will gen any char // with in the 255 and DBCS range. // //--------------------------------------------------------------------------- CEXPORT int FAR PASCAL GetRandIntlString( int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); typedef int ( FAR PASCAL *FNGetRandIntlString)(int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); //--------------------------------------------------------------------------- // Call this exported function to generate and retrieve a sequential string. // iMaxChar - Maximum number of characters (not bytes) in the return string. // bAbsolute - TRUE, if you want the exact number of char specify in iMaxChar // FALSE, if you want a random number of char, up to a maximum of iMaxChar. // bValidate - TRUE, if you want every char to be a legal char // FALSE, if you do not want any validation. Will gen any char // with in the 255 and DBCS range. // //--------------------------------------------------------------------------- CEXPORT int FAR PASCAL GetIntlString( int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); typedef int ( FAR PASCAL *FNGetIntlString)(int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); //--------------------------------------------------------------------------- // Call this exported function to generate and retrieve a string with the locale // Specific top 20 problem characters as identified by the test leads of those // Areas // // iMaxChar - Maximum number of characters (not bytes) in the return string. // bAbsolute - TRUE, if you want the exact number of char specify in iMaxChar // FALSE, if you want a random number of char, up to a maximum of iMaxChar. // bValidate - TRUE, if you want every char to be a legal char // FALSE, if you do not want any validation. Will gen any char // with in the 255 and DBCS range. // //--------------------------------------------------------------------------- CEXPORT int FAR PASCAL GetProbCharString( int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); //or typedef int ( FAR PASCAL *FNGetProbCharString)(int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); CEXPORT int FAR PASCAL GetTop20String( int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); //or typedef int ( FAR PASCAL *FNGetTop20String)(int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); //--------------------------------------------------------------------------- // This function returns a string of problem Unicode Round Trip Conversion // characters if there are found problem characters for the tested code page. // Currently (2/98) only Japanese code page 932 has identified urtc problem characters. // If this function is invoked on a non-japanese machine, problem characters // are returned like GetProbCharString() is invoked. //--------------------------------------------------------------------------- CEXPORT int WINAPI GetProbURTCString( int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); typedef int ( WINAPI *FNGetProbURTCString)(int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szInternational); //=====GetUniStrRandAnsi======================================================== // Added by Smoore 05-28-98 per willro's instruction // PURPOSE: // This function returns a string of Unicode, UTF7, or UTF8 characters. // These characters may or may not be valid ansi characters when converted // depending on the setting of bCheck (true or fault) // PARAMETERS: // iMaxChars: int maximum number of chars (bytes) in szbuff. Must >= 4 // because each UTFs char can be upto 3 bytes long. // bAbs: if set true, exact number (iMaxChars) will be generated, // if set falise, number of generated chars will be random. // bcheck: if true, generated chars will be based on valid ansi chars // if false, generated chars may be based on random ansi chars // which can contain invalid and or mapped ansi chars. // szbuff: string buffer (bytes) to contain converted unicode characters // Size must match the value of iMaxChars. // iType: Type of conversion to make. For example Unicode, UTF7, or UTF8. // iacp: Reserved. Must be 0 for now until further notice. // Currently the generated string is based on the system's ansi code page. // In the future, these functions will generate string based on the input acp. // // RETURN: -1 if failed or // if iType is UNICODE, return number of wide characters in szbuff. // if iType is UTFs, return number of bytes in szbuff //======================================================================== CEXPORT int WINAPI GetUniStrRandAnsi( int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szbuff, int iType, int iacp); typedef int ( WINAPI *FNGetUniStrRandAnsi)(int iMaxChars, BOOL bAbs, BOOL bCheck, LPSTR szbuff, int iType, int iacp); //=====GetUniStrInvalidAnsi================================================== // Added by Smoore 05-28-98 per willro's instruction // PURPOSE: // This function returns a string of Unicode, UTF7, or UTF8 characters. // If this string is converted to ansi, the ansi characters will be invalid. // PARAMETERS: // iMaxChars: int maximum number of chars (bytes) in szbuff. Must >= 4 // because each UTFs char can be upto 3 bytes long. // bAbs: if set true, exact number (iMaxChars) will be generated, // if set falise, number of generated chars will be random. // bcheck: if true, generated unicode chars will be based on valid ansi chars // if false, generated unicode char may be based on random ansi chars // which can contain invalid and or mapped ansi chars. // szbuff: string buffer (bytes) to contain converted unicode characters // Size must match the value of iMaxChars. // iType: Type of conversion to make. For example Unicode, UTF7, or UTF8. // iacp: Reserved. Must be 0 for now until further notice. // Currently the generated string is based on the system's ansi code page. // In the future, these functions will generate string based on the input acp. // // RETURN: -1 if failed or // if iType is UNICODE, return number of wide characters in szbuff. // if iType is UTFs, return number of bytes in szbuff //========================================================================== CEXPORT int WINAPI GetUniStrInvalidAnsi( int iMaxChars, BOOL bAbs, LPSTR szbuff, int iType, int iacp); typedef int ( WINAPI *FNGetUniStrInvalidAnsi)(int iMaxChars, BOOL bAbs, LPSTR szbuff, int iType, int iacp); //=====GetUniStrMappedAnsi================================================== // Added by Smoore 05-28-98 per willro's instruction // PURPOSE: // This function returns a string of Unicode, UTF7, or UTF8 characters. // If this string is converted to ansi, the ansi characters will be mapped. // For example, the copy right symbol ( circleed c) will be mapped to C // in some code pages. // PARAMETERS: // iMaxChars: int maximum number of chars (bytes) in szbuff. Must >= 4 // because each UTFs char can be upto 3 bytes long. // bAbs: if set true, exact number (iMaxChars) will be generated, // if set falise, number of generated chars will be random. // bcheck: if true, generated unicode chars will be based on valid ansi chars // if false, generated unicode char may be based on random ansi chars // which can contain invalid and or mapped ansi chars. // szbuff: string buffer (bytes) to contain converted unicode characters // Size must match the value of iMaxChars. // iType: Type of conversion to make. For example Unicode, UTF7, or UTF8. // iacp: Reserved. Must be 0 for now until further notice. // Currently the generated string is based on the system's ansi code page. // In the future, these functions will generate string based on the input acp. // // RETURN: -1 if failed or // if iType is UNICODE, return number of wide characters in szbuff. // if iType is UTFs, return number of bytes in szbuff //========================================================================== CEXPORT int WINAPI GetUniStrMappedAnsi( int iMaxChars, BOOL bAbs, LPSTR szbuff, int iType, int iacp); typedef int ( WINAPI *FNGetUniStrMappedAnsi)(int iMaxChars, BOOL bAbs, LPSTR szbuff, int iType, int iacp);