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