X-Git-Url: https://pd.if.org/git/?p=pdclib.old;a=blobdiff_plain;f=includes%2Fuchar.h;h=97210ca61843ef62cbadbc25a82c7c47f0b2f7d5;hp=87b5aab27c46ae9c4509b83a81abada7a42255fe;hb=8a90fe871522665803dce65d11381ccbd30deb18;hpb=28560df1b632539d7133749626b69ca4b91ea1e6 diff --git a/includes/uchar.h b/includes/uchar.h index 87b5aab..97210ca 100644 --- a/includes/uchar.h +++ b/includes/uchar.h @@ -37,4 +37,57 @@ typedef _PDCLIB_char32_t char32_t; #endif #endif -#endif \ No newline at end of file +size_t mbrtoc16( + char16_t *_PDCLIB_restrict pc16, + const char *_PDCLIB_restrict s, + size_t n, + mbstate_t *_PDCLIB_restrict ps); + +size_t c16rtomb( + char *_PDCLIB_restrict s, + char16_t c16, + mbstate_t *_PDCLIB_restrict ps); + +size_t mbrtoc32( + char32_t *_PDCLIB_restrict pc32, + const char *_PDCLIB_restrict s, + size_t n, + mbstate_t *_PDCLIB_restrict ps); + +size_t c32rtomb( + char *_PDCLIB_restrict s, + char32_t c32, + mbstate_t *_PDCLIB_restrict ps); + +#if defined(_PDCLIB_EXTENSIONS) +/* Analogous to strlen/wcslen */ +size_t _PDCLIB_c16slen(const char16_t * str); +size_t _PDCLIB_c32slen(const char32_t * str); + +/* String generalizations of the above functions */ +size_t _PDCLIB_mbsrtoc16s( + char16_t *_PDCLIB_restrict dst, + const char **_PDCLIB_restrict src, + size_t len, + mbstate_t *_PDCLIB_restrict ps); + +size_t _PDCLIB_mbsrtoc32s( + char32_t *_PDCLIB_restrict dst, + const char **_PDCLIB_restrict src, + size_t len, + mbstate_t *_PDCLIB_restrict ps); + +size_t _PDCLIB_c16srtombs( + char *_PDCLIB_restrict dst, + const char16_t **_PDCLIB_restrict src, + size_t len, + mbstate_t *_PDCLIB_restrict ps); + +size_t _PDCLIB_c32srtombs( + char *_PDCLIB_restrict dst, + const char32_t **_PDCLIB_restrict src, + size_t len, + mbstate_t *_PDCLIB_restrict ps); +#endif + +#endif