Files
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

86 lines
2.2 KiB
C++

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright 1994 - 1998 Microsoft Corporation.
//
// File: uastrfnc.h
//
// Contents: Unaligned UNICODE lstr functions for MIPS, PPC, ALPHA, ...
//
// Classes:
//
// Functions:
//
//--------------------------------------------------------------------------
// NOTE: This file assumes it is included from shellprv.h
#ifndef _UASTRFNC_H_
#define _UASTRFNC_H_
#ifdef __cplusplus
extern "C" {
#endif
// If we are running on a platform that requires aligned data, we need
// to provide custom string functions that can deal with unaligned
// strings. On other platforms, these call directly to the normal string
// functions.
#ifndef _X86_
#define ALIGNMENT_MACHINE
#endif
#ifdef ALIGNMENT_MACHINE
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 // lstrcpynW is stubbed out on Windows 95
#define ualstrcmpiW StrCmpIW // lstrcmpiW is stubbed out on Windows 95
#define ualstrcmpW StrCmpW // lstrcmpW is stubbed out on Windows 95
#define ualstrlenW lstrlenW
#define ualstrcpyW StrCpyW // lstrcpyW is stubbed out on Windows 95
#endif // ALIGNMENT_MACHINE
#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
} // extern "C"
#endif
#endif // _UASTRFNC_H_