blob: 2be9b0be541a7d85673153a6e460d9736bf3022e [file] [log] [blame]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _SMX_H_
#define _SMX_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)
#ifdef UNICODE
#define SM_GETSERVERSEL SM_GETSERVERSELW
#define SM_GETCURFOCUS SM_GETCURFOCUSW
#else
#define SM_GETSERVERSEL SM_GETSERVERSELA
#define SM_GETCURFOCUS SM_GETCURFOCUSA
#endif
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;
#ifdef UNICODE
#define SMS_LOADMENU SMS_LOADMENUW
#define PSMS_LOADMENU PSMS_LOADMENUW
#else
#define SMS_LOADMENU SMS_LOADMENUA
#define PSMS_LOADMENU PSMS_LOADMENUA
#endif
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;
#ifdef UNICODE
#define SMS_GETSERVERSEL SMS_GETSERVERSELW
#define PSMS_GETSERVERSEL PSMS_GETSERVERSELW
#else
#define SMS_GETSERVERSEL SMS_GETSERVERSELA
#define PSMS_GETSERVERSEL PSMS_GETSERVERSELA
#endif
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;
#ifdef UNICODE
#define SMS_GETCURFOCUS SMS_GETCURFOCUSW
#define PSMS_GETCURFOCUS PSMS_GETCURFOCUSW
#else
#define SMS_GETCURFOCUS SMS_GETCURFOCUSA
#define PSMS_GETCURFOCUS PSMS_GETCURFOCUSA
#endif
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;
#ifdef UNICODE
#define SMS_VALIDATE SMS_VALIDATEW
#define PSMS_VALIDATE PSMS_VALIDATEW
#else
#define SMS_VALIDATE SMS_VALIDATEA
#define PSMS_VALIDATE PSMS_VALIDATEA
#endif
#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"
#ifdef UNICODE
#define SZ_SME_LOADMENU SZ_SME_LOADMENUW
#define SZ_SME_GETEXTENDEDERRORSTRING SZ_SME_GETEXTENDEDERRORSTRINGW
#define SZ_SME_VALIDATE SZ_SME_VALIDATEW
#else
#define SZ_SME_LOADMENU SZ_SME_LOADMENUA
#define SZ_SME_GETEXTENDEDERRORSTRING SZ_SME_GETEXTENDEDERRORSTRINGA
#define SZ_SME_VALIDATE SZ_SME_VALIDATEA
#endif
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