Home | History | Annotate | Download | only in include
      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