1*10465441SEvalZero /* 2*10465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 3*10465441SEvalZero * 4*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 5*10465441SEvalZero * 6*10465441SEvalZero * Change Logs: 7*10465441SEvalZero * Date Author Notes 8*10465441SEvalZero * 2008-08-14 Bernard the first version 9*10465441SEvalZero */ 10*10465441SEvalZero #ifndef __STRING_H__ 11*10465441SEvalZero #define __STRING_H__ 12*10465441SEvalZero 13*10465441SEvalZero #include <rtthread.h> 14*10465441SEvalZero #include <sys/types.h> 15*10465441SEvalZero 16*10465441SEvalZero /* replace for standard string library */ 17*10465441SEvalZero #if !defined (RT_USING_NEWLIB) && defined (RT_USING_MINILIBC) 18*10465441SEvalZero 19*10465441SEvalZero #define ZEROPAD (1 << 0) /* pad with zero */ 20*10465441SEvalZero #define SIGN (1 << 1) /* unsigned/signed long */ 21*10465441SEvalZero #define PLUS (1 << 2) /* show plus */ 22*10465441SEvalZero #define SPACE (1 << 3) /* space if plus */ 23*10465441SEvalZero #define LEFT (1 << 4) /* left justified */ 24*10465441SEvalZero #define SPECIAL (1 << 5) /* 0x */ 25*10465441SEvalZero #define LARGE (1 << 6) /* use 'ABCDEF' instead of 'abcdef' */ 26*10465441SEvalZero 27*10465441SEvalZero #define _U 0x01 /* upper */ 28*10465441SEvalZero #define _L 0x02 /* lower */ 29*10465441SEvalZero #define _D 0x04 /* digit */ 30*10465441SEvalZero #define _C 0x08 /* cntrl */ 31*10465441SEvalZero #define _P 0x10 /* punct */ 32*10465441SEvalZero #define _S 0x20 /* white space (space/lf/tab) */ 33*10465441SEvalZero #define _X 0x40 /* hex digit */ 34*10465441SEvalZero #define _SP 0x80 /* hard space (0x20) */ 35*10465441SEvalZero 36*10465441SEvalZero void* memset(void *s, int c, size_t n); 37*10465441SEvalZero void* memcpy(void *dest, const void *src, size_t n); 38*10465441SEvalZero void* memmove(void *dest, const void *src, size_t n); 39*10465441SEvalZero int memcmp(const void *s1, const void *s2, size_t n); 40*10465441SEvalZero 41*10465441SEvalZero int tolower(int c); 42*10465441SEvalZero int toupper(int c); 43*10465441SEvalZero 44*10465441SEvalZero int strcmp (const char *s1, const char *s2); 45*10465441SEvalZero int strncmp(const char *cs,const char *ct, size_t count); 46*10465441SEvalZero int strcasecmp(const char *a, const char *b); 47*10465441SEvalZero int strncasecmp(const char *cs, const char *ct, size_t count); 48*10465441SEvalZero int sscanf(const char * buf, const char * fmt, ...); 49*10465441SEvalZero size_t strlen(const char *s); 50*10465441SEvalZero char *strstr(const char * s1,const char * s2); 51*10465441SEvalZero char *strcpy(char *dest, const char *src); 52*10465441SEvalZero char *strncpy(char *dest, const char *src, size_t n); 53*10465441SEvalZero size_t strlcpy(char *dst, const char *src, size_t siz); 54*10465441SEvalZero char *strncat(char *dest, const char *src, size_t count); 55*10465441SEvalZero char *strcat(char * dest, const char * src); 56*10465441SEvalZero char *strchr(const char *s1, int i); 57*10465441SEvalZero char *strrchr(const char *t, int c); 58*10465441SEvalZero char *strdup(const char *s); 59*10465441SEvalZero char *strtok(char *s, const char *delim); 60*10465441SEvalZero char*strtok_r(char*s, const char*delim, char**ptrptr); 61*10465441SEvalZero 62*10465441SEvalZero size_t strcspn(const char *s, const char *reject); 63*10465441SEvalZero size_t strspn (const char *s, const char *accept); 64*10465441SEvalZero 65*10465441SEvalZero long strtol(const char *str, char **endptr, int base); 66*10465441SEvalZero long long strtoll(const char *str, char **endptr, int base); 67*10465441SEvalZero #endif 68*10465441SEvalZero 69*10465441SEvalZero #endif 70