| 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 |