Changeset ef6dd3f in mainline for uspace/lib/posix/string.h


Ignore:
Timestamp:
2011-06-08T11:51:03Z (13 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1eee1283
Parents:
acc3f82c
Message:

Almost complete implementation of string.h

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/posix/string.h

    racc3f82c ref6dd3f  
    4040#include <str.h>
    4141
     42/* available in str.h
     43 *
     44 * char *strtok(char *restrict, const char *restrict);
     45 * char *strtok_r(char *restrict, const char *restrict, char **restrict);
     46 *
     47 * available in mem.h
     48 *
     49 * void *memset(void *, int, size_t);
     50 * void *memcpy(void *, const void *, size_t);
     51 * void *memmove(void *, const void *, size_t);
     52 *
     53 * unimplemented due to missing locales
     54 *
     55 * int      strcoll_l(const char *, const char *, locale_t);
     56 * char    *strerror_l(int, locale_t);
     57 * size_t   strxfrm_l(char *restrict, const char *restrict, size_t, locale_t);
     58 *
     59 */
     60
     61// TODO: provide *_l once there is locale.h
     62
    4263#ifndef NULL
    4364        #define NULL  ((void *) 0)
     
    4768extern char *posix_strcpy(char *restrict dest, const char *restrict src);
    4869extern char *posix_strncpy(char *restrict dest, const char *restrict src, size_t n);
     70extern char *posix_stpcpy(char *restrict dest, const char *restrict src);
     71extern char *posix_stpncpy(char *restrict dest, const char *restrict src, size_t n);
    4972extern char *posix_strcat(char *restrict dest, const char *restrict src);
    5073extern char *posix_strncat(char *restrict dest, const char *restrict src, size_t n);
    51 extern void *posix_mempcpy(void *restrict dest, const void *restrict src, size_t n);
     74extern void *posix_memccpy(void *restrict dest, const void *restrict src, int c, size_t n);
    5275extern char *posix_strdup(const char *s);
     76extern char *posix_strndup(const char *s, size_t n);
    5377
    5478/* String/Array Comparison */
     
    5680extern int posix_strcmp(const char *s1, const char *s2);
    5781extern int posix_strncmp(const char *s1, const char *s2, size_t n);
    58 extern int posix_strcasecmp(const char *s1, const char *s2);
    59 extern int posix_strncasecmp(const char *s1, const char *s2, size_t n);
    6082
    6183/* Search Functions */
    6284extern void *posix_memchr(const void *mem, int c, size_t n);
    63 extern void *posix_rawmemchr(const void *mem, int c);
    6485extern char *posix_strchr(const char *s, int c);
    6586extern char *posix_strrchr(const char *s, int c);
     
    7596/* Error Messages */
    7697extern char *posix_strerror(int errnum);
     98extern int posix_strerror_r(int errnum, char *buf, size_t bufsz);
    7799
    78100/* String Length */
    79101extern size_t posix_strlen(const char *s);
     102extern size_t posix_strnlen(const char *s, size_t n);
    80103
    81104#ifndef LIBPOSIX_INTERNAL
    82105        #define strcpy posix_strcpy
    83106        #define strncpy posix_strncpy
     107        #define stpcpy posix_stpcpy
     108        #define stpncpy posix_stpncpy
    84109        #define strcat posix_strcat
    85110        #define strncat posix_strncat
    86         #define mempcpy posix_mempcpy
     111        #define memccpy posix_memccpy
    87112        #define strdup posix_strdup
     113        #define strndup posix_strndup
    88114
    89115        #define memcmp posix_memcmp
    90116        #define strcmp posix_strcmp
    91117        #define strncmp posix_strncmp
    92         #define strcasecmp posix_strcasecmp
    93         #define strncasecmp posix_strncasecmp
    94118
    95119        #define memchr posix_memchr
    96         #define rawmemchr posix_rawmemchr
    97120        #define strchr posix_strchr
    98121        #define strrchr posix_strrchr
     
    106129
    107130        #define strerror posix_strerror
     131        #define strerror_r posix_strerror_r
     132        #define strsignal(i) ((char*) "SIGNonSense: There are no signals in HelenOS.")
    108133
    109134        #define strlen posix_strlen
     135        #define strnlen posix_strnlen
    110136#endif
    111137
Note: See TracChangeset for help on using the changeset viewer.