smx.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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. #include <_mingw_unicode.h>
  9. #define MENU_TEXT_LEN 50
  10. #define SME_VERSION 0
  11. #define SM_GETSELCOUNT (WM_USER + 1000)
  12. #define SM_GETSERVERSELA (WM_USER + 1001)
  13. #define SM_GETSERVERSELW (WM_USER + 1002)
  14. #define SM_GETCURFOCUSA (WM_USER + 1003)
  15. #define SM_GETCURFOCUSW (WM_USER + 1004)
  16. #define SM_GETOPTIONS (WM_USER + 1005)
  17. #define SM_GETSERVERSEL __MINGW_NAME_AW(SM_GETSERVERSEL)
  18. #define SM_GETCURFOCUS __MINGW_NAME_AW(SM_GETCURFOCUS)
  19. typedef struct _SMS_LOADMENUA {
  20. DWORD dwVersion;
  21. CHAR szMenuName[MENU_TEXT_LEN + 1];
  22. HMENU hMenu;
  23. CHAR szHelpFileName[MAX_PATH];
  24. DWORD dwServerType;
  25. DWORD dwMenuDelta;
  26. } SMS_LOADMENUA,*PSMS_LOADMENUA;
  27. typedef struct _SMS_LOADMENUW {
  28. DWORD dwVersion;
  29. WCHAR szMenuName[MENU_TEXT_LEN + 1];
  30. HMENU hMenu;
  31. WCHAR szHelpFileName[MAX_PATH];
  32. DWORD dwServerType;
  33. DWORD dwMenuDelta;
  34. } SMS_LOADMENUW,*PSMS_LOADMENUW;
  35. #define SMS_LOADMENU __MINGW_NAME_AW(SMS_LOADMENU)
  36. #define PSMS_LOADMENU __MINGW_NAME_AW(PSMS_LOADMENU)
  37. typedef struct _SMS_GETSERVERSELA {
  38. CHAR szServerName[MAX_PATH];
  39. DWORD dwServerType;
  40. } SMS_GETSERVERSELA,*PSMS_GETSERVERSELA;
  41. typedef struct _SMS_GETSERVERSELW {
  42. WCHAR szServerName[MAX_PATH];
  43. DWORD dwServerType;
  44. } SMS_GETSERVERSELW,*PSMS_GETSERVERSELW;
  45. #define SMS_GETSERVERSEL __MINGW_NAME_AW(SMS_GETSERVERSEL)
  46. #define PSMS_GETSERVERSEL __MINGW_NAME_AW(PSMS_GETSERVERSEL)
  47. typedef struct _SMS_GETSELCOUNT {
  48. DWORD dwItems;
  49. } SMS_GETSELCOUNT,*PSMS_GETSELCOUNT;
  50. #define SM_FOCUS_TYPE_NT_DOMAIN 1
  51. #define SM_FOCUS_TYPE_LM_DOMAIN 2
  52. #define SM_FOCUS_TYPE_UNKNOWN_DOMAIN 3
  53. #define SM_FOCUS_TYPE_NT_SERVER 4
  54. #define SM_FOCUS_TYPE_LM_SERVER 5
  55. #define SM_FOCUS_TYPE_WFW_SERVER 6
  56. #define SM_FOCUS_TYPE_UNKNOWN_SERVER 7
  57. typedef struct _SMS_GETCURFOCUSA {
  58. CHAR szFocus[MAX_PATH];
  59. DWORD dwFocusType;
  60. } SMS_GETCURFOCUSA,*PSMS_GETCURFOCUSA;
  61. typedef struct _SMS_GETCURFOCUSW {
  62. WCHAR szFocus[MAX_PATH];
  63. DWORD dwFocusType;
  64. } SMS_GETCURFOCUSW,*PSMS_GETCURFOCUSW;
  65. #define SMS_GETCURFOCUS __MINGW_NAME_AW(SMS_GETCURFOCUS)
  66. #define PSMS_GETCURFOCUS __MINGW_NAME_AW(PSMS_GETCURFOCUS)
  67. typedef struct _SMS_GETOPTIONS {
  68. WINBOOL fSaveSettingsOnExit;
  69. WINBOOL fConfirmation;
  70. } SMS_GETOPTIONS,*PSMS_GETOPTIONS;
  71. typedef struct _SMS_VALIDATEA {
  72. const CHAR *pszServer;
  73. CHAR *pszType;
  74. CHAR *pszComment;
  75. } SMS_VALIDATEA,*PSMS_VALIDATEA;
  76. typedef struct _SMS_VALIDATEW {
  77. const WCHAR *pszServer;
  78. WCHAR *pszType;
  79. WCHAR *pszComment;
  80. } SMS_VALIDATEW,*PSMS_VALIDATEW;
  81. #define SMS_VALIDATE __MINGW_NAME_AW(SMS_VALIDATE)
  82. #define PSMS_VALIDATE __MINGW_NAME_AW(PSMS_VALIDATE)
  83. #define SZ_SME_UNLOADMENU "SMEUnloadMenu"
  84. #define SZ_SME_INITIALIZEMENU "SMEInitializeMenu"
  85. #define SZ_SME_REFRESH "SMERefresh"
  86. #define SZ_SME_MENUACTION "SMEMenuAction"
  87. #define SZ_SME_LOADMENUW "SMELoadMenuW"
  88. #define SZ_SME_GETEXTENDEDERRORSTRINGW "SMEGetExtendedErrorStringW"
  89. #define SZ_SME_VALIDATEW "SMEValidateW"
  90. #define SZ_SME_LOADMENUA "SMELoadMenuA"
  91. #define SZ_SME_GETEXTENDEDERRORSTRINGA "SMEGetExtendedErrorStringA"
  92. #define SZ_SME_VALIDATEA "SMEValidateA"
  93. #define SZ_SME_LOADMENU __MINGW_NAME_AW(SZ_SME_LOADMENU)
  94. #define SZ_SME_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(SZ_SME_GETEXTENDEDERRORSTRING)
  95. #define SZ_SME_VALIDATE __MINGW_NAME_AW(SZ_SME_VALIDATE)
  96. typedef DWORD (WINAPI *PSMX_LOADMENU)(HWND hWnd,PSMS_LOADMENU psmsload);
  97. typedef LPTSTR (WINAPI *PSMX_GETEXTENDEDERRORSTRING)(VOID);
  98. typedef VOID (WINAPI *PSMX_UNLOADMENU)(VOID);
  99. typedef VOID (WINAPI *PSMX_INITIALIZEMENU)(VOID);
  100. typedef VOID (WINAPI *PSMX_REFRESH)(HWND hwndParent);
  101. typedef VOID (WINAPI *PSMX_MENUACTION)(HWND hwndParent,DWORD dwEventId);
  102. typedef WINBOOL (WINAPI *PSMX_VALIDATE)(PSMS_VALIDATE psmsvalidate);
  103. DWORD WINAPI SMELoadMenuA(HWND hWnd,PSMS_LOADMENUA psmsload);
  104. DWORD WINAPI SMELoadMenuW(HWND hWnd,PSMS_LOADMENUW psmsload);
  105. LPSTR WINAPI SMEGetExtendedErrorStringA(VOID);
  106. LPWSTR WINAPI SMEGetExtendedErrorStringW(VOID);
  107. VOID WINAPI SMEUnloadMenu(VOID);
  108. VOID WINAPI SMEInitializeMenu(VOID);
  109. VOID WINAPI SMERefresh(HWND hwndParent);
  110. VOID WINAPI SMEMenuAction(HWND hwndParent,DWORD dwEventId);
  111. WINBOOL WINAPI SMEValidateA(PSMS_VALIDATEA psmsValidate);
  112. WINBOOL WINAPI SMEValidateW(PSMS_VALIDATEW psmsValidate);
  113. #endif