2025-10-31 00:45:32 -06:00
|
|
|
#include "vcruntime.h"
|
|
|
|
|
|
2023-09-09 23:07:23 -04:00
|
|
|
#include "common.h"
|
2025-10-05 17:46:16 -06:00
|
|
|
#include "context.h"
|
|
|
|
|
#include "modules.h"
|
2023-09-09 23:07:23 -04:00
|
|
|
|
2025-10-30 02:23:09 -06:00
|
|
|
#include <cstring>
|
|
|
|
|
|
2023-09-09 23:07:23 -04:00
|
|
|
namespace vcruntime {
|
|
|
|
|
|
2025-10-31 00:45:32 -06:00
|
|
|
PVOID CDECL memcpy(PVOID dest, LPCVOID src, SIZE_T count) {
|
2025-10-05 14:32:06 -06:00
|
|
|
HOST_CONTEXT_GUARD();
|
2025-10-05 13:58:40 -06:00
|
|
|
return ::memcpy(dest, src, count);
|
|
|
|
|
}
|
2023-09-09 23:07:23 -04:00
|
|
|
|
2025-10-31 00:45:32 -06:00
|
|
|
PVOID CDECL memset(PVOID dest, int ch, SIZE_T count) {
|
2025-10-05 14:32:06 -06:00
|
|
|
HOST_CONTEXT_GUARD();
|
2025-10-05 13:58:40 -06:00
|
|
|
return ::memset(dest, ch, count);
|
|
|
|
|
}
|
2023-09-09 23:07:23 -04:00
|
|
|
|
2025-10-31 00:45:32 -06:00
|
|
|
int CDECL memcmp(LPCVOID buf1, LPCVOID buf2, SIZE_T count) {
|
2025-10-05 14:32:06 -06:00
|
|
|
HOST_CONTEXT_GUARD();
|
2025-10-05 13:58:40 -06:00
|
|
|
return ::memcmp(buf1, buf2, count);
|
|
|
|
|
}
|
2023-09-09 23:07:23 -04:00
|
|
|
|
2025-10-31 00:45:32 -06:00
|
|
|
PVOID CDECL memmove(PVOID dest, LPCVOID src, SIZE_T count) {
|
2025-10-05 14:32:06 -06:00
|
|
|
HOST_CONTEXT_GUARD();
|
2025-10-05 13:58:40 -06:00
|
|
|
return ::memmove(dest, src, count);
|
|
|
|
|
}
|
2023-10-01 23:56:35 -04:00
|
|
|
|
2023-09-09 23:07:23 -04:00
|
|
|
} // namespace vcruntime
|
|
|
|
|
|
2025-10-31 00:45:32 -06:00
|
|
|
#include "vcruntime_trampolines.h"
|
2023-09-09 23:07:23 -04:00
|
|
|
|
2025-10-07 14:12:07 -06:00
|
|
|
extern const wibo::ModuleStub lib_vcruntime = {
|
2023-09-09 23:07:23 -04:00
|
|
|
(const char *[]){
|
|
|
|
|
"vcruntime140",
|
|
|
|
|
nullptr,
|
|
|
|
|
},
|
2025-10-31 00:45:32 -06:00
|
|
|
vcruntimeThunkByName,
|
2023-09-09 23:07:23 -04:00
|
|
|
nullptr,
|
|
|
|
|
};
|