diff fuhtark_test/include/winapi/uastrfnc.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/uastrfnc.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,56 @@
+/**
+ * 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 _UASTRFNC_H_
+#define _UASTRFNC_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef I_X86_
+#define ALIGNMENT_MACHINE
+#endif
+
+#ifdef ALIGNMENT_MACHINE
+#define IS_ALIGNED(p) (((ULONG_PTR)(p) & (sizeof(*(p))-1))==0)
+
+  UNALIGNED WCHAR *ualstrcpynW(UNALIGNED WCHAR *lpString1,UNALIGNED const WCHAR *lpString2,int iMaxLength);
+  int ualstrcmpiW(UNALIGNED const WCHAR *dst,UNALIGNED const WCHAR *src);
+  int ualstrcmpW(UNALIGNED const WCHAR *src,UNALIGNED const WCHAR *dst);
+  size_t ualstrlenW(UNALIGNED const WCHAR *wcs);
+  UNALIGNED WCHAR *ualstrcpyW(UNALIGNED WCHAR *dst,UNALIGNED const WCHAR *src);
+#else
+#define ualstrcpynW StrCpyNW
+#define ualstrcmpiW StrCmpIW
+#define ualstrcmpW StrCmpW
+#define ualstrlenW lstrlenW
+#define ualstrcpyW StrCpyW
+#endif
+
+#define ualstrcpynA lstrcpynA
+#define ualstrcmpiA lstrcmpiA
+#define ualstrcmpA lstrcmpA
+#define ualstrlenA lstrlenA
+#define ualstrcpyA lstrcpyA
+
+#ifdef UNICODE
+#define ualstrcpyn ualstrcpynW
+#define ualstrcmpi ualstrcmpiW
+#define ualstrcmp ualstrcmpW
+#define ualstrlen ualstrlenW
+#define ualstrcpy ualstrcpyW
+#else
+#define ualstrcpyn ualstrcpynA
+#define ualstrcmpi ualstrcmpiA
+#define ualstrcmp ualstrcmpA
+#define ualstrlen ualstrlenA
+#define ualstrcpy ualstrcpyA
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif