/* * Copyright (c) 1994 Sony Corporation * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization * from Sony Corporation. * */ /* * $SonyRCSfile: wchar16.h,v $ * $SonyRevision: 1.1 $ * $SonyDate: 1994/06/03 08:03:52 $ */ #ifndef _WCHARH #define _WCHARH #if defined(__sony_news) && defined(SVR4) #define _WCHAR_T typedef unsigned short wchar_t; #include #include #include #include typedef wchar_t wchar16_t; #else #include #include typedef unsigned short wchar16_t; #endif #include "key.h" #ifndef SS2 #define SS2 0x8e #define SS3 0x8f #endif #if !defined(__sony_news) || (defined(__sony_news) && !defined(SVR4)) #ifdef iswcntrl #undef iswcntrl #endif #define iswcntrl(wc) sj3_iswcntrl16(wc) #ifdef iswupper #undef iswupper #endif #define iswupper(wc) sj3_iswupper16(wc) #ifdef iswdigit #undef iswdigit #endif #define iswdigit(wc) sj3_iswdigit16(wc) #ifdef iswxdigit #undef iswxdigit #endif #define iswxdigit(wc) sj3_iswxdigit16(wc) #ifdef wslen #undef wslen #endif #define wslen(ws) sj3_wslen16(ws) #ifdef wscmp #undef wscmp #endif #define wscmp(ws1, ws2) sj3_wscmp16(ws1, ws2) #ifdef wsncmp #undef wsncmp #endif #define wsncmp(ws1, ws2, n) sj3_wsncmp16(ws1, ws2, n) #ifdef wscpy #undef wscpy #endif #define wscpy(ws1, ws2) sj3_wscpy16(ws1, ws2) #ifdef wsncpy #undef wsncpy #endif #define wsncpy(ws1, ws2, n) sj3_wsncpy16(ws1, ws2, n) #ifdef wscat #undef wscat #endif #define wscat(ws1, ws2) sj3_wscat16(ws1, ws2) #ifdef mbstowcs #undef mbstowcs #endif #define mbstowcs(mb, ws, n) sj3_mbstowcs16(mb, ws, n) #ifdef wcstombs #undef wcstombs #endif #define wcstombs(ws, mb, n) sj3_wcstombs16(ws, mb, n) #endif #define LC_CTYPE_SHIFTJIS 1 #define LC_CTYPE_EUC 2 #define IsEUCHojo(x) (((unsigned char)(x)) == SS3) #define WcX0208MASK 0xffff #define WcX0212MASK 0xff7f #define WcJISMASK 0x7f7f #define WcLowMASK 0x00ff #define WcHighMASK 0xff00 #define WcASCIIFLAG 0x0000 #define WcX0208FLAG 0x8080 #define WcX0212FLAG 0x8000 #define WcX0201FLAG 0x0080 #define WcLowByte(w) ((w) & 0xff) #define WcHighByte(w) (((w) >> 8) & 0xff) #define WcIsASCII(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcASCIIFLAG) #define WcIsX0208(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0208FLAG) #define WcIsX0201(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0201FLAG) #define WcIsX0212(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0212FLAG) #define WcIsZENKAKU(w) ((((wchar16_t)(w)) & WcX0212FLAG) == WcX0212FLAG) #define WcIsHANKAKU(w) ((((wchar16_t)(w)) & WcX0212FLAG) == WcASCIIFLAG) #define WcIsKANJI(w) WcIsZENKAKU(w) #define WcIsKANA(w) WcIsX0201(w) #define WcSetX0212(c1, c2) ((((c1) & 0xff) << 8) + ((c2) & 0x7f)) #define WcJIS2X0208(w) ((w) | WcX0208FLAG) #define WcJIS2X0212(w) ((w) | WcX0212FLAG) #define Wc2JIS(w) ((w) & WcJISMASK) #define WCSJrun WcMessages[0] #define WCMode_buff WcMessages[1] #define WCMode_unbuff WcMessages[2] #define WCMode_Zhira WcMessages[3] #define WCMode_Zkata WcMessages[4] #define WCMode_Hkata WcMessages[5] #define WCMode_Zalpha WcMessages[6] #define WCMode_Halpha WcMessages[7] #define WCGmode WcMessages[8] #define WCGEtc WcMessages[9] #define WCGetc WcMessages[10] #define WCGHelp WcMessages[11] #define WCMHelp WcMessages[12] #define WCGCshift WcMessages[13] #define WCGCeuc WcMessages[14] #define WCGCeuc2 WcMessages[15] #define WCGCjis WcMessages[16] #define WCGCjis2 WcMessages[17] #define WCGCkuten WcMessages[18] #define WCGCkuten2 WcMessages[19] #define WCGtoroku WcMessages[20] #define WCMhani WcMessages[21] #define WCMyomi WcMessages[22] #define WCTOUROKU_OK WcMessages[23] #define WCSYOUKYO_OK WcMessages[24] #define WCTOUROKU_HIN WcMessages[25] #define WCTOUROKU_SUCC WcMessages[26] #define WCYomi WcMessages[27] #define WCOne WcMessages[28] #define WCY WcMessages[29] #define WCExist WcMessages[30] #define WCYomiTouroku WcMessages[31] #define WCKanjiTouroku WcMessages[32] #define WCOnajiTouroku WcMessages[33] #define WCUserTouroku WcMessages[34] #define WCJishoLock WcMessages[35] #define WCSystemError WcMessages[36] #define WCKanma WcMessages[37] #define WCGsyoukyo WcMessages[38] #define WCSYOUKYO_SUCC WcMessages[39] #define WCNotExist WcMessages[40] #define WCUserLock WcMessages[41] #define WCYomiShokyo WcMessages[42] #define WCKanjiShokyo WcMessages[43] #define WCShokyoError WcMessages[44] #define WCSUCCsjrc WcMessages[45] #define WCFAILsjrc WcMessages[46] #define WCNOTHsjrc WcMessages[47] #define WCWeight_mes WcMessages[48] #define WCGrcon WcMessages[49] #define WCRserv WcMessages[50] #define WCRserv_OK WcMessages[51] #define WCDiscon WcMessages[52] #define WCSpace WcMessages[53] #define WCSpace2 WcMessages[54] #define WCContinue WcMessages[55] #define WCServer_Dead WcMessages[56] #define WCConnected WcMessages[57] #define WCNconnect WcMessages[58] #define WCNopen_Mdic WcMessages[59] #define WCNmake_Udir WcMessages[60] #define WCNmake_Udic WcMessages[61] #define WCNopen_Udic WcMessages[62] #define WCNmake_Study WcMessages[63] #define WCNopen_Study WcMessages[64] #define WCGedit WcMessages[65] #define WCTooLong WcMessages[67] #define WCDollar WcMessages[68] #define WCOn WcMessages[69] #define WCOff WcMessages[70] #define WCMeishi WcMessages[71] #define WCMyouji WcMessages[72] #define WCNamae WcMessages[73] #define WCTimei WcMessages[74] #define WCSahen WcMessages[75] #define WCKara WcMessages[76] #define WCF1 WcMessages[77] #define WCF2 WcMessages[78] #define WCF3 WcMessages[79] #define WCF4 WcMessages[80] #define WCF5 WcMessages[81] #define WCF6 WcMessages[82] #define WCF7 WcMessages[83] #define WCF8 WcMessages[84] #define WCF9 WcMessages[85] #define WCF10 WcMessages[86] #define WCF11 WcMessages[87] #define WCF12 WcMessages[88] #define WCF13 WcMessages[89] #define WCF14 WcMessages[90] #define WCF15 WcMessages[91] #define WCF16 WcMessages[92] #define WCF17 WcMessages[93] #define WCF18 WcMessages[94] #define WCF19 WcMessages[95] #define WCF20 WcMessages[96] #define WCSelect WcMessages[97] #define WCKanji WcMessages[98] #define WCCancel WcMessages[99] #define WCExecute WcMessages[100] #define WCUp WcMessages[101] #define WCDown WcMessages[102] #define WCRight WcMessages[103] #define WCLeft WcMessages[104] #define WCStart WcMessages[105] #define WCHenkan WcMessages[106] #define WCMuhen WcMessages[107] #define WCKettei WcMessages[108] #define WCHira WcMessages[109] #define WCHalpha WcMessages[110] #define WCZalpha WcMessages[111] #define WCHkata WcMessages[112] #define WCZkata WcMessages[113] #define WCCode WcMessages[114] #define WCEtc WcMessages[115] #define WCRightl WcMessages[116] #define WCLeftl WcMessages[117] #define WCKaku WcMessages[118] #define WCSyuku WcMessages[119] #define WCEdit WcMessages[120] #define WCToggle WcMessages[121] #define WCWrapback WcMessages[122] #define WCWrap WcMessages[123] #define WCSjrc WcMessages[124] #define WCBuffer WcMessages[125] #define WCToroku WcMessages[126] #define WCSyoukyo WcMessages[127] #define WCHelp WcMessages[128] #define WCHaKettei WcMessages[129] #define WCFlush WcMessages[130] #define WCDebug WcMessages[131] #define WCCancell WcMessages[132] #define WCSaihenkan WcMessages[133] #define WCIgnore WcMessages[134] #define WCTop WcMessages[135] #define WCEnd WcMessages[136] #define WCReconnect WcMessages[137] #define WCKill WcMessages[138] #define WCKey WcMessages[139] #define WCEscape WcMessages[140] #define WCSjxkey WcMessages[141] #define WCEtckey WcMessages[142] #define WCIntr WcMessages[143] #define WCBskey WcMessages[144] #define WCDelkey WcMessages[145] #define WCSetnormal WcMessages[146] #define WCThroughnext WcMessages[147] #define WCInitialmode WcMessages[148] #define WCHelpmode WcMessages[149] #define WCDefaultcode WcMessages[150] #define WCMuhenkanmode WcMessages[151] #define WCMuhenkaninedit WcMessages[152] #define WCMuhenkantoggle WcMessages[153] #define WCGuide WcMessages[154] #define WCForkshell WcMessages[155] #define WCExecshell WcMessages[156] #define WCDictionary WcMessages[157] #define WCUserdic WcMessages[158] #define WCMaindic WcMessages[159] #define WCRomaji WcMessages[160] #define WCBstudy WcMessages[161] #define WCSilent WcMessages[162] #define WCFlushafterconversion WcMessages[163] #define WCRkerrbell WcMessages[164] #define WCServer WcMessages[165] #define WCShiftjis WcMessages[166] #define WCSjis WcMessages[167] #define WCEuc WcMessages[168] #define WCEuc2 WcMessages[169] #define WCJis WcMessages[170] #define WCJis2 WcMessages[171] #define WCKuten WcMessages[172] #define WCKuten2 WcMessages[173] #define WCBuff WcMessages[174] #define WCUnbuff WcMessages[175] #define WCDirect WcMessages[176] #define WCSj2 WcMessages[177] #define WCShift WcMessages[178] #define WCFunction WcMessages[179] #define WCUnbuffer WcMessages[180] #define WCFuncetc WcMessages[181] extern wchar16_t* WcMessages[]; struct wcvtkey { wchar16_t* key_word; wchar16_t key_seq[SEQLEN]; }; struct functbl { wchar16_t* keyword; int (*func)(); }; #endif