diff fuhtark_test/include/winapi/smx.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/winapi/smx.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,169 @@
+/**
+ * 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 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