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 _UASTRFNC_H_ 7 #define _UASTRFNC_H_ 8 9 #include <_mingw_unicode.h> 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 #ifndef _X86_ 16 #define ALIGNMENT_MACHINE 17 #endif 18 19 #ifdef ALIGNMENT_MACHINE 20 #define IS_ALIGNED(p) (((ULONG_PTR)(p) & (sizeof(*(p))-1))==0) 21 22 UNALIGNED WCHAR *ualstrcpynW(UNALIGNED WCHAR *lpString1,UNALIGNED const WCHAR *lpString2,int iMaxLength); 23 int ualstrcmpiW(UNALIGNED const WCHAR *dst,UNALIGNED const WCHAR *src); 24 int ualstrcmpW(UNALIGNED const WCHAR *src,UNALIGNED const WCHAR *dst); 25 size_t ualstrlenW(UNALIGNED const WCHAR *wcs); 26 UNALIGNED WCHAR *ualstrcpyW(UNALIGNED WCHAR *dst,UNALIGNED const WCHAR *src); 27 #else 28 #define ualstrcpynW StrCpyNW 29 #define ualstrcmpiW StrCmpIW 30 #define ualstrcmpW StrCmpW 31 #define ualstrlenW lstrlenW 32 #define ualstrcpyW StrCpyW 33 #endif 34 35 #define ualstrcpynA lstrcpynA 36 #define ualstrcmpiA lstrcmpiA 37 #define ualstrcmpA lstrcmpA 38 #define ualstrlenA lstrlenA 39 #define ualstrcpyA lstrcpyA 40 41 #define ualstrcpyn __MINGW_NAME_AW(ualstrcpyn) 42 #define ualstrcmpi __MINGW_NAME_AW(ualstrcmpi) 43 #define ualstrcmp __MINGW_NAME_AW(ualstrcmp) 44 #define ualstrlen __MINGW_NAME_AW(ualstrlen) 45 #define ualstrcpy __MINGW_NAME_AW(ualstrcpy) 46 47 #ifdef __cplusplus 48 } 49 #endif 50 #endif 51