Changeset fdf97f6 in mainline for uspace/lib/posix/include/posix/string.h
- Timestamp:
- 2013-02-25T19:11:50Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1935591
- Parents:
- c84f1a4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/posix/include/posix/string.h
rc84f1a4 rfdf97f6 37 37 #define POSIX_STRING_H_ 38 38 39 #ifndef __POSIX_DEF__ 40 #define __POSIX_DEF__(x) x 41 #endif 42 39 43 #include "sys/types.h" 40 44 … … 65 69 66 70 /* From mem.h */ 67 #define bzero(ptr, len) memset((ptr), 0, (len))71 // #define bzero(ptr, len) memset((ptr), 0, (len)) 68 72 extern void *memset(void *, int, size_t); 69 73 extern void *memcpy(void *, const void *, size_t); … … 72 76 73 77 /* Copying and Concatenation */ 74 extern char * posix_strcpy(char *restrict dest, const char *restrict src);75 extern char * posix_strncpy(char *restrict dest, const char *restrict src, size_t n);76 extern char * posix_stpcpy(char *restrict dest, const char *restrict src);77 extern char * posix_stpncpy(char *restrict dest, const char *restrict src, size_t n);78 extern char * posix_strcat(char *restrict dest, const char *restrict src);79 extern char * posix_strncat(char *restrict dest, const char *restrict src, size_t n);80 extern void * posix_memccpy(void *restrict dest, const void *restrict src, int c, size_t n);81 extern char * posix_strdup(const char *s);82 extern char * posix_strndup(const char *s, size_t n);78 extern char *__POSIX_DEF__(strcpy)(char *restrict dest, const char *restrict src); 79 extern char *__POSIX_DEF__(strncpy)(char *restrict dest, const char *restrict src, size_t n); 80 extern char *__POSIX_DEF__(stpcpy)(char *restrict dest, const char *restrict src); 81 extern char *__POSIX_DEF__(stpncpy)(char *restrict dest, const char *restrict src, size_t n); 82 extern char *__POSIX_DEF__(strcat)(char *restrict dest, const char *restrict src); 83 extern char *__POSIX_DEF__(strncat)(char *restrict dest, const char *restrict src, size_t n); 84 extern void *__POSIX_DEF__(memccpy)(void *restrict dest, const void *restrict src, int c, size_t n); 85 extern char *__POSIX_DEF__(strdup)(const char *s); 86 extern char *__POSIX_DEF__(strndup)(const char *s, size_t n); 83 87 84 88 /* String/Array Comparison */ 85 extern int posix_memcmp(const void *mem1, const void *mem2, size_t n);86 extern int posix_strcmp(const char *s1, const char *s2);87 extern int posix_strncmp(const char *s1, const char *s2, size_t n);89 extern int __POSIX_DEF__(memcmp)(const void *mem1, const void *mem2, size_t n); 90 extern int __POSIX_DEF__(strcmp)(const char *s1, const char *s2); 91 extern int __POSIX_DEF__(strncmp)(const char *s1, const char *s2, size_t n); 88 92 89 93 /* Search Functions */ 90 extern void * posix_memchr(const void *mem, int c, size_t n);91 extern char * posix_strchr(const char *s, int c);92 extern char * posix_strrchr(const char *s, int c);94 extern void *__POSIX_DEF__(memchr)(const void *mem, int c, size_t n); 95 extern char *__POSIX_DEF__(strchr)(const char *s, int c); 96 extern char *__POSIX_DEF__(strrchr)(const char *s, int c); 93 97 extern char *gnu_strchrnul(const char *s, int c); 94 extern char * posix_strpbrk(const char *s1, const char *s2);95 extern size_t posix_strcspn(const char *s1, const char *s2);96 extern size_t posix_strspn(const char *s1, const char *s2);97 extern char * posix_strstr(const char *haystack, const char *needle);98 extern char *__POSIX_DEF__(strpbrk)(const char *s1, const char *s2); 99 extern size_t __POSIX_DEF__(strcspn)(const char *s1, const char *s2); 100 extern size_t __POSIX_DEF__(strspn)(const char *s1, const char *s2); 101 extern char *__POSIX_DEF__(strstr)(const char *haystack, const char *needle); 98 102 99 103 /* Collation Functions */ 100 extern int posix_strcoll(const char *s1, const char *s2);101 extern size_t posix_strxfrm(char *restrict s1, const char *restrict s2, size_t n);104 extern int __POSIX_DEF__(strcoll)(const char *s1, const char *s2); 105 extern size_t __POSIX_DEF__(strxfrm)(char *restrict s1, const char *restrict s2, size_t n); 102 106 103 107 /* Error Messages */ 104 extern char * posix_strerror(int errnum);105 extern int posix_strerror_r(int errnum, char *buf, size_t bufsz);108 extern char *__POSIX_DEF__(strerror)(int errnum); 109 extern int __POSIX_DEF__(strerror_r)(int errnum, char *buf, size_t bufsz); 106 110 107 111 /* String Length */ 108 extern size_t posix_strlen(const char *s);109 extern size_t posix_strnlen(const char *s, size_t n);112 extern size_t __POSIX_DEF__(strlen)(const char *s); 113 extern size_t __POSIX_DEF__(strnlen)(const char *s, size_t n); 110 114 111 115 /* Signal Messages */ 112 extern char * posix_strsignal(int signum);116 extern char *__POSIX_DEF__(strsignal)(int signum); 113 117 114 118 /* Legacy Declarations */ 115 119 #ifndef POSIX_STRINGS_H_ 116 extern int posix_ffs(int i);117 extern int posix_strcasecmp(const char *s1, const char *s2);118 extern int posix_strncasecmp(const char *s1, const char *s2, size_t n);120 extern int __POSIX_DEF__(ffs)(int i); 121 extern int __POSIX_DEF__(strcasecmp)(const char *s1, const char *s2); 122 extern int __POSIX_DEF__(strncasecmp)(const char *s1, const char *s2, size_t n); 119 123 #endif 120 124 121 #ifndef LIBPOSIX_INTERNAL122 #define strcpy posix_strcpy123 #define strncpy posix_strncpy124 #define stpcpy posix_stpcpy125 #define stpncpy posix_stpncpy126 #define strcat posix_strcat127 #define strncat posix_strncat128 #define memccpy posix_memccpy129 #define strdup posix_strdup130 #define strndup posix_strndup131 132 #define memcmp posix_memcmp133 #define strcmp posix_strcmp134 #define strncmp posix_strncmp135 136 #define memchr posix_memchr137 #define strchr posix_strchr138 #define strrchr posix_strrchr139 #define strchrnul gnu_strchrnul140 #define strpbrk posix_strpbrk141 #define strcspn posix_strcspn142 #define strspn posix_strspn143 #define strstr posix_strstr144 145 #define strcoll posix_strcoll146 #define strxfrm posix_strxfrm147 148 #define strerror posix_strerror149 #define strerror_r posix_strerror_r150 151 #define strlen posix_strlen152 #define strnlen posix_strnlen153 154 #define strsignal posix_strsignal155 156 #define ffs posix_ffs157 #define strcasecmp posix_strcasecmp158 #define strncasecmp posix_strncasecmp159 #endif160 125 161 126 #endif // POSIX_STRING_H_
Note:
See TracChangeset
for help on using the changeset viewer.