NAME
uchar.h — Unicode
character handling
SYNOPSIS
#include
<uchar.h>
DESCRIPTION
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard.
The <uchar.h> header shall define the following types:
- mbstate_t
- As described in <wchar.h> .
- size_t
- As described in <stddef.h> .
- char16_t
- The same type as uint_least16_t , described in <stdint.h> .
- char32_t
- The same type as uint_least32_t , described in <stdint.h> .
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.
size_t c16rtomb(char *restrict, char16_t, mbstate_t *restrict);
size_t c32rtomb(char *restrict, char32_t, mbstate_t *restrict);
size_t mbrtoc16(char16_t *restrict, const char *restrict, size_t,
mbstate_t *restrict);
size_t mbrtoc32(char32_t *restrict, const char *restrict, size_t,
mbstate_t *restrict);
[CX] Inclusion of the <uchar.h> header may make visible all symbols from the headers <stddef.h>, <stdint.h>, and <wchar.h>.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
<stddef.h>, <stdint.h>, <wchar.h>
XSH c16rtomb(3), mbrtoc16(3)
CHANGE HISTORY
First released in Issue 8. Included for alignment with the ISO/IEC 9899:2018 standard.