1 /**
2  * This file is part of the mingw-w64 runtime package.
3  * No warranty is given; refer to the file DISCLAIMER within this package.
4  */
5 
6 #ifndef _WINNLS32_
7 #define _WINNLS32_
8 
9 #include <_mingw_unicode.h>
10 #include <winapifamily.h>
11 
12 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18   typedef struct _tagDATETIME {
19     WORD year;
20     WORD month;
21     WORD day;
22     WORD hour;
23     WORD min;
24     WORD sec;
25   } DATETIME;
26 
27   typedef struct _tagIMEPROA {
28     HWND hWnd;
29     DATETIME InstDate;
30     UINT wVersion;
31     BYTE szDescription[50];
32     BYTE szName[80];
33     BYTE szOptions[30];
34   } IMEPROA,*PIMEPROA,*NPIMEPROA,*LPIMEPROA;
35 
36   typedef struct _tagIMEPROW {
37     HWND hWnd;
38     DATETIME InstDate;
39     UINT wVersion;
40     WCHAR szDescription[50];
41     WCHAR szName[80];
42     WCHAR szOptions[30];
43   } IMEPROW,*PIMEPROW,*NPIMEPROW,*LPIMEPROW;
44 
45   __MINGW_TYPEDEF_AW(IMEPRO)
46   __MINGW_TYPEDEF_AW(PIMEPRO)
47   __MINGW_TYPEDEF_AW(NPIMEPRO)
48   __MINGW_TYPEDEF_AW(LPIMEPRO)
49 
50   WINBOOL WINAPI IMPGetIMEA (HWND, LPIMEPROA);
51   WINBOOL WINAPI IMPGetIMEW (HWND, LPIMEPROW);
52   WINBOOL WINAPI IMPQueryIMEA (LPIMEPROA);
53   WINBOOL WINAPI IMPQueryIMEW (LPIMEPROW);
54   WINBOOL WINAPI IMPSetIMEA (HWND, LPIMEPROA);
55   WINBOOL WINAPI IMPSetIMEW (HWND, LPIMEPROW);
56   UINT WINAPI WINNLSGetIMEHotkey (HWND);
57   WINBOOL WINAPI WINNLSEnableIME (HWND, WINBOOL);
58   WINBOOL WINAPI WINNLSGetEnableStatus (HWND);
59 
60 #define IMPGetIME __MINGW_NAME_AW(IMPGetIME)
61 #define IMPQueryIME __MINGW_NAME_AW(IMPQueryIME)
62 #define IMPSetIME __MINGW_NAME_AW(IMPSetIME)
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif
69 
70 #endif
71