/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _SMX_H_
#define _SMX_H_
#include <_mingw_unicode.h>
#define MENU_TEXT_LEN 50
#define SME_VERSION 0
#define SM_GETSELCOUNT (WM_USER + 1000)
#define SM_GETSERVERSELA (WM_USER + 1001)
#define SM_GETSERVERSELW (WM_USER + 1002)
#define SM_GETCURFOCUSA (WM_USER + 1003)
#define SM_GETCURFOCUSW (WM_USER + 1004)
#define SM_GETOPTIONS (WM_USER + 1005)
#define SM_GETSERVERSEL __MINGW_NAME_AW(SM_GETSERVERSEL)
#define SM_GETCURFOCUS __MINGW_NAME_AW(SM_GETCURFOCUS)
typedef struct _SMS_LOADMENUA {
DWORD dwVersion;
CHAR szMenuName[MENU_TEXT_LEN + 1];
HMENU hMenu;
CHAR szHelpFileName[MAX_PATH];
DWORD dwServerType;
DWORD dwMenuDelta;
} SMS_LOADMENUA,*PSMS_LOADMENUA;
typedef struct _SMS_LOADMENUW {
DWORD dwVersion;
WCHAR szMenuName[MENU_TEXT_LEN + 1];
HMENU hMenu;
WCHAR szHelpFileName[MAX_PATH];
DWORD dwServerType;
DWORD dwMenuDelta;
} SMS_LOADMENUW,*PSMS_LOADMENUW;
#define SMS_LOADMENU __MINGW_NAME_AW(SMS_LOADMENU)
#define PSMS_LOADMENU __MINGW_NAME_AW(PSMS_LOADMENU)
typedef struct _SMS_GETSERVERSELA {
CHAR szServerName[MAX_PATH];
DWORD dwServerType;
} SMS_GETSERVERSELA,*PSMS_GETSERVERSELA;
typedef struct _SMS_GETSERVERSELW {
WCHAR szServerName[MAX_PATH];
DWORD dwServerType;
} SMS_GETSERVERSELW,*PSMS_GETSERVERSELW;
#define SMS_GETSERVERSEL __MINGW_NAME_AW(SMS_GETSERVERSEL)
#define PSMS_GETSERVERSEL __MINGW_NAME_AW(PSMS_GETSERVERSEL)
typedef struct _SMS_GETSELCOUNT {
DWORD dwItems;
} SMS_GETSELCOUNT,*PSMS_GETSELCOUNT;
#define SM_FOCUS_TYPE_NT_DOMAIN 1
#define SM_FOCUS_TYPE_LM_DOMAIN 2
#define SM_FOCUS_TYPE_UNKNOWN_DOMAIN 3
#define SM_FOCUS_TYPE_NT_SERVER 4
#define SM_FOCUS_TYPE_LM_SERVER 5
#define SM_FOCUS_TYPE_WFW_SERVER 6
#define SM_FOCUS_TYPE_UNKNOWN_SERVER 7
typedef struct _SMS_GETCURFOCUSA {
CHAR szFocus[MAX_PATH];
DWORD dwFocusType;
} SMS_GETCURFOCUSA,*PSMS_GETCURFOCUSA;
typedef struct _SMS_GETCURFOCUSW {
WCHAR szFocus[MAX_PATH];
DWORD dwFocusType;
} SMS_GETCURFOCUSW,*PSMS_GETCURFOCUSW;
#define SMS_GETCURFOCUS __MINGW_NAME_AW(SMS_GETCURFOCUS)
#define PSMS_GETCURFOCUS __MINGW_NAME_AW(PSMS_GETCURFOCUS)
typedef struct _SMS_GETOPTIONS {
WINBOOL fSaveSettingsOnExit;
WINBOOL fConfirmation;
} SMS_GETOPTIONS,*PSMS_GETOPTIONS;
typedef struct _SMS_VALIDATEA {
const CHAR *pszServer;
CHAR *pszType;
CHAR *pszComment;
} SMS_VALIDATEA,*PSMS_VALIDATEA;
typedef struct _SMS_VALIDATEW {
const WCHAR *pszServer;
WCHAR *pszType;
WCHAR *pszComment;
} SMS_VALIDATEW,*PSMS_VALIDATEW;
#define SMS_VALIDATE __MINGW_NAME_AW(SMS_VALIDATE)
#define PSMS_VALIDATE __MINGW_NAME_AW(PSMS_VALIDATE)
#define SZ_SME_UNLOADMENU "SMEUnloadMenu"
#define SZ_SME_INITIALIZEMENU "SMEInitializeMenu"
#define SZ_SME_REFRESH "SMERefresh"
#define SZ_SME_MENUACTION "SMEMenuAction"
#define SZ_SME_LOADMENUW "SMELoadMenuW"
#define SZ_SME_GETEXTENDEDERRORSTRINGW "SMEGetExtendedErrorStringW"
#define SZ_SME_VALIDATEW "SMEValidateW"
#define SZ_SME_LOADMENUA "SMELoadMenuA"
#define SZ_SME_GETEXTENDEDERRORSTRINGA "SMEGetExtendedErrorStringA"
#define SZ_SME_VALIDATEA "SMEValidateA"
#define SZ_SME_LOADMENU __MINGW_NAME_AW(SZ_SME_LOADMENU)
#define SZ_SME_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(SZ_SME_GETEXTENDEDERRORSTRING)
#define SZ_SME_VALIDATE __MINGW_NAME_AW(SZ_SME_VALIDATE)
typedef DWORD (WINAPI *PSMX_LOADMENU)(HWND hWnd,PSMS_LOADMENU psmsload);
typedef LPTSTR (WINAPI *PSMX_GETEXTENDEDERRORSTRING)(VOID);
typedef VOID (WINAPI *PSMX_UNLOADMENU)(VOID);
typedef VOID (WINAPI *PSMX_INITIALIZEMENU)(VOID);
typedef VOID (WINAPI *PSMX_REFRESH)(HWND hwndParent);
typedef VOID (WINAPI *PSMX_MENUACTION)(HWND hwndParent,DWORD dwEventId);
typedef WINBOOL (WINAPI *PSMX_VALIDATE)(PSMS_VALIDATE psmsvalidate);
DWORD WINAPI SMELoadMenuA(HWND hWnd,PSMS_LOADMENUA psmsload);
DWORD WINAPI SMELoadMenuW(HWND hWnd,PSMS_LOADMENUW psmsload);
LPSTR WINAPI SMEGetExtendedErrorStringA(VOID);
LPWSTR WINAPI SMEGetExtendedErrorStringW(VOID);
VOID WINAPI SMEUnloadMenu(VOID);
VOID WINAPI SMEInitializeMenu(VOID);
VOID WINAPI SMERefresh(HWND hwndParent);
VOID WINAPI SMEMenuAction(HWND hwndParent,DWORD dwEventId);
WINBOOL WINAPI SMEValidateA(PSMS_VALIDATEA psmsValidate);
WINBOOL WINAPI SMEValidateW(PSMS_VALIDATEW psmsValidate);
#endif