1 #ifndef BITS_STRING_H
2 #define BITS_STRING_H
3
4 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
5
6 /** @file
7 *
8 * String functions
9 *
10 */
11
12 /**
13 * Fill memory region
14 *
15 * @v dest Destination region
16 * @v character Fill character
17 * @v len Length
18 * @ret dest Destination region
19 */
20 static inline __attribute__ (( always_inline )) void *
memset(void * dest,int character,size_t len)21 memset ( void *dest, int character, size_t len ) {
22
23 /* Not yet optimised */
24 generic_memset ( dest, character, len );
25 return dest;
26 }
27
28 /**
29 * Copy memory region
30 *
31 * @v dest Destination region
32 * @v src Source region
33 * @v len Length
34 * @ret dest Destination region
35 */
36 static inline __attribute__ (( always_inline )) void *
memcpy(void * dest,const void * src,size_t len)37 memcpy ( void *dest, const void *src, size_t len ) {
38
39 /* Not yet optimised */
40 generic_memcpy ( dest, src, len );
41 return dest;
42 }
43
44 /**
45 * Copy (possibly overlapping) memory region
46 *
47 * @v dest Destination region
48 * @v src Source region
49 * @v len Length
50 * @ret dest Destination region
51 */
52 static inline __attribute__ (( always_inline )) void *
memmove(void * dest,const void * src,size_t len)53 memmove ( void *dest, const void *src, size_t len ) {
54
55 /* Not yet optimised */
56 generic_memmove ( dest, src, len );
57 return dest;
58 }
59
60 #endif /* BITS_STRING_H */
61