TianoCore EDK2 master
Loading...
Searching...
No Matches
memcpy_ms.c
1// ------------------------------------------------------------------------------
2//
3// Copyright (c) 2017, Pete Batard. All rights reserved.<BR>
4// Copyright (c) 2021, Arm Limited. All rights reserved.<BR>
5//
6// SPDX-License-Identifier: BSD-2-Clause-Patent
7//
8// ------------------------------------------------------------------------------
9
10#if defined (_M_ARM64)
11typedef unsigned __int64 size_t;
12#else
13typedef unsigned __int32 size_t;
14#endif
15
16void *
17memcpy (
18 void *,
19 const void *,
20 size_t
21 );
22
23#pragma intrinsic(memcpy)
24#pragma function(memcpy)
25void *
26memcpy (
27 void *dest,
28 const void *src,
29 size_t n
30 )
31{
32 unsigned char *d;
33 unsigned char const *s;
34
35 d = dest;
36 s = src;
37
38 while (n-- != 0) {
39 *d++ = *s++;
40 }
41
42 return dest;
43}