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 25typedef 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 34typedef 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 46typedef struct _SMS_GETSERVERSELA { 47 CHAR szServerName[MAX_PATH]; 48 DWORD dwServerType; 49} SMS_GETSERVERSELA,*PSMS_GETSERVERSELA; 50 51typedef 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 60typedef 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 72typedef struct _SMS_GETCURFOCUSA { 73 CHAR szFocus[MAX_PATH]; 74 DWORD dwFocusType; 75} SMS_GETCURFOCUSA,*PSMS_GETCURFOCUSA; 76 77typedef 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 85typedef struct _SMS_GETOPTIONS { 86 WINBOOL fSaveSettingsOnExit; 87 WINBOOL fConfirmation; 88} SMS_GETOPTIONS,*PSMS_GETOPTIONS; 89 90typedef struct _SMS_VALIDATEA { 91 const CHAR *pszServer; 92 CHAR *pszType; 93 CHAR *pszComment; 94} SMS_VALIDATEA,*PSMS_VALIDATEA; 95 96typedef 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 121typedef DWORD (WINAPI *PSMX_LOADMENU)(HWND hWnd,PSMS_LOADMENU psmsload); 122typedef LPTSTR (WINAPI *PSMX_GETEXTENDEDERRORSTRING)(VOID); 123typedef VOID (WINAPI *PSMX_UNLOADMENU)(VOID); 124typedef VOID (WINAPI *PSMX_INITIALIZEMENU)(VOID); 125typedef VOID (WINAPI *PSMX_REFRESH)(HWND hwndParent); 126typedef VOID (WINAPI *PSMX_MENUACTION)(HWND hwndParent,DWORD dwEventId); 127typedef WINBOOL (WINAPI *PSMX_VALIDATE)(PSMS_VALIDATE psmsvalidate); 128 129DWORD WINAPI SMELoadMenuA(HWND hWnd,PSMS_LOADMENUA psmsload); 130DWORD WINAPI SMELoadMenuW(HWND hWnd,PSMS_LOADMENUW psmsload); 131LPSTR WINAPI SMEGetExtendedErrorStringA(VOID); 132LPWSTR WINAPI SMEGetExtendedErrorStringW(VOID); 133VOID WINAPI SMEUnloadMenu(VOID); 134VOID WINAPI SMEInitializeMenu(VOID); 135VOID WINAPI SMERefresh(HWND hwndParent); 136VOID WINAPI SMEMenuAction(HWND hwndParent,DWORD dwEventId); 137WINBOOL WINAPI SMEValidateA(PSMS_VALIDATEA psmsValidate); 138WINBOOL WINAPI SMEValidateW(PSMS_VALIDATEW psmsValidate); 139 140#endif 141