File: string.h

package info (click to toggle)
kernel-source-2.0.35 2.0.35-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 32,456 kB
  • ctags: 94,327
  • sloc: ansic: 587,014; asm: 26,388; makefile: 4,055; sh: 1,221; perl: 727; tcl: 408; cpp: 277; lisp: 211; awk: 134
file content (34 lines) | stat: -rw-r--r-- 905 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef __ALPHA_STRING_H__
#define __ALPHA_STRING_H__

#ifdef __KERNEL__

extern void * __constant_c_memset(void *, unsigned long, long);
extern void * __memset(void *, char, size_t);

/*
 * Ugh. Gcc uses "bcopy()" internally for structure assignments.
 */
#define __HAVE_ARCH_BCOPY

/*
 * Define "memcpy()" to something else, otherwise gcc will
 * corrupt that too into a "bcopy".  Also, some day we might
 * want to do a separate inlined constant-size memcpy (for 8
 * and 16 byte user<->kernel structure copying).
 */
#define __HAVE_ARCH_MEMCPY
extern void * __memcpy(void *, const void *, size_t);
#define memcpy __memcpy

#define __HAVE_ARCH_MEMSET
#define memset(s, c, count) \
(__builtin_constant_p(c) ? \
 __constant_c_memset((s),(0x0101010101010101UL*(unsigned char)c),(count)) : \
 __memset((s),(c),(count)))

#define __HAVE_ARCH_STRLEN

#endif /* __KERNEL__ */

#endif /* __ALPHA_STRING_H__ */