Changes in uspace/lib/c/include/str.h [28a5ebd:1c9bf292] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/str.h
r28a5ebd r1c9bf292 38 38 #define _LIBC_STR_H_ 39 39 40 #ifdef __cplusplus 41 extern "C" { 42 #endif 43 40 44 #include <errno.h> 41 45 #include <stdbool.h> … … 44 48 45 49 #include <mem.h> 46 #include <_bits/decls.h>47 48 #ifndef __cplusplus49 50 50 51 /* Common Unicode characters */ … … 63 64 #define SPASCII_STR_BUFSIZE(spa_size) ((spa_size) + 1) 64 65 65 #endif 66 67 __HELENOS_DECLS_BEGIN; 68 69 extern char32_t str_decode(const char *str, size_t *offset, size_t sz); 70 extern char32_t str_decode_reverse(const char *str, size_t *offset, size_t sz); 71 extern errno_t chr_encode(char32_t ch, char *str, size_t *offset, size_t sz); 66 extern wchar_t str_decode(const char *str, size_t *offset, size_t sz); 67 extern wchar_t str_decode_reverse(const char *str, size_t *offset, size_t sz); 68 extern errno_t chr_encode(wchar_t ch, char *str, size_t *offset, size_t sz); 72 69 73 70 extern size_t str_size(const char *str); 74 extern size_t wstr_size(const char32_t *str);71 extern size_t wstr_size(const wchar_t *str); 75 72 76 73 extern size_t str_nsize(const char *str, size_t max_size); 77 extern size_t wstr_nsize(const char32_t *str, size_t max_size);74 extern size_t wstr_nsize(const wchar_t *str, size_t max_size); 78 75 79 76 extern size_t str_lsize(const char *str, size_t max_len); 80 extern size_t wstr_lsize(const char32_t *str, size_t max_len);77 extern size_t wstr_lsize(const wchar_t *str, size_t max_len); 81 78 82 79 extern size_t str_length(const char *str); 83 extern size_t wstr_length(const char32_t *wstr);80 extern size_t wstr_length(const wchar_t *wstr); 84 81 85 82 extern size_t str_nlength(const char *str, size_t size); 86 extern size_t wstr_nlength(const char32_t *str, size_t size);83 extern size_t wstr_nlength(const wchar_t *str, size_t size); 87 84 88 extern size_t chr_width( char32_t ch);85 extern size_t chr_width(wchar_t ch); 89 86 extern size_t str_width(const char *str); 90 87 91 extern bool ascii_check( char32_t ch);92 extern bool chr_check( char32_t ch);88 extern bool ascii_check(wchar_t ch); 89 extern bool chr_check(wchar_t ch); 93 90 94 91 extern int str_cmp(const char *s1, const char *s2); … … 98 95 99 96 extern bool str_test_prefix(const char *s, const char *p); 100 extern const char *str_suffix(const char *s, size_t prefix_length);101 97 102 98 extern void str_cpy(char *dest, size_t size, const char *src); … … 105 101 106 102 extern errno_t spascii_to_str(char *dest, size_t size, const uint8_t *src, size_t n); 107 extern void wstr_to_str(char *dest, size_t size, const char32_t *src);108 extern char *wstr_to_astr(const char32_t *src);109 extern void str_to_wstr( char32_t *dest, size_t dlen, const char *src);110 extern char32_t *str_to_awstr(const char *src);103 extern void wstr_to_str(char *dest, size_t size, const wchar_t *src); 104 extern char *wstr_to_astr(const wchar_t *src); 105 extern void str_to_wstr(wchar_t *dest, size_t dlen, const char *src); 106 extern wchar_t *str_to_awstr(const char *src); 111 107 extern errno_t utf16_to_str(char *dest, size_t size, const uint16_t *src); 112 108 extern errno_t str_to_utf16(uint16_t *dest, size_t dlen, const char *src); 113 109 extern size_t utf16_wsize(const uint16_t *ustr); 114 110 115 extern char *str_chr(const char *str, char32_t ch);116 extern char *str_rchr(const char *str, char32_t ch);111 extern char *str_chr(const char *str, wchar_t ch); 112 extern char *str_rchr(const char *str, wchar_t ch); 117 113 extern char *str_str(const char *hs, const char *n); 118 114 119 extern void str_rtrim(char *str, char32_t ch);120 extern void str_ltrim(char *str, char32_t ch);115 extern void str_rtrim(char *str, wchar_t ch); 116 extern void str_ltrim(char *str, wchar_t ch); 121 117 122 extern bool wstr_linsert( char32_t *str, char32_t ch, size_t pos, size_t max_pos);123 extern bool wstr_remove( char32_t *str, size_t pos);118 extern bool wstr_linsert(wchar_t *str, wchar_t ch, size_t pos, size_t max_pos); 119 extern bool wstr_remove(wchar_t *str, size_t pos); 124 120 125 121 extern char *str_dup(const char *src); … … 151 147 extern unsigned long strtoul(const char *, char **, int); 152 148 153 __HELENOS_DECLS_END; 149 #ifdef __cplusplus 150 } 151 #endif 154 152 155 153 #endif
Note:
See TracChangeset
for help on using the changeset viewer.