This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/Borland/BCC55/Include/snanls.h

145 lines
4.6 KiB
C

#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#ifdef __cplusplus
extern "C"
{
#endif
#if !defined __SNANLS_INC__
#define __SNANLS_INC__
/* ********************* Constants ******************** */
#define CP_37 37 /* EBCDIC Lower English */
#define CP_273 273
#define CP_277 277
#define CP_278 278
#define CP_280 280
#define CP_284 284
#define CP_285 285
#define CP_290 290 /* EBCDIC Katakana */
#define CP_297 297
#define CP_423 423
#define CP_500 500
#define CP_875 875
#define CP_930 930 /* EBCDIC Katakana + Kanji */
#define CP_931 931 /* EBCDIC Lower English + Kanji */
#define CP_932 932 /* Japanese */
#define CP_933 933 /* EBCDIC Korean */
#define CP_935 935 /* EBCDIC Simplified Chinese */
#define CP_936 936 /* Chinese */
#define CP_937 937 /* EBCDIC Traditional Chinese */
#define CP_939 939 /* EBCDIC Extended Lower English + Kanji */
#define CP_949 949 /* Korean */
#define CP_950 950 /* Taiwanese */
#define CP_1027 1027 /* EBCDIC Extended Lower English */
#define SNA_UNICODE 1 /* Result of Conversion is Unicode */
#define SNA_MULTIBYTE 2 /* Result of Conversion is MultiByte */
/* ********************* Functions ******************** */
/* ***************************************************************** */
/* Initialization Routine : Local Machine */
/* CodePage : The CodePage which we need to support */
/* return : 1 if CodePage Translations are Supported */
/* 0 otherwise */
/* ***************************************************************** */
int WINAPI SnaNlsInit(UINT CodePage);
/* ***************************************************************** */
/* */
/* Translation Routine */
/* */
/* Input */
/* */
/* lpSrcStr : Input, Source String */
/* */
/* lpDestStr : Output, Translated String */
/* maybe NULL if out_length is 0 */
/* */
/* inCodePage : CodePage of incoming string */
/* ignored if input is in unicode */
/* */
/* outCodePage: CodePage of translated string. */
/* ignored if output is in unicode */
/* */
/* in_length : Length of input string */
/* in characters if input is multibyte */
/* in wide chars if input is unicode */
/* */
/* out_length : Length of output string */
/* in characters if output is multibyte */
/* in wide chars if output is unicode */
/* */
/* in_type : SNA_UNICODE - Unicode Input */
/* SNA_MULTIBYTE - MultiByte Input */
/* */
/* out_type : SNA_UNICODE - Unicode Output */
/* SNA_MULTIBYTE - MultiByte Output */
/* */
/* Options : Multiple usage */
/* Trnsdt Options */
/* Default Character for Translation (NLS) */
/* */
/* Output */
/* */
/* return val : 0 - Failure */
/* Use GetLastError to retrieve error */
/* Else */
/* Num of chars(wide) written to lpDestStr */
/* */
/* lpDestStr : Translated String */
/* */
/* Options : Required buffer length if call failed */
/* */
/* Errors : (Retrieved by using GetLastError) */
/* */
/* ERROR_NOT_SUPPORTED */
/* Possible Reasons: */
/* NLS is not available */
/* Input & Output are not of same type */
/* */
/* ERROR_BUFFER_OVERFLOW */
/* Possible Reasons: */
/* Output buffer is too small */
/* */
/* ERROR_INVALID_PARAMETER */
/* Possible Reasons: */
/* in_type or out_type is faulty */
/* */
/* ERROR_INVALID_DATA */
/* Possible Reasons: */
/* input data has a lead byte at end */
/* */
/* ERROR_OUTOFMEMORY */
/* Possible Reasons: */
/* malloc failed */
/* */
/* */
/* ***************************************************************** */
int WINAPI SnaNlsMapString (LPCTSTR lpSrcStr, LPTSTR lpDestStr,
UINT inCodePage, UINT outCodePage,
int in_length, int out_length,
UINT in_type, UINT out_type, WORD * Options);
#endif
#ifdef __cplusplus
}
#endif
#pragma option pop /*P_O_Pop*/