Annotation of mstools/h/winnls.h, revision 1.1.1.4

1.1       root        1: /*++ BUILD Version: 0003    // Increment this if a change has global effects
                      2: 
                      3: Copyright (c) 1991, Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:     winnls.h
                      8: 
                      9: Abstract:
                     10: 
                     11:     Procedure declarations, constant definitions, and macros for the
                     12:     NLS component.
                     13: 
                     14: Author:
                     15: 
                     16:     Julie Bennett (julieb) 31-May-1991
                     17: 
                     18: --*/
                     19: 
                     20: #ifndef _WINNLS_
                     21: #define _WINNLS_
                     22: 
1.1.1.4 ! root       23: #ifdef __cplusplus
        !            24: extern "C" {
        !            25: #endif
        !            26: 
1.1       root       27: #ifndef NONLS
                     28: 
                     29: 
                     30: /***************************************************************************\
                     31: * Constants
                     32: *
                     33: * Define all constants for the NLS component here.
                     34: \***************************************************************************/
                     35: 
                     36: /*
                     37:  *  String Length Maximums.
                     38:  */
1.1.1.2   root       39: #define MAX_LEADBYTES        12             /* 5 ranges, 2 bytes ea., 0 term. */
                     40: #define MAX_DEFAULTCHAR      2              /* single or double byte */
1.1       root       41: 
                     42: 
                     43: /*
                     44:  *  MBCS and Unicode Translation Flags.
                     45:  */
                     46: #define MB_PRECOMPOSED       0x00000001     /* use precomposed chars */
                     47: #define MB_COMPOSITE         0x00000002     /* use composite chars */
1.1.1.2   root       48: #define MB_USEGLYPHCHARS     0x00000004     /* use glyph chars, not ctrl chars */
1.1       root       49: 
1.1.1.2   root       50: #define WC_DEFAULTCHECK      0x00000100     /* check for default char */
                     51: #define WC_COMPOSITECHECK    0x00000200     /* convert composite to precomposed */
1.1       root       52: #define WC_DISCARDNS         0x00000010     /* discard non-spacing chars */
1.1.1.2   root       53: #define WC_SEPCHARS          0x00000020     /* generate separate chars */
                     54: #define WC_DEFAULTCHAR       0x00000040     /* replace w/ default char */
                     55: 
1.1       root       56: 
                     57: 
                     58: /*
                     59:  *  Character Type Flags.
                     60:  */
                     61: #define CT_CTYPE1            0x00000001     /* ctype 1 information */
                     62: #define CT_CTYPE2            0x00000002     /* ctype 2 information */
1.1.1.2   root       63: #define CT_CTYPE3            0x00000004     /* ctype 3 information */
1.1       root       64: 
                     65: /*
                     66:  *  CType 1 Flag Bits.
                     67:  */
1.1.1.2   root       68: #define C1_UPPER             0x0001         /* upper case */
                     69: #define C1_LOWER             0x0002         /* lower case */
                     70: #define C1_DIGIT             0x0004         /* decimal digits */
                     71: #define C1_SPACE             0x0008         /* spacing characters */
                     72: #define C1_PUNCT             0x0010         /* punctuation characters */
                     73: #define C1_CNTRL             0x0020         /* control characters */
                     74: #define C1_BLANK             0x0040         /* blank characters */
                     75: #define C1_XDIGIT            0x0080         /* other digits */
                     76: #define C1_ALPHA             0x0100         /* any letter */
1.1       root       77: 
                     78: /*
                     79:  *  CType 2 Flag Bits.
                     80:  */
1.1.1.4 ! root       81: #define C2_LEFTTORIGHT       0x0001         /* left to right */
        !            82: #define C2_RIGHTTOLEFT       0x0002         /* right to left */
1.1.1.2   root       83: 
1.1.1.4 ! root       84: #define C2_EUROPENUMBER      0x0003         /* European number, digit */
        !            85: #define C2_EUROPESEPARATOR   0x0004         /* European numeric separator */
        !            86: #define C2_EUROPETERMINATOR  0x0005         /* European numeric terminator */
        !            87: #define C2_ARABICNUMBER      0x0006         /* Arabic number */
        !            88: #define C2_COMMONSEPARATOR   0x0007         /* common numeric separator */
        !            89: 
        !            90: #define C2_BLOCKSEPARATOR    0x0008         /* block separator */
        !            91: #define C2_SEGMENTSEPARATOR  0x0009         /* segment separator */
        !            92: #define C2_WHITESPACE        0x000A         /* white space */
        !            93: #define C2_OTHERNEUTRAL      0x000B         /* other neutrals */
1.1       root       94: 
1.1.1.4 ! root       95: #define C2_NOTAPPLICABLE     0x0000         /* no implicit directionality */
1.1       root       96: 
                     97: /*
1.1.1.2   root       98:  *  CType 3 Flag Bits.
1.1       root       99:  */
1.1.1.2   root      100: #define C3_NONSPACING        0x0001         /* nonspacing character */
                    101: #define C3_DIACRITIC         0x0002         /* diacritic mark */
                    102: #define C3_VOWELMARK         0x0004         /* vowel mark */
                    103: #define C3_SYMBOL            0x0008         /* symbols */
                    104: 
1.1.1.4 ! root      105: #define C3_NOTAPPLICABLE     0x0000         /* ctype 3 is not applicable */
1.1.1.2   root      106: 
1.1       root      107: 
                    108: /*
1.1.1.2   root      109:  *  String Flags.
1.1       root      110:  */
1.1.1.2   root      111: #define NORM_IGNORECASE      0x00000001     /* ignore case */
                    112: #define NORM_IGNORENONSPACE  0x00000002     /* ignore nonspacing chars */
                    113: #define NORM_IGNORESYMBOLS   0x00000004     /* ignore symbols */
1.1       root      114: 
                    115: 
1.1.1.2   root      116: /*
                    117:  *  Locale Independent Mapping Flags.
                    118:  */
                    119: #define MAP_FOLDCZONE        0x00000010     /* fold compatibility zone chars */
1.1.1.4 ! root      120: #define MAP_PRECOMPOSED      0x00000020     /* convert to precomposed chars */
        !           121: #define MAP_COMPOSITE        0x00000040     /* convert to composite chars */
1.1.1.2   root      122: #define MAP_FOLDDIGITS       0x00000080     /* all digits to ASCII 0-9 */
1.1       root      123: 
                    124: 
                    125: /*
1.1.1.2   root      126:  *  Locale Dependent Mapping Flags.
1.1       root      127:  */
1.1.1.2   root      128: #define LCMAP_LOWERCASE      0x00000100     /* lower case letters */
                    129: #define LCMAP_UPPERCASE      0x00000200     /* upper case letters */
                    130: #define LCMAP_SORTKEY        0x00000400     /* WC sort key (normalize) */
                    131: #define LCMAP_BYTEREV        0x00000800     /* byte reversal */
1.1       root      132: 
                    133: 
                    134: /*
1.1.1.4 ! root      135:  *  Sorting Flags.
1.1       root      136:  *
1.1.1.4 ! root      137:  *    WORD Sort:    culturally correct sort
        !           138:  *                  hyphen and apostrophe are special cased
        !           139:  *                  example: "coop" and "co-op" will sort together in a list
        !           140:  *
        !           141:  *                        co_op     <-------  underscore (symbol)
        !           142:  *                        coat
        !           143:  *                        comb
        !           144:  *                        coop
        !           145:  *                        co-op     <-------  hyphen (punctuation)
        !           146:  *                        cork
        !           147:  *                        went
        !           148:  *                        were
        !           149:  *                        we're     <-------  apostrophe (punctuation)
        !           150:  *
        !           151:  *
        !           152:  *    STRING Sort:  hyphen and apostrophe will sort with all other symbols
        !           153:  *
        !           154:  *                        co-op     <-------  hyphen (punctuation)
        !           155:  *                        co_op     <-------  underscore (symbol)
        !           156:  *                        coat
        !           157:  *                        comb
        !           158:  *                        coop
        !           159:  *                        cork
        !           160:  *                        we're     <-------  apostrophe (punctuation)
        !           161:  *                        went
        !           162:  *                        were
1.1       root      163:  */
1.1.1.4 ! root      164: #define SORT_STRINGSORT      0x00001000     /* use string sort method */
1.1       root      165: 
                    166: 
                    167: /*
1.1.1.4 ! root      168:  *  Code Page Default Values.
        !           169:  */
        !           170: #define CP_ACP               0              /* default to ANSI code page */
        !           171: #define CP_OEMCP             1              /* default to OEM  code page */
1.1       root      172: 
                    173: 
1.1.1.2   root      174: /*
                    175:  *  Country Codes.
                    176:  */
                    177: #define CTRY_DEFAULT                     0
                    178: 
                    179: #define CTRY_AUSTRALIA                   61      /* Australia */
                    180: #define CTRY_AUSTRIA                     43      /* Austria */
                    181: #define CTRY_BELGIUM                     32      /* Belgium */
                    182: #define CTRY_BRAZIL                      55      /* Brazil */
                    183: #define CTRY_CANADA                      2       /* Canada */
                    184: #define CTRY_DENMARK                     45      /* Denmark */
                    185: #define CTRY_FINLAND                     358     /* Finland */
                    186: #define CTRY_FRANCE                      33      /* France */
                    187: #define CTRY_GERMANY                     49      /* Germany */
                    188: #define CTRY_ICELAND                     354     /* Iceland */
                    189: #define CTRY_IRELAND                     353     /* Ireland */
                    190: #define CTRY_ITALY                       39      /* Italy */
                    191: #define CTRY_JAPAN                       81      /* Japan */
                    192: #define CTRY_MEXICO                      52      /* Mexico */
                    193: #define CTRY_NETHERLANDS                 31      /* Netherlands */
                    194: #define CTRY_NEW_ZEALAND                 64      /* New Zealand */
                    195: #define CTRY_NORWAY                      47      /* Norway */
                    196: #define CTRY_PORTUGAL                    351     /* Portugal */
                    197: #define CTRY_PRCHINA                     86      /* PR China */
                    198: #define CTRY_SOUTH_KOREA                 82      /* South Korea */
                    199: #define CTRY_SPAIN                       34      /* Spain */
                    200: #define CTRY_SWEDEN                      46      /* Sweden */
                    201: #define CTRY_SWITZERLAND                 41      /* Switzerland */
                    202: #define CTRY_TAIWAN                      886     /* Taiwan */
                    203: #define CTRY_UNITED_KINGDOM              44      /* United Kingdom */
                    204: #define CTRY_UNITED_STATES               1       /* United States */
                    205: 
1.1       root      206: 
1.1.1.2   root      207: /*
                    208:  *  Locale Types.
                    209:  *
                    210:  *  These types are used for the GetLocaleInfoW NLS API routine.
1.1.1.4 ! root      211:  *
        !           212:  *  LOCALE_NOUSEROVERRIDE is also used in GetTimeFormatW and GetDateFormatW.
1.1.1.2   root      213:  */
1.1.1.4 ! root      214: #define LOCALE_NOUSEROVERRIDE      0x80000000  /* do not use user overrides */
        !           215: 
        !           216: #define LOCALE_ILANGUAGE           0x00000001  /* language id */
        !           217: #define LOCALE_SLANGUAGE           0x00000002  /* localized name of language */
        !           218: #define LOCALE_SENGLANGUAGE        0x00001001  /* English name of language */
        !           219: #define LOCALE_SABBREVLANGNAME     0x00000003  /* abbreviated language name */
        !           220: #define LOCALE_SNATIVELANGNAME     0x00000004  /* native name of language */
        !           221: #define LOCALE_ICOUNTRY            0x00000005  /* country code */
        !           222: #define LOCALE_SCOUNTRY            0x00000006  /* localized name of country */  
        !           223: #define LOCALE_SENGCOUNTRY         0x00001002  /* English name of country */  
        !           224: #define LOCALE_SABBREVCTRYNAME     0x00000007  /* abbreviated country name */
        !           225: #define LOCALE_SNATIVECTRYNAME     0x00000008  /* native name of country */  
        !           226: #define LOCALE_IDEFAULTLANGUAGE    0x00000009  /* default language id */
        !           227: #define LOCALE_IDEFAULTCOUNTRY     0x0000000A  /* default country code */
        !           228: #define LOCALE_IDEFAULTCODEPAGE    0x0000000B  /* default code page */
        !           229:                                            
        !           230: #define LOCALE_SLIST               0x0000000C  /* list item separator */
        !           231: #define LOCALE_IMEASURE            0x0000000D  /* 0 = metric, 1 = US */
        !           232:                                            
        !           233: #define LOCALE_SDECIMAL            0x0000000E  /* decimal separator */
        !           234: #define LOCALE_STHOUSAND           0x0000000F  /* thousand separator */
        !           235: #define LOCALE_SGROUPING           0x00000010  /* digit grouping */
        !           236: #define LOCALE_IDIGITS             0x00000011  /* number of fractional digits */
        !           237: #define LOCALE_ILZERO              0x00000012  /* leading zeros for decimal */
        !           238: #define LOCALE_SNATIVEDIGITS       0x00000013  /* native ascii 0-9 */
        !           239:                                            
        !           240: #define LOCALE_SCURRENCY           0x00000014  /* local monetary symbol */
        !           241: #define LOCALE_SINTLSYMBOL         0x00000015  /* intl monetary symbol */
        !           242: #define LOCALE_SMONDECIMALSEP      0x00000016  /* monetary decimal separator */
        !           243: #define LOCALE_SMONTHOUSANDSEP     0x00000017  /* monetary thousand separator */
        !           244: #define LOCALE_SMONGROUPING        0x00000018  /* monetary grouping */
        !           245: #define LOCALE_ICURRDIGITS         0x00000019  /* # local monetary digits */
        !           246: #define LOCALE_IINTLCURRDIGITS     0x0000001A  /* # intl monetary digits */
        !           247: #define LOCALE_ICURRENCY           0x0000001B  /* positive currency mode */
        !           248: #define LOCALE_INEGCURR            0x0000001C  /* negative currency mode */
        !           249:                                            
        !           250: #define LOCALE_SDATE               0x0000001D  /* date separator */
        !           251: #define LOCALE_STIME               0x0000001E  /* time separator */
        !           252: #define LOCALE_SSHORTDATE          0x0000001F  /* short date format string */
        !           253: #define LOCALE_SLONGDATE           0x00000020  /* long date format string */
        !           254: #define LOCALE_STIMEFORMAT         0x00001003  /* time format string */
        !           255: #define LOCALE_IDATE               0x00000021  /* short date format ordering */
        !           256: #define LOCALE_ILDATE              0x00000022  /* long date format ordering */
        !           257: #define LOCALE_ITIME               0x00000023  /* time format specifier */
        !           258: #define LOCALE_ICENTURY            0x00000024  /* century format specifier */
        !           259: #define LOCALE_ITLZERO             0x00000025  /* leading zeros in time field */
        !           260: #define LOCALE_IDAYLZERO           0x00000026  /* leading zeros in day field */
        !           261: #define LOCALE_IMONLZERO           0x00000027  /* leading zeros in month field */
        !           262: #define LOCALE_S1159               0x00000028  /* AM designator */
        !           263: #define LOCALE_S2359               0x00000029  /* PM designator */
        !           264:                                            
        !           265: #define LOCALE_SDAYNAME1           0x0000002A  /* long name for Monday */
        !           266: #define LOCALE_SDAYNAME2           0x0000002B  /* long name for Tuesday */
        !           267: #define LOCALE_SDAYNAME3           0x0000002C  /* long name for Wednesday */
        !           268: #define LOCALE_SDAYNAME4           0x0000002D  /* long name for Thursday */
        !           269: #define LOCALE_SDAYNAME5           0x0000002E  /* long name for Friday */
        !           270: #define LOCALE_SDAYNAME6           0x0000002F  /* long name for Saturday */
        !           271: #define LOCALE_SDAYNAME7           0x00000030  /* long name for Sunday */
        !           272: #define LOCALE_SABBREVDAYNAME1     0x00000031  /* abbreviated name for Monday */   
        !           273: #define LOCALE_SABBREVDAYNAME2     0x00000032  /* abbreviated name for Tuesday */  
        !           274: #define LOCALE_SABBREVDAYNAME3     0x00000033  /* abbreviated name for Wednesday */
        !           275: #define LOCALE_SABBREVDAYNAME4     0x00000034  /* abbreviated name for Thursday */ 
        !           276: #define LOCALE_SABBREVDAYNAME5     0x00000035  /* abbreviated name for Friday */   
        !           277: #define LOCALE_SABBREVDAYNAME6     0x00000036  /* abbreviated name for Saturday */ 
        !           278: #define LOCALE_SABBREVDAYNAME7     0x00000037  /* abbreviated name for Sunday */   
        !           279: #define LOCALE_SMONTHNAME1         0x00000038  /* long name for January */
        !           280: #define LOCALE_SMONTHNAME2         0x00000039  /* long name for February */
        !           281: #define LOCALE_SMONTHNAME3         0x0000003A  /* long name for March */
        !           282: #define LOCALE_SMONTHNAME4         0x0000003B  /* long name for April */
        !           283: #define LOCALE_SMONTHNAME5         0x0000003C  /* long name for May */
        !           284: #define LOCALE_SMONTHNAME6         0x0000003D  /* long name for June */
        !           285: #define LOCALE_SMONTHNAME7         0x0000003E  /* long name for July */
        !           286: #define LOCALE_SMONTHNAME8         0x0000003F  /* long name for August */
        !           287: #define LOCALE_SMONTHNAME9         0x00000040  /* long name for September */
        !           288: #define LOCALE_SMONTHNAME10        0x00000041  /* long name for October */
        !           289: #define LOCALE_SMONTHNAME11        0x00000042  /* long name for November */
        !           290: #define LOCALE_SMONTHNAME12        0x00000043  /* long name for December */
        !           291: #define LOCALE_SABBREVMONTHNAME1   0x00000044  /* abbreviated name for January */
        !           292: #define LOCALE_SABBREVMONTHNAME2   0x00000045  /* abbreviated name for February */
        !           293: #define LOCALE_SABBREVMONTHNAME3   0x00000046  /* abbreviated name for March */
        !           294: #define LOCALE_SABBREVMONTHNAME4   0x00000047  /* abbreviated name for April */
        !           295: #define LOCALE_SABBREVMONTHNAME5   0x00000048  /* abbreviated name for May */
        !           296: #define LOCALE_SABBREVMONTHNAME6   0x00000049  /* abbreviated name for June */
        !           297: #define LOCALE_SABBREVMONTHNAME7   0x0000004A  /* abbreviated name for July */
        !           298: #define LOCALE_SABBREVMONTHNAME8   0x0000004B  /* abbreviated name for August */
        !           299: #define LOCALE_SABBREVMONTHNAME9   0x0000004C  /* abbreviated name for September */
        !           300: #define LOCALE_SABBREVMONTHNAME10  0x0000004D  /* abbreviated name for October */
        !           301: #define LOCALE_SABBREVMONTHNAME11  0x0000004E  /* abbreviated name for November */
        !           302: #define LOCALE_SABBREVMONTHNAME12  0x0000004F  /* abbreviated name for December */
        !           303:                                            
        !           304: #define LOCALE_SPOSITIVESIGN       0x00000050  /* positive sign */
        !           305: #define LOCALE_SNEGATIVESIGN       0x00000051  /* negative sign */
        !           306: #define LOCALE_IPOSSIGNPOSN        0x00000052  /* positive sign position */
        !           307: #define LOCALE_INEGSIGNPOSN        0x00000053  /* negative sign position */
        !           308: #define LOCALE_IPOSSYMPRECEDES     0x00000054  /* mon sym precedes pos amt */
        !           309: #define LOCALE_IPOSSEPBYSPACE      0x00000055  /* mon sym sep by space from pos amt */ 
        !           310: #define LOCALE_INEGSYMPRECEDES     0x00000056  /* mon sym precedes neg amt */
        !           311: #define LOCALE_INEGSEPBYSPACE      0x00000057  /* mon sym sep by space from neg amt */
        !           312: 
        !           313: 
        !           314: /*
        !           315:  *  Time Flags for GetTimeFormatW.
        !           316:  */
        !           317: #define TIME_NOMINUTESORSECONDS    0x00000001  /* do not use minutes or seconds */
        !           318: #define TIME_NOSECONDS             0x00000002  /* do not use seconds */
        !           319: #define TIME_NOTIMEMARKER          0x00000004  /* do not use time marker */
        !           320: #define TIME_FORCE24HOURFORMAT     0x00000008  /* always use 24 hour format */
        !           321: 
        !           322: 
        !           323: /*
        !           324:  *  Date Flags for GetDateFormatW.
        !           325:  */
        !           326: #define DATE_SHORTDATE             0x00000001  /* use short date picture */
        !           327: #define DATE_LONGDATE              0x00000002  /* use long date picture */
        !           328: 
        !           329: 
        !           330: 
1.1       root      331: /***************************************************************************\
                    332: * Typedefs
                    333: *
                    334: * Define all types for the NLS component here.
                    335: \***************************************************************************/
                    336: 
                    337: /*
1.1.1.4 ! root      338:  *  Locale type constant
1.1       root      339:  */
1.1.1.4 ! root      340: 
        !           341: typedef DWORD LCTYPE;
1.1       root      342: 
                    343: 
                    344: /*
1.1.1.2   root      345:  *  CP Info.
1.1       root      346:  */
1.1.1.2   root      347: typedef struct _cpinfo {
                    348:     UINT   MaxCharSize;                     /* max length (bytes) of a char */
                    349:     BYTE   DefaultChar[MAX_DEFAULTCHAR];    /* default character */
                    350:     BYTE   LeadByte[MAX_LEADBYTES];         /* lead byte ranges */
                    351: } CPINFO, *LPCPINFO;
1.1       root      352: 
                    353: 
                    354: 
                    355: /***************************************************************************\
                    356: * Macros
                    357: *
                    358: * Define all macros for the NLS component here.
                    359: \***************************************************************************/
                    360: 
                    361: 
                    362: 
                    363: /***************************************************************************\
                    364: * Function Prototypes
                    365: *
                    366: * Only prototypes for the NLS APIs should go here.
                    367: \***************************************************************************/
                    368: 
                    369: /*
1.1.1.2   root      370:  *  Code Page Dependent APIs.
1.1       root      371:  */
1.1.1.4 ! root      372: BOOL
        !           373: WINAPI
        !           374: IsValidCodePage(
        !           375:     UINT  CodePage);
        !           376: 
        !           377: UINT
        !           378: WINAPI
        !           379: GetACP(void);
        !           380: 
        !           381: UINT
        !           382: WINAPI
        !           383: GetOEMCP(void);
        !           384: 
        !           385: BOOL
        !           386: WINAPI
        !           387: GetCPInfo(
        !           388:     UINT      CodePage,
        !           389:     LPCPINFO  lpCPInfo);
        !           390: 
        !           391: BOOL
        !           392: WINAPI
        !           393: IsDBCSLeadByte(
        !           394:     BYTE  TestChar);
        !           395: 
        !           396: int
        !           397: WINAPI
        !           398: MultiByteToWideChar(
        !           399:     UINT    CodePage,
        !           400:     DWORD   dwFlags,
        !           401:     LPCSTR  lpMultiByteStr,
        !           402:     int     cchMultiByte,
        !           403:     LPWSTR  lpWideCharStr,
        !           404:     int     cchWideChar);
        !           405: 
        !           406: int
        !           407: WINAPI
        !           408: WideCharToMultiByte(
        !           409:     UINT     CodePage,
        !           410:     DWORD    dwFlags,
        !           411:     LPCWSTR  lpWideCharStr,
        !           412:     int      cchWideChar,
        !           413:     LPSTR    lpMultiByteStr,
        !           414:     int      cchMultiByte,
        !           415:     LPCSTR   lpDefaultChar,
        !           416:     LPBOOL   lpUsedDefaultChar);
1.1       root      417: 
                    418: 
                    419: /*
1.1.1.2   root      420:  *  Locale Dependent APIs.
1.1       root      421:  */
1.1.1.4 ! root      422: int
        !           423: WINAPI
        !           424: CompareStringW(
        !           425:     LCID     Locale,
        !           426:     DWORD    dwCmpFlags,
        !           427:     LPCWSTR  lpString1,
        !           428:     int      cchCount1,
        !           429:     LPCWSTR  lpString2,
        !           430:     int      cchCount2);
        !           431: 
        !           432: int
        !           433: WINAPI
        !           434: LCMapStringW(
        !           435:     LCID     Locale,
        !           436:     DWORD    dwMapFlags,
        !           437:     LPCWSTR  lpSrcStr,
        !           438:     int      cchSrc,
        !           439:     LPWSTR   lpDestStr,
        !           440:     int      cchDest);
        !           441: 
        !           442: int
        !           443: WINAPI
        !           444: GetLocaleInfoW(
        !           445:     LCID    Locale,
        !           446:     LCTYPE  LCType,
        !           447:     LPWSTR  lpLCData,
        !           448:     int     cchData);
        !           449: 
        !           450: int
        !           451: WINAPI
        !           452: GetTimeFormatW(
        !           453:     LCID Locale,
        !           454:     DWORD dwFlags,
        !           455:     CONST SYSTEMTIME *lpTime,
        !           456:     LPCWSTR lpFormat,
        !           457:     LPWSTR lpTimeStr,
        !           458:     int cchTime);
        !           459: 
        !           460: int
        !           461: WINAPI
        !           462: GetDateFormatW(
        !           463:     LCID Locale,
        !           464:     DWORD dwFlags,
        !           465:     CONST SYSTEMTIME *lpDate,
        !           466:     LPCWSTR lpFormat,
        !           467:     LPWSTR lpDateStr,
        !           468:     int cchDate);
        !           469: 
        !           470: LCID
        !           471: WINAPI
        !           472: GetThreadLocale(void);
        !           473: 
        !           474: BOOL
        !           475: WINAPI
        !           476: SetThreadLocale(
        !           477:     LCID Locale
        !           478:     );
        !           479: 
        !           480: LANGID
        !           481: WINAPI
        !           482: GetSystemDefaultLangID(void);
        !           483: 
        !           484: LANGID
        !           485: WINAPI
        !           486: GetUserDefaultLangID(void);
        !           487: 
        !           488: LCID
        !           489: WINAPI
        !           490: GetSystemDefaultLCID(void);
        !           491: 
        !           492: LCID
        !           493: WINAPI
        !           494: GetUserDefaultLCID(void);
1.1       root      495: 
                    496: 
                    497: /*
1.1.1.2   root      498:  *  Locale Independent APIs.
1.1       root      499:  */
1.1.1.4 ! root      500: BOOL
        !           501: WINAPI
        !           502: GetStringTypeW(
        !           503:     DWORD    dwInfoType,
        !           504:     LPCWSTR  lpSrcStr,
        !           505:     int      cchSrc,
        !           506:     LPWORD   lpCharType);
        !           507: 
        !           508: int
        !           509: WINAPI
        !           510: FoldStringW(
        !           511:     DWORD    dwMapFlags,
        !           512:     LPCWSTR  lpSrcStr,
        !           513:     int      cchSrc,
        !           514:     LPWSTR   lpDestStr,
        !           515:     int      cchDest);
1.1       root      516: 
                    517: 
                    518: 
                    519: #endif   // NONLS
                    520: 
1.1.1.4 ! root      521: #ifdef __cplusplus
        !           522: }
        !           523: #endif
1.1.1.2   root      524: 
1.1.1.4 ! root      525: #endif   // _WINNLS_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.