diff options
Diffstat (limited to 'contrib/syslinux-4.02/dos/string.h')
-rw-r--r-- | contrib/syslinux-4.02/dos/string.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/dos/string.h b/contrib/syslinux-4.02/dos/string.h new file mode 100644 index 0000000..f648de2 --- /dev/null +++ b/contrib/syslinux-4.02/dos/string.h @@ -0,0 +1,26 @@ +/* + * string.h + */ + +#ifndef _STRING_H +#define _STRING_H + +/* Standard routines */ +#define memcpy(a,b,c) __builtin_memcpy(a,b,c) +#define memmove(a,b,c) __builtin_memmove(a,b,c) +#define memset(a,b,c) __builtin_memset(a,b,c) +#define strcpy(a,b) __builtin_strcpy(a,b) +#define strlen(a) __builtin_strlen(a) + +/* This only returns true or false */ +static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n) +{ + _Bool rv; + asm volatile ("cld ; repe ; cmpsb ; setne %0":"=abd" (rv), "+D"(__m1), + "+S"(__m2), "+c"(__n)); + return rv; +} + +extern char *strchr(const char *s, int c); + +#endif /* _STRING_H */ |