www.pudn.com > DSP2812formotorcontrol.rar > string.h
/*****************************************************************************/ /* string.h v4.1.0 */ /* Copyright (c) 1993-2005 Texas Instruments Incorporated */ /*****************************************************************************/ #ifndef _STRING #define _STRING #ifdef __cplusplus //---------------------------------------------------------------------------- //IS RECOMMENDED OVER . IS PROVIDED FOR // COMPATIBILITY WITH C AND THIS USAGE IS DEPRECATED IN C++ //---------------------------------------------------------------------------- extern "C" namespace std { #endif /* __cplusplus */ #ifndef NULL #define NULL 0 #endif #ifndef _SIZE_T #define _SIZE_T typedef __SIZE_T_TYPE__ size_t; #endif #include #if defined(_OPTIMIZE_FOR_SPACE) && (0 || \ 1) #define _OPT_IDECL #else #define _OPT_IDECL _IDECL #endif _OPT_IDECL size_t strlen(const char *_string); _OPT_IDECL char *strcpy(char *_dest, const char *_src); _OPT_IDECL char *strncpy(char *_to, const char *_from, size_t _n); _OPT_IDECL char *strcat(char *_string1, const char *_string2); _OPT_IDECL char *strncat(char *_to, const char *_from, size_t _n); _OPT_IDECL char *strchr(const char *_string, int _c); _OPT_IDECL char *strrchr(const char *_string, int _c); _OPT_IDECL int strcmp(const char *_string1, const char *_string2); _OPT_IDECL int strncmp(const char *_string1, const char *_string2, size_t _n); _CODE_ACCESS int strcoll(const char *_string1, const char *_string2); _CODE_ACCESS size_t strxfrm(char *_to, const char *_from, size_t _n); _CODE_ACCESS char *strpbrk(const char *_string, const char *_chs); _CODE_ACCESS size_t strspn(const char *_string, const char *_chs); _CODE_ACCESS size_t strcspn(const char *_string, const char *_chs); _CODE_ACCESS char *strstr(const char *_string1, const char *_string2); _CODE_ACCESS char *strtok(char *_str1, const char *_str2); _CODE_ACCESS char *strerror(int _errno); _CODE_ACCESS void *memmove(void *_s1, const void *_s2, size_t _n); _OPT_IDECL int memcmp(const void *_cs, const void *_ct, size_t _n); _OPT_IDECL void *memchr(const void *_cs, int _c, size_t _n); _OPT_IDECL void *memset(void *_mem, int _ch, size_t _n); #ifndef __cplusplus #define far_memcpy __memcpy_ff #define far_strcpy strcpy_ff size_t far_strlen(const far char *s); char *strcpy_nf(char *s1, const char far *s2); char far *strcpy_fn(char far *s1, const char *s2); char far *strcpy_ff(char far *s1, const char far *s2); far char *far_strncpy(far char *s1, far const char *s2, size_t n); far char *far_strcat(far char *s1, const far char *s2); far char *far_strncat(far char *s1, const far char *s2, size_t n); far char *far_strchr(const far char *s, int c); far char *far_strrchr(const far char *s, int c); int far_strcmp(const far char *s1, const far char *s2); int far_strncmp(const far char *s1, const far char *s2, size_t n); int far_strcoll(const far char *s1, const far char *s2); size_t far_strxfrm(far char *s1, const far char *s2, size_t n); far char *far_strpbrk(const far char *s1, const far char *s2); size_t far_strspn(const far char *s1, const far char *s2); size_t far_strcspn(const far char *s1, const far char *s2); far char *far_strstr(const far char *s1, const far char *s2); far char *far_strtok(far char *s1, const far char *s2); far char *far_strerror(int errno); void far *far_memmove(far void *s1, far const void *s2, size_t n); void *__memcpy_nf (void *_s1, far const void *_s2, size_t _n); void far *__memcpy_fn (far void *_s1, const void *_s2, size_t _n); void far *__memcpy_ff (far void *_s1, far const void *_s2, size_t _n); int far_memcmp(const far void *s1, const far void *s2, size_t n); far void *far_memchr(const far void *s, int c, size_t n); far void *far_memset(far void *s, int c, size_t n); far void *far_memlcpy(far void *to, const far void *from, unsigned long n); far void *far_memlmove(far void *to, const far void *from, unsigned long n); #else /* __cplusplus */ long far_memlcpy(long to, long from, unsigned long n); long far_memlmove(long to, long from, unsigned long n); #endif /* __cplusplus */ #ifdef __cplusplus } /* extern "C" namespace std */ #ifndef _CPP_STYLE_HEADER using std::size_t; using std::strlen; using std::strcpy; using std::strncpy; using std::strcat; using std::strncat; using std::strchr; using std::strrchr; using std::strcmp; using std::strncmp; using std::strcoll; using std::strxfrm; using std::strpbrk; using std::strspn; using std::strcspn; using std::strstr; using std::strtok; using std::strerror; using std::memmove; using std::memcpy; using std::memcmp; using std::memchr; using std::memset; using std::far_memlcpy; using std::far_memlmove; #endif /* _CPP_STYLE_HEADER */ #endif /* __cplusplus */ #if defined(_INLINE) || defined(_STRING_IMPLEMENTATION) #if (defined(_STRING_IMPLEMENTATION) || \ !(defined(_OPTIMIZE_FOR_SPACE) && (0 || \ 1))) #ifdef __cplusplus namespace std { #endif #if (defined(_OPTIMIZE_FOR_SPACE) && (0 || \ 1)) #define _OPT_IDEFN #else #define _OPT_IDEFN _IDEFN #endif #if defined(_INLINE) || defined(_STRLEN) _OPT_IDEFN size_t strlen(const char *string) { size_t n = (size_t)-1; const char *s = string - 1; do n++; while (*++s); return n; } #endif /* _INLINE || _STRLEN */ #if defined(_INLINE) || defined(_STRCPY) _OPT_IDEFN char *strcpy(register char *dest, register const char *src) { register char *d = dest - 1; register const char *s = src - 1; while (*++d = *++s); return dest; } #endif /* _INLINE || _STRCPY */ #if defined(_INLINE) || defined(_STRNCPY) _OPT_IDEFN char *strncpy(register char *dest, register const char *src, register size_t n) { if (n) { register char *d = dest - 1; register const char *s = src - 1; while ((*++d = *++s) && --n); /* COPY STRING */ if (n-- > 1) do *++d = '\0'; while (--n); /* TERMINATION PADDING */ } return dest; } #endif /* _INLINE || _STRNCPY */ #if defined(_INLINE) || defined(_STRCAT) _OPT_IDEFN char *strcat(char *string1, const char *string2) { char *s1 = string1 - 1; const char *s2 = string2 - 1; while (*++s1); /* FIND END OF STRING */ s1--; /* BACK UP OVER NULL */ while (*++s1 = *++s2); /* APPEND SECOND STRING */ return string1; } #endif /* _INLINE || _STRCAT */ #if defined(_INLINE) || defined(_STRNCAT) _OPT_IDEFN char *strncat(char *dest, const char *src, register size_t n) { if (n) { char *d = dest - 1; const char *s = src - 1; while (*++d); /* FIND END OF STRING */ d--; /* BACK UP OVER NULL */ while (n--) if (!(*++d = *++s)) return dest; /* APPEND SECOND STRING */ *++d = 0; } return dest; } #endif /* _INLINE || _STRNCAT */ #if defined(_INLINE) || defined(_STRCHR) _OPT_IDEFN char *strchr(const char *string, int c) { char tch, ch = c; const char *s = string - 1; for (;;) { if ((tch = *++s) == ch) return (char *) s; if (!tch) return (char *) 0; } } #endif /* _INLINE || _STRCHR */ #if defined(_INLINE) || defined(_STRRCHR) _OPT_IDEFN char *strrchr(const char *string, int c) { char tch, ch = c; char *result = 0; const char *s = string - 1; for (;;) { if ((tch = *++s) == ch) result = (char *) s; if (!tch) break; } return result; } #endif /* _INLINE || _STRRCHR */ #if defined(_INLINE) || defined(_STRCMP) _OPT_IDEFN int strcmp(register const char *string1, register const char *string2) { register int c1, res; for (;;) { c1 = *string1++; res = c1 - *string2++; if (c1 == 0 || res != 0) break; } return res; } #endif /* _INLINE || _STRCMP */ #if defined(_INLINE) || defined(_STRNCMP) _OPT_IDEFN int strncmp(const char *string1, const char *string2, size_t n) { if (n) { const char *s1 = string1 - 1; const char *s2 = string2 - 1; char cp; int result; do if (result = *++s1 - (cp = *++s2)) return result; while (cp && --n); } return 0; } #endif /* _INLINE || _STRNCMP */ #if defined(_INLINE) || defined(_MEMCMP) _OPT_IDEFN int memcmp(const void *cs, const void *ct, size_t n) { if (n) { const unsigned char *mem1 = (unsigned char *)cs - 1; const unsigned char *mem2 = (unsigned char *)ct - 1; int cp; while ((cp = *++mem1) == *++mem2 && --n); return cp - *mem2; } return 0; } #endif /* _INLINE || _MEMCMP */ #if defined(_INLINE) || defined(_MEMCHR) _OPT_IDEFN void *memchr(const void *cs, int c, size_t n) { if (n) { const unsigned char *mem = (unsigned char *)cs - 1; unsigned char ch = c; do if ( *++mem == ch ) return (void *)mem; while (--n); } return NULL; } #endif /* _INLINE || _MEMCHR */ #if ((defined(_INLINE) || defined(_MEMSET)) && !0) _OPT_IDEFN void *memset(void *mem, register int ch, register size_t length) { register char *m = (char *)mem - 1; while (length--) *++m = ch; return mem; } #endif /* _INLINE || _MEMSET */ #ifdef __cplusplus } /* namespace std */ #endif #endif /* (_STRING_IMPLEMENTATION || !(_OPTIMIZE_FOR_SPACE && __TMS470__)) */ #endif /* (_INLINE || _STRING_IMPLEMENTATION) */ #else #ifdef __cplusplus #ifndef _CPP_STYLE_HEADER using std::size_t; using std::strlen; using std::strcpy; using std::strncpy; using std::strcat; using std::strncat; using std::strchr; using std::strrchr; using std::strcmp; using std::strncmp; using std::strcoll; using std::strxfrm; using std::strpbrk; using std::strspn; using std::strcspn; using std::strstr; using std::strtok; using std::strerror; using std::memmove; using std::memcpy; using std::memcmp; using std::memchr; using std::memset; using std::far_memlcpy; using std::far_memlmove; #endif /* _CPP_STYLE_HEADER */ #endif /* __cplusplus */ #endif /* ! _STRING */