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