Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[linux-2.6] / include / asm-mn10300 / string.h
1 /* MN10300 Optimised string functions
2  *
3  * Copyright (C) 2007 Matsushita Electric Industrial Co., Ltd.
4  * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
5  * Modified by David Howells (dhowells@redhat.com)
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public Licence
9  * as published by the Free Software Foundation; either version
10  * 2 of the Licence, or (at your option) any later version.
11  */
12 #ifndef _ASM_STRING_H
13 #define _ASM_STRING_H
14
15 #define __HAVE_ARCH_MEMSET
16 #define __HAVE_ARCH_MEMCPY
17 #define __HAVE_ARCH_MEMMOVE
18
19 extern void *memset(void *dest, int ch, size_t count);
20 extern void *memcpy(void *dest, const void *src, size_t count);
21 extern void *memmove(void *dest, const void *src, size_t count);
22
23
24 extern void __struct_cpy_bug(void);
25 #define struct_cpy(x, y)                        \
26 ({                                              \
27         if (sizeof(*(x)) != sizeof(*(y)))       \
28                 __struct_cpy_bug;               \
29         memcpy(x, y, sizeof(*(x)));             \
30 })
31
32 #endif /* _ASM_STRING_H */