107a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com#include "windows.h"
207a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com#include "stdio.h"
307a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com
407a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com#define BUFFER_SIZE 512
507a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.comBOOL CALLBACK MyFuncLocaleEx(LPWSTR pStr, DWORD dwFlags, LPARAM lparam) {
607a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    WCHAR wcBuffer[BUFFER_SIZE];
707a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    int bufferSize;
807a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com
907a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    bufferSize = GetLocaleInfoEx(pStr, LOCALE_SENGLANGUAGE, wcBuffer, BUFFER_SIZE);
1007a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    if (bufferSize == 0) {
1107a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com        wprintf(L"Locale %s had error %d\n", pStr, GetLastError());
1207a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com        return (TRUE);
1307a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    }
1407a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com
1507a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    LCID lcid = LocaleNameToLCID(pStr, NULL);
1607a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    if (lcid == 0) {
1707a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com        wprintf(L"Error %d getting LCID\n", GetLastError());
1807a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com        return (TRUE);
1907a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    }
20041e2dbc0614e3341e1349fd0e962744a45b6194skia.committer@gmail.com
2107a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    if (lcid > 0x8000) {
2207a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com        wprintf(L"//");
2307a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    }
2407a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    wprintf(L"    { 0x%.4x, \"%s\" }, //%s\n", lcid, pStr, wcBuffer);
2507a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com
2607a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    return (TRUE);
2707a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com}
2807a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com
2907a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.comint main(int argc, wchar_t* argv[]) {
3007a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com    EnumSystemLocalesEx(MyFuncLocaleEx, LOCALE_ALL, NULL, NULL);
3107a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com}
32