📄 nls.h
字号:
#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(P128)
#endif
/*********************************************************************/
/* */
/* Licensed Materials - Property of IBM */
/* */
/* L-GHUS-5VMPGW, L-GHUS-5S3PEE */
/* (C) Copyright IBM Corp. 1995, 2005 All Rights Reserved */
/* */
/* US Government Users Restricted Rights - Use, duplication or */
/* disclosure restricted by GSA ADP Schedule Contract with */
/* IBM Corp. */
/* */
/*********************************************************************/
#if !defined(NLS_H)
#define NLS_H
#ifdef __cplusplus
extern "C" {
#endif
/********************************************************************
** TYPES AND DEFINITIONS
*/
typedef WORD NLS_STATUS;
typedef void NLS_INFO;
typedef void far *NLS_PINFO;
/********************************************************************
** PROTOS
*/
NLS_STATUS LNPUBLIC NLS_load_charset (WORD CSID,
NLS_PINFO FAR * ppInfo);
NLS_STATUS LNPUBLIC NLS_unload_charset (NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_translate (BYTE far * pString,
WORD Len,
BYTE far * pStringTarget,
WORD far * pSize,
WORD ControlFlags,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_find (BYTE far * far * ppString,
WORD Len,
const BYTE far * pSetOfChars,
WORD ControlFlags,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_find_substr (BYTE far * far * ppString,
WORD Len1,
const BYTE far * pSubString,
WORD Len2,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_get (BYTE far * far * ppString,
WORD Len,
BYTE far * pCharacter,
NLS_PINFO pInfo);
WORD LNPUBLIC NLS_goto_next (BYTE far * far * ppString,
WORD Len,
NLS_PINFO pInfo);
WORD LNPUBLIC NLS_goto_prev (BYTE far * far * ppString,
const BYTE far * pStrStart,
NLS_PINFO pInfo);
WORD LNPUBLIC NLS_goto_next_word_end (BYTE far * far * ppString,
WORD Len,
NLS_PINFO pInfo);
WORD LNPUBLIC NLS_goto_next_word_start(BYTE far * far * ppString,
WORD Len,
NLS_PINFO pInfo);
WORD LNPUBLIC NLS_goto_next_break (BYTE far * far * ppString,
WORD Len,
NLS_PINFO pInfo);
WORD LNPUBLIC NLS_goto_prev_word_end (BYTE far * far * ppString,
const BYTE far * pStrStart,
NLS_PINFO pInfo);
WORD LNPUBLIC NLS_goto_prev_word_start(BYTE far * far * ppString,
const BYTE far * pStrStart,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_isalpha (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_isalnum (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_isarith (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_iscntrl (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_isdigit (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_islower (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_ispunct (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_isspace (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_isupper (const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_isleadbyte (BYTE Character,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_string_chars (const BYTE far * pString,
WORD NumBytes,
WORD far * pNumChars,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_string_bytes (const BYTE far * pString,
WORD NumChars,
WORD far * pNumBytes,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_put (BYTE far * far * ppString,
const BYTE far * pCharacter,
NLS_PINFO pInfo);
NLS_STATUS LNPUBLIC NLS_put_term (BYTE far * far * ppString,
const BYTE far * pCharacter,
NLS_PINFO pInfo);
/********************************************************************
** RETURN CODES
*/
#define NLS_SUCCESS 0x0
#define NLS_BADPARM 0xABAD
#define NLS_BUFFERTOOSMALL 0xA000
#define NLS_CHARSSTRIPPED 0x1000
#define NLS_ENDOFSTRING 0x1001
#define NLS_FALLBACKUSED 0x1002
#define NLS_FILEINVALID 0xA001
#define NLS_FILENOTFOUND 0xA002
#define NLS_FINDFAILED 0x1005
#define NLS_INVALIDCHARACTER 0xA003
#define NLS_INVALIDDATA 0xA004
#define NLS_INVALIDENTRY 0xA005
#define NLS_INVALIDTABLE 0xA006
#define NLS_PROPNOTFOUND 0x1003
#define NLS_STARTOFSTRING 0x1004
#define NLS_STRINGSIZECHANGED 0x1006
#define NLS_TABLEHEADERINVALID 0xA007
#define NLS_TABLENOTFOUND 0x1007
/********************************************************************
** FLAGS
*/
/* NLS_find */
#define NLS_FIND_CHARINSET 1
#define NLS_FIND_CHARNOTINSET 2
/* NLS_translate */
#define NLS_NONULLTERMINATE 0x1
#define NLS_NULLTERMINATE 0x2
#define NLS_STRIPUNKNOWN 0x4
#define NLS_TARGETISLMBCS 0x8
#define NLS_SOURCEISLMBCS 0x10
#define NLS_TARGETISUNICODE 0x20
#define NLS_SOURCEISUNICODE 0x40
#define NLS_TARGETISPLATFORM 0x80
#define NLS_SOURCEISPLATFORM 0x100
/********************************************************************
** MISC DEFINES
*/
#define NLS_NULLTERM (WORD) -1
#define NLS_NULLTERM32 (DWORD) -1
#define NLS_SIZEOFNULL 1 /* for LMBCS implementation */
#define NLS_MAXBYTESPERCHAR 3
#define NLS_MAXBYTESPERCHAR_WITH_SURROGATE 6
#define NLS_MAXRATIO_XLATE_FROM_LMBCS 4
#define NLS_MAXRATIO_XLATE_TO_LMBCS 3
/********************************************************************
** CHARACTER SET ID'S
*/
#if !defined(NLS_NOCHARSETIDS)
#define NLS_CS_DEFAULT 0xFFFF
#define NLS_CS_LICS 0x0000 /* Lotus Intl Char Set (WK1) */
#define NLS_CS_IBMCP851 0x0001
#define NLS_CS_IBMCP852 0x0002
#define NLS_CS_IBMCP853 0x0003
#define NLS_CS_IBMCP857 0x0004
#define NLS_CS_IBMCP862 0x0005
#define NLS_CS_IBMCP864 0x0006
#define NLS_CS_IBMCP866 0x0007
#define NLS_CS_IBMCP437 0x0008
#define NLS_CS_IBMCP850 0x0009
#define NLS_CS_IBMCP855 0x000A
#define NLS_CS_IBMCP860 0x000B
#define NLS_CS_IBMCP861 0x000C
#define NLS_CS_IBMCP863 0x000D
#define NLS_CS_IBMCP865 0x000E
#define NLS_CS_IBMCP869 0x000F
#define NLS_CS_IBMCP874 0x0090
#define NLS_CS_IBMCP899 0x0011
#define NLS_CS_IBMCP932 0x0012
#define NLS_CS_IBMCP942 0x0012 /* 932 942 for Lotus */
#define NLS_CS_IBMCP943 0x0012
#define NLS_CS_IBMCP5039 0x0012
#define NLS_CS_IBMCP891 0x0013
#define NLS_CS_DECMCS 0x0014 /* DEC Multinational Char Set */
#define NLS_CS_EUC 0x0017 /* Extended Unix Code */
#define NLS_CS_KS 0x0018 /* Korean - KSC 5601 */
#define NLS_CS_IBMCP949 0x0018
#define NLS_CS_TCA 0x0019
#define NLS_CS_BIG5 0x001A /* Taiwan Chinese - traditional */
#define NLS_CS_IBMCP950 0x001A
#define NLS_CS_GB 0x001B /* PRC Chinese - simplified */
#define NLS_CS_IBMCP936 0x001B
#define NLS_CS_NECESJIS 0x001C /* NEC Extended Shift-JIS */
#define NLS_CS_ISO646 0x001F /* aka 'ASCII' */
#define NLS_CS_ASCII 0x001F
#define NLS_CS_ISO88591 0x0020 /* ISO Latin-1 */
#define NLS_CS_IBMCP819 0x0020
#define NLS_CS_ISO88592 0x0021 /* ISO Latin-2 (E. Europe) */
#define NLS_CS_IBMCP912 0x0021
#define NLS_CS_ISO88593 0x0022
#define NLS_CS_ISO88594 0x0023
#define NLS_CS_ISO88595 0x0024
#define NLS_CS_IBMCP915 0x0024
#define NLS_CS_ISO88596 0x0025
#define NLS_CS_IBMCP1008 0x0025
#define NLS_CS_ISO88597 0x0026
#define NLS_CS_IBMCP813 0x0026
#define NLS_CS_ISO88598 0x0027
#define NLS_CS_IBMCP916 0x0027
#define NLS_CS_ISO88599 0x0028
#define NLS_CS_IBMCP920 0x0028
#define NLS_CS_HPROMAN 0x0030 /* HP Roman (LaserJet) */
#define NLS_CS_HPGREEK 0x0031 /* HP Roman (LaserJet) */
#define NLS_CS_HPTURKISH 0x0032 /* HP Roman (LaserJet) */
#define NLS_CS_HPHEBREW 0x0034
#define NLS_CS_HPARABIC 0x0035
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -