Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef ___ASM_SPARC_STRING_H
3#define ___ASM_SPARC_STRING_H
4#if defined(__sparc__) && defined(__arch64__)
5#include <asm/string_64.h>
6#else
7#include <asm/string_32.h>
8#endif
9
10/* First the mem*() things. */
11#define __HAVE_ARCH_MEMMOVE
12void *memmove(void *, const void *, __kernel_size_t);
13
14#define __HAVE_ARCH_MEMCPY
15#define memcpy(t, f, n) __builtin_memcpy(t, f, n)
16
17#define __HAVE_ARCH_MEMSET
18#define memset(s, c, count) __builtin_memset(s, c, count)
19
20#define __HAVE_ARCH_MEMSCAN
21
22#define memscan(__arg0, __char, __arg2) \
23({ \
24 void *__memscan_zero(void *, size_t); \
25 void *__memscan_generic(void *, int, size_t); \
26 void *__retval, *__addr = (__arg0); \
27 size_t __size = (__arg2); \
28 \
29 if(__builtin_constant_p(__char) && !(__char)) \
30 __retval = __memscan_zero(__addr, __size); \
31 else \
32 __retval = __memscan_generic(__addr, (__char), __size); \
33 \
34 __retval; \
35})
36
37#define __HAVE_ARCH_MEMCMP
38int memcmp(const void *,const void *,__kernel_size_t);
39
40/* Now the str*() stuff... */
41#define __HAVE_ARCH_STRLEN
42__kernel_size_t strlen(const char *);
43
44#define __HAVE_ARCH_STRNCMP
45int strncmp(const char *, const char *, __kernel_size_t);
46
47#endif
1#ifndef ___ASM_SPARC_STRING_H
2#define ___ASM_SPARC_STRING_H
3#if defined(__sparc__) && defined(__arch64__)
4#include <asm/string_64.h>
5#else
6#include <asm/string_32.h>
7#endif
8
9/* First the mem*() things. */
10#define __HAVE_ARCH_MEMMOVE
11void *memmove(void *, const void *, __kernel_size_t);
12
13#define __HAVE_ARCH_MEMCPY
14#define memcpy(t, f, n) __builtin_memcpy(t, f, n)
15
16#define __HAVE_ARCH_MEMSET
17#define memset(s, c, count) __builtin_memset(s, c, count)
18
19#define __HAVE_ARCH_MEMSCAN
20
21#define memscan(__arg0, __char, __arg2) \
22({ \
23 void *__memscan_zero(void *, size_t); \
24 void *__memscan_generic(void *, int, size_t); \
25 void *__retval, *__addr = (__arg0); \
26 size_t __size = (__arg2); \
27 \
28 if(__builtin_constant_p(__char) && !(__char)) \
29 __retval = __memscan_zero(__addr, __size); \
30 else \
31 __retval = __memscan_generic(__addr, (__char), __size); \
32 \
33 __retval; \
34})
35
36#define __HAVE_ARCH_MEMCMP
37int memcmp(const void *,const void *,__kernel_size_t);
38
39#define __HAVE_ARCH_STRNCMP
40int strncmp(const char *, const char *, __kernel_size_t);
41
42#endif