source: trunk/sys/dietlibc/include/string.h @ 294

Last change on this file since 294 was 1, checked in by alain, 8 years ago

First import

File size: 2.5 KB
Line 
1#ifndef _STRING_H
2#define _STRING_H
3
4#include <sys/types.h>
5
6
7char *strcpy(char*  dest, const char*  src);
8
9void *memccpy(void*  dest, const void*  src, int c, size_t n);
10void *memmove(void* dest, const void *src, size_t n);
11
12int memccmp(const void* s1, const void* s2, int c, size_t n);
13
14void* memset(void* s, int c, size_t n);
15int memcmp(const void* s1, const void* s2, size_t n) ;
16void* memcpy(void*  dest, const void*  src, size_t n);
17
18char *strncpy(char*  dest, const char*  src, size_t n);
19int strncmp(const char* s1, const char* s2, size_t n) ;
20
21char *strcat(char*  dest, const char*  src);
22char *strncat(char*  dest, const char*  src, size_t n);
23
24int strcmp(const char *s1, const char *s2) ;
25
26size_t strlen(const char *s);
27
28#ifdef _GNU_SOURCE
29size_t strnlen(const char *s,size_t maxlen) ;
30#endif
31
32char *strstr(const char *haystack, const char *needle) ;
33
34char *strdup(const char *s) ;
35
36char *strchr(const char *s, int c) ;
37char *strrchr(const char *s, int c) ;
38
39size_t strspn(const char *s, const char *_accept);
40size_t strcspn(const char *s, const char *reject);
41
42char *strpbrk(const char *s, const char *_accept);
43char *strsep(char **  stringp, const char *  delim);
44
45void* memchr(const void *s, int c, size_t n) ;
46
47#ifdef _GNU_SOURCE
48void* memrchr(const void *s, int c, size_t n);
49#endif
50
51
52char *strerror(int errnum);
53
54/* work around b0rken GNU crapware like tar 1.13.19 */
55#define strerror strerror
56int strerror_r(int errnum,char* buf,size_t n);
57
58#ifdef _GNU_SOURCE
59const char *strsignal(int signum);
60void *memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen);
61
62void* mempcpy(void*  dest,const void*  src,size_t n);
63
64char *strndup(const char *s,size_t n);
65
66#define strdupa(s) ({ const char* tmp=s; size_t l=strlen(tmp)+1; char* x=alloca(l); memcpy(x,tmp,l); })
67#define strndupa(s,n) ({ const char* tmp=s; const char* y=memchr(tmp,0,(n)); size_t l=y?y-tmp:n; char* x=alloca(l+1); x[l]=0; memcpy(x,tmp,l); })
68#endif
69
70char *strtok(char *  s, const char *  delim);
71char *strtok_r(char *  s, const char *  delim, char **  ptrptr);
72
73size_t strlcpy(char *  dst, const char *  src, size_t size);
74size_t strlcat(char *  dst, const char *  src, size_t size);
75
76int strcoll(const char *s1, const char *s2);
77size_t strxfrm(char *dest, const char *  src, size_t n);
78
79#ifdef _BSD_SOURCE
80#include <strings.h>
81#endif
82
83char *stpcpy(char *  dest, const char *  src);
84char* stpncpy(char*  dest, const char*  src, size_t n);
85
86#ifdef _GNU_SOURCE
87int ffsl(long i);
88int ffsll(long long i);
89#endif
90
91#endif
Note: See TracBrowser for help on using the repository browser.