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 _SMX_H_ 7 #define _SMX_H_ 8 9 #include <_mingw_unicode.h> 10 11 #define MENU_TEXT_LEN 50 12 13 #define SME_VERSION 0 14 15 #define SM_GETSELCOUNT (WM_USER + 1000) 16 #define SM_GETSERVERSELA (WM_USER + 1001) 17 #define SM_GETSERVERSELW (WM_USER + 1002) 18 #define SM_GETCURFOCUSA (WM_USER + 1003) 19 #define SM_GETCURFOCUSW (WM_USER + 1004) 20 #define SM_GETOPTIONS (WM_USER + 1005) 21 22 #define SM_GETSERVERSEL __MINGW_NAME_AW(SM_GETSERVERSEL) 23 #define SM_GETCURFOCUS __MINGW_NAME_AW(SM_GETCURFOCUS) 24 25 typedef struct _SMS_LOADMENUA { 26 DWORD dwVersion; 27 CHAR szMenuName[MENU_TEXT_LEN + 1]; 28 HMENU hMenu; 29 CHAR szHelpFileName[MAX_PATH]; 30 DWORD dwServerType; 31 DWORD dwMenuDelta; 32 } SMS_LOADMENUA,*PSMS_LOADMENUA; 33 34 typedef struct _SMS_LOADMENUW { 35 DWORD dwVersion; 36 WCHAR szMenuName[MENU_TEXT_LEN + 1]; 37 HMENU hMenu; 38 WCHAR szHelpFileName[MAX_PATH]; 39 DWORD dwServerType; 40 DWORD dwMenuDelta; 41 } SMS_LOADMENUW,*PSMS_LOADMENUW; 42 43 #define SMS_LOADMENU __MINGW_NAME_AW(SMS_LOADMENU) 44 #define PSMS_LOADMENU __MINGW_NAME_AW(PSMS_LOADMENU) 45 46 typedef struct _SMS_GETSERVERSELA { 47 CHAR szServerName[MAX_PATH]; 48 DWORD dwServerType; 49 } SMS_GETSERVERSELA,*PSMS_GETSERVERSELA; 50 51 typedef struct _SMS_GETSERVERSELW { 52 WCHAR szServerName[MAX_PATH]; 53 DWORD dwServerType; 54 55 } SMS_GETSERVERSELW,*PSMS_GETSERVERSELW; 56 57 #define SMS_GETSERVERSEL __MINGW_NAME_AW(SMS_GETSERVERSEL) 58 #define PSMS_GETSERVERSEL __MINGW_NAME_AW(PSMS_GETSERVERSEL) 59 60 typedef struct _SMS_GETSELCOUNT { 61 DWORD dwItems; 62 } SMS_GETSELCOUNT,*PSMS_GETSELCOUNT; 63 64 #define SM_FOCUS_TYPE_NT_DOMAIN 1 65 #define SM_FOCUS_TYPE_LM_DOMAIN 2 66 #define SM_FOCUS_TYPE_UNKNOWN_DOMAIN 3 67 #define SM_FOCUS_TYPE_NT_SERVER 4 68 #define SM_FOCUS_TYPE_LM_SERVER 5 69 #define SM_FOCUS_TYPE_WFW_SERVER 6 70 #define SM_FOCUS_TYPE_UNKNOWN_SERVER 7 71 72 typedef struct _SMS_GETCURFOCUSA { 73 CHAR szFocus[MAX_PATH]; 74 DWORD dwFocusType; 75 } SMS_GETCURFOCUSA,*PSMS_GETCURFOCUSA; 76 77 typedef struct _SMS_GETCURFOCUSW { 78 WCHAR szFocus[MAX_PATH]; 79 DWORD dwFocusType; 80 } SMS_GETCURFOCUSW,*PSMS_GETCURFOCUSW; 81 82 #define SMS_GETCURFOCUS __MINGW_NAME_AW(SMS_GETCURFOCUS) 83 #define PSMS_GETCURFOCUS __MINGW_NAME_AW(PSMS_GETCURFOCUS) 84 85 typedef struct _SMS_GETOPTIONS { 86 WINBOOL fSaveSettingsOnExit; 87 WINBOOL fConfirmation; 88 } SMS_GETOPTIONS,*PSMS_GETOPTIONS; 89 90 typedef struct _SMS_VALIDATEA { 91 const CHAR *pszServer; 92 CHAR *pszType; 93 CHAR *pszComment; 94 } SMS_VALIDATEA,*PSMS_VALIDATEA; 95 96 typedef struct _SMS_VALIDATEW { 97 const WCHAR *pszServer; 98 WCHAR *pszType; 99 WCHAR *pszComment; 100 101 } SMS_VALIDATEW,*PSMS_VALIDATEW; 102 103 #define SMS_VALIDATE __MINGW_NAME_AW(SMS_VALIDATE) 104 #define PSMS_VALIDATE __MINGW_NAME_AW(PSMS_VALIDATE) 105 106 #define SZ_SME_UNLOADMENU "SMEUnloadMenu" 107 #define SZ_SME_INITIALIZEMENU "SMEInitializeMenu" 108 #define SZ_SME_REFRESH "SMERefresh" 109 #define SZ_SME_MENUACTION "SMEMenuAction" 110 #define SZ_SME_LOADMENUW "SMELoadMenuW" 111 #define SZ_SME_GETEXTENDEDERRORSTRINGW "SMEGetExtendedErrorStringW" 112 #define SZ_SME_VALIDATEW "SMEValidateW" 113 #define SZ_SME_LOADMENUA "SMELoadMenuA" 114 #define SZ_SME_GETEXTENDEDERRORSTRINGA "SMEGetExtendedErrorStringA" 115 #define SZ_SME_VALIDATEA "SMEValidateA" 116 117 #define SZ_SME_LOADMENU __MINGW_NAME_AW(SZ_SME_LOADMENU) 118 #define SZ_SME_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(SZ_SME_GETEXTENDEDERRORSTRING) 119 #define SZ_SME_VALIDATE __MINGW_NAME_AW(SZ_SME_VALIDATE) 120 121 typedef DWORD (WINAPI *PSMX_LOADMENU)(HWND hWnd,PSMS_LOADMENU psmsload); 122 typedef LPTSTR (WINAPI *PSMX_GETEXTENDEDERRORSTRING)(VOID); 123 typedef VOID (WINAPI *PSMX_UNLOADMENU)(VOID); 124 typedef VOID (WINAPI *PSMX_INITIALIZEMENU)(VOID); 125 typedef VOID (WINAPI *PSMX_REFRESH)(HWND hwndParent); 126 typedef VOID (WINAPI *PSMX_MENUACTION)(HWND hwndParent,DWORD dwEventId); 127 typedef WINBOOL (WINAPI *PSMX_VALIDATE)(PSMS_VALIDATE psmsvalidate); 128 129 DWORD WINAPI SMELoadMenuA(HWND hWnd,PSMS_LOADMENUA psmsload); 130 DWORD WINAPI SMELoadMenuW(HWND hWnd,PSMS_LOADMENUW psmsload); 131 LPSTR WINAPI SMEGetExtendedErrorStringA(VOID); 132 LPWSTR WINAPI SMEGetExtendedErrorStringW(VOID); 133 VOID WINAPI SMEUnloadMenu(VOID); 134 VOID WINAPI SMEInitializeMenu(VOID); 135 VOID WINAPI SMERefresh(HWND hwndParent); 136 VOID WINAPI SMEMenuAction(HWND hwndParent,DWORD dwEventId); 137 WINBOOL WINAPI SMEValidateA(PSMS_VALIDATEA psmsValidate); 138 WINBOOL WINAPI SMEValidateW(PSMS_VALIDATEW psmsValidate); 139 140 #endif 141