Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _UMX_H_
      7 #define _UMX_H_
      8 
      9 #include <_mingw_unicode.h>
     10 
     11 #define UME_MENU_TEXT_LEN 50
     12 #define UME_VERSION 0
     13 
     14 #define UMS_LISTBOX_USERS 0
     15 #define UMS_LISTBOX_GROUPS 1
     16 
     17 #define UM_GETSELCOUNT (WM_USER + 1000)
     18 #define UM_GETUSERSELA (WM_USER + 1001)
     19 #define UM_GETUSERSELW (WM_USER + 1002)
     20 #define UM_GETGROUPSELA (WM_USER + 1003)
     21 #define UM_GETGROUPSELW (WM_USER + 1004)
     22 #define UM_GETCURFOCUSA (WM_USER + 1005)
     23 #define UM_GETCURFOCUSW (WM_USER + 1006)
     24 #define UM_GETOPTIONS (WM_USER + 1007)
     25 #define UM_GETOPTIONS2 (WM_USER + 1008)
     26 
     27 #define UM_GETUSERSEL __MINGW_NAME_AW(UM_GETUSERSEL)
     28 #define UM_GETGROUPSEL __MINGW_NAME_AW(UM_GETGROUPSEL)
     29 #define UM_GETCURFOCUS __MINGW_NAME_AW(UM_GETCURFOCUS)
     30 
     31 typedef struct _UMS_LOADMENUA {
     32   DWORD dwVersion;
     33   CHAR szMenuName[UME_MENU_TEXT_LEN + 1];
     34   HMENU hMenu;
     35   CHAR szHelpFileName[MAX_PATH];
     36   DWORD dwMenuDelta;
     37 } UMS_LOADMENUA,*PUMS_LOADMENUA;
     38 
     39 typedef struct _UMS_LOADMENUW {
     40   DWORD dwVersion;
     41   WCHAR szMenuName[UME_MENU_TEXT_LEN + 1];
     42   HMENU hMenu;
     43   WCHAR szHelpFileName[MAX_PATH];
     44   DWORD dwMenuDelta;
     45 } UMS_LOADMENUW,*PUMS_LOADMENUW;
     46 
     47 #define UMS_LOADMENU __MINGW_NAME_AW(UMS_LOADMENU)
     48 #define PUMS_LOADMENU __MINGW_NAME_AW(PUMS_LOADMENU)
     49 
     50 #define UM_SELTYPE_USER 0x10
     51 #define UM_SELTYPE_NORMALUSER 0x1 | UM_SELTYPE_USER
     52 #define UM_SELTYPE_REMOTEUSER 0x2 | UM_SELTYPE_USER
     53 #define UM_SELTYPE_GROUP 0x20
     54 #define UM_SELTYPE_LOCALGROUP 0x4 | UM_SELTYPE_GROUP
     55 #define UM_SELTYPE_GLOBALGROUP 0x8 | UM_SELTYPE_GROUP
     56 
     57 typedef struct _UMS_GETSELA {
     58   DWORD dwRID;
     59   LPSTR pchName;
     60   DWORD dwSelType;
     61   LPSTR pchFullName;
     62   LPSTR pchComment;
     63 } UMS_GETSELA,*PUMS_GETSELA;
     64 
     65 typedef struct _UMS_GETSELW {
     66   DWORD dwRID;
     67   LPWSTR pchName;
     68   DWORD dwSelType;
     69   LPWSTR pchFullName;
     70   LPWSTR pchComment;
     71 } UMS_GETSELW,*PUMS_GETSELW;
     72 
     73 #define UMS_GETSEL __MINGW_NAME_AW(UMS_GETSEL)
     74 #define PUMS_GETSEL __MINGW_NAME_AW(PUMS_GETSEL)
     75 
     76 typedef struct _UMS_GETSELCOUNT {
     77   DWORD dwItems;
     78 } UMS_GETSELCOUNT,*PUMS_GETSELCOUNT;
     79 
     80 #define UM_FOCUS_TYPE_DOMAIN 1
     81 #define UM_FOCUS_TYPE_WINNT 2
     82 #define UM_FOCUS_TYPE_LM 3
     83 #define UM_FOCUS_TYPE_UNKNOWN 4
     84 
     85 typedef struct _UMS_GETCURFOCUSA {
     86   CHAR szFocus[MAX_PATH];
     87   DWORD dwFocusType;
     88   CHAR szFocusPDC[MAX_PATH];
     89   PVOID psidFocus;
     90 } UMS_GETCURFOCUSA,*PUMS_GETCURFOCUSA;
     91 
     92 typedef struct _UMS_GETCURFOCUSW {
     93   WCHAR szFocus[MAX_PATH];
     94   DWORD dwFocusType;
     95   WCHAR szFocusPDC[MAX_PATH];
     96   PVOID psidFocus;
     97 } UMS_GETCURFOCUSW,*PUMS_GETCURFOCUSW;
     98 
     99 #define UMS_GETCURFOCUS __MINGW_NAME_AW(UMS_GETCURFOCUS)
    100 #define PUMS_GETCURFOCUS __MINGW_NAME_AW(PUMS_GETCURFOCUS)
    101 
    102 typedef struct _UMS_GETOPTIONS {
    103   WINBOOL fSaveSettingsOnExit;
    104   WINBOOL fConfirmation;
    105   WINBOOL fSortByFullName;
    106 } UMS_GETOPTIONS,*PUMS_GETOPTIONS;
    107 
    108 typedef struct _UMS_GETOPTIONS2 {
    109   WINBOOL fSaveSettingsOnExit;
    110   WINBOOL fConfirmation;
    111   WINBOOL fSortByFullName;
    112   WINBOOL fMiniUserManager;
    113   WINBOOL fLowSpeedConnection;
    114 } UMS_GETOPTIONS2,*PUMS_GETOPTIONS2;
    115 
    116 #define SZ_UME_UNLOADMENU "UMEUnloadMenu"
    117 #define SZ_UME_INITIALIZEMENU "UMEInitializeMenu"
    118 #define SZ_UME_REFRESH "UMERefresh"
    119 #define SZ_UME_MENUACTION "UMEMenuAction"
    120 
    121 #define SZ_UME_LOADMENUW "UMELoadMenuW"
    122 #define SZ_UME_GETEXTENDEDERRORSTRINGW "UMEGetExtendedErrorStringW"
    123 #define SZ_UME_CREATEW "UMECreateW"
    124 #define SZ_UME_DELETEW "UMEDeleteW"
    125 #define SZ_UME_RENAMEW "UMERenameW"
    126 
    127 #define SZ_UME_LOADMENUA "UMELoadMenuA"
    128 #define SZ_UME_GETEXTENDEDERRORSTRINGA "UMEGetExtendedErrorStringA"
    129 #define SZ_UME_CREATEA "UMECreateA"
    130 #define SZ_UME_DELETEA "UMEDeleteA"
    131 #define SZ_UME_RENAMEA "UMERenameA"
    132 
    133 #define SZ_UME_LOADMENU __MINGW_NAME_AW(SZ_UME_LOADMENU)
    134 #define SZ_UME_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(SZ_UME_GETEXTENDEDERRORSTRING)
    135 #define SZ_UME_CREATE __MINGW_NAME_AW(SZ_UME_CREATE)
    136 #define SZ_UME_DELETE __MINGW_NAME_AW(SZ_UME_DELETE)
    137 #define SZ_UME_RENAME __MINGW_NAME_AW(SZ_UME_RENAME)
    138 
    139 typedef DWORD (WINAPI *PUMX_LOADMENUW)(HWND hWnd,PUMS_LOADMENUW pumsload);
    140 typedef DWORD (WINAPI *PUMX_LOADMENUA)(HWND hWnd,PUMS_LOADMENUA pumsload);
    141 
    142 typedef LPWSTR (WINAPI *PUMX_GETEXTENDEDERRORSTRINGW)(VOID);
    143 typedef LPSTR (WINAPI *PUMX_GETEXTENDEDERRORSTRINGA)(VOID);
    144 typedef VOID (WINAPI *PUMX_UNLOADMENU)(VOID);
    145 typedef VOID (WINAPI *PUMX_INITIALIZEMENU)(VOID);
    146 typedef VOID (WINAPI *PUMX_REFRESH)(HWND hwndParent);
    147 typedef VOID (WINAPI *PUMX_MENUACTION)(HWND hwndParent,DWORD dwEventId);
    148 typedef VOID (WINAPI *PUMX_CREATEW)(HWND hwndParent,PUMS_GETSELW pumsSelection);
    149 typedef VOID (WINAPI *PUMX_CREATEA)(HWND hwndParent,PUMS_GETSELA pumsSelection);
    150 typedef VOID (WINAPI *PUMX_DELETEW)(HWND hwndParent,PUMS_GETSELW pumsSelection);
    151 typedef VOID (WINAPI *PUMX_DELETEA)(HWND hwndParent,PUMS_GETSELA pumsSelection);
    152 typedef VOID (WINAPI *PUMX_RENAMEW)(HWND hwndParent,PUMS_GETSELW pumsSelection,LPWSTR pchNewName);
    153 typedef VOID (WINAPI *PUMX_RENAMEA)(HWND hwndParent,PUMS_GETSELA pumsSelection,LPSTR pchNewName);
    154 
    155 #define PUMX_LOADMENU __MINGW_NAME_AW(PUMX_LOADMENU)
    156 #define PUMX_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(PUMX_GETEXTENDEDERRORSTRING)
    157 #define PUMX_CREATE __MINGW_NAME_AW(PUMX_CREATE)
    158 #define PUMX_DELETE __MINGW_NAME_AW(PUMX_DELETE)
    159 #define PUMX_RENAME __MINGW_NAME_AW(PUMX_RENAME)
    160 
    161 DWORD WINAPI UMELoadMenuA(HWND hwndMessage,PUMS_LOADMENUA pumsload);
    162 DWORD WINAPI UMELoadMenuW(HWND hwndMessage,PUMS_LOADMENUW pumsload);
    163 LPSTR WINAPI UMEGetExtendedErrorStringA(VOID);
    164 LPWSTR WINAPI UMEGetExtendedErrorStringW(VOID);
    165 VOID WINAPI UMEUnloadMenu(VOID);
    166 VOID WINAPI UMEInitializeMenu(VOID);
    167 VOID WINAPI UMERefresh(HWND hwndParent);
    168 VOID WINAPI UMEMenuAction(HWND hwndParent,DWORD dwEventId);
    169 VOID WINAPI UMECreateA(HWND hwndParent,PUMS_GETSELA pumsSelection);
    170 VOID WINAPI UMECreateW(HWND hwndParent,PUMS_GETSELW pumsSelection);
    171 VOID WINAPI UMEDeleteA(HWND hwndParent,PUMS_GETSELA pumsSelection);
    172 VOID WINAPI UMEDeleteW(HWND hwndParent,PUMS_GETSELW pumsSelection);
    173 VOID WINAPI UMERenameA(HWND hwndParent,PUMS_GETSELA pumsSelection,LPSTR pchNewName);
    174 VOID WINAPI UMERenameW(HWND hwndParent,PUMS_GETSELW pumsSelection,LPWSTR pchNewName);
    175 #endif
    176