Home | History | Annotate | Download | only in dos
      1 /*
      2  * string.h
      3  */
      4 
      5 #ifndef _STRING_H
      6 #define _STRING_H
      7 
      8 /* Standard routines */
      9 #define memcpy(a,b,c)	__builtin_memcpy(a,b,c)
     10 #define memmove(a,b,c)	__builtin_memmove(a,b,c)
     11 #define memset(a,b,c)	__builtin_memset(a,b,c)
     12 #define strcpy(a,b)	__builtin_strcpy(a,b)
     13 #define strlen(a)	__builtin_strlen(a)
     14 
     15 /* This only returns true or false */
     16 static inline int memcmp(const void *__m1, const void *__m2, unsigned int __n)
     17 {
     18     _Bool rv;
     19     asm volatile ("cld ; repe ; cmpsb ; setne %0":"=abd" (rv), "+D"(__m1),
     20 		  "+S"(__m2), "+c"(__n));
     21     return rv;
     22 }
     23 
     24 extern char *strchr(const char *s, int c);
     25 
     26 #endif /* _STRING_H */
     27