17777dab0Sopenharmony_ci#ifndef _UCHAR_H
27777dab0Sopenharmony_ci#define _UCHAR_H
37777dab0Sopenharmony_ci
47777dab0Sopenharmony_ci#ifdef __cplusplus
57777dab0Sopenharmony_ciextern "C" {
67777dab0Sopenharmony_ci#endif
77777dab0Sopenharmony_ci
87777dab0Sopenharmony_ci#if __cplusplus < 201103L
97777dab0Sopenharmony_citypedef unsigned short char16_t;
107777dab0Sopenharmony_citypedef unsigned char32_t;
117777dab0Sopenharmony_ci#endif
127777dab0Sopenharmony_ci
137777dab0Sopenharmony_ci#define __NEED_mbstate_t
147777dab0Sopenharmony_ci#define __NEED_size_t
157777dab0Sopenharmony_ci
167777dab0Sopenharmony_ci#include <features.h>
177777dab0Sopenharmony_ci#include <bits/alltypes.h>
187777dab0Sopenharmony_ci
197777dab0Sopenharmony_cisize_t c16rtomb(char *__restrict, char16_t, mbstate_t *__restrict);
207777dab0Sopenharmony_cisize_t mbrtoc16(char16_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict);
217777dab0Sopenharmony_ci
227777dab0Sopenharmony_cisize_t c32rtomb(char *__restrict, char32_t, mbstate_t *__restrict);
237777dab0Sopenharmony_cisize_t mbrtoc32(char32_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict);
247777dab0Sopenharmony_ci
257777dab0Sopenharmony_ci#ifdef __cplusplus
267777dab0Sopenharmony_ci}
277777dab0Sopenharmony_ci#endif
287777dab0Sopenharmony_ci
297777dab0Sopenharmony_ci#endif
30