NAME

uchar.h — Unicode character handling

SYNOPSIS

#include <uchar.h>

DESCRIPTION

[CX] [Option Start] 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. [Option End]

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] [Option Start] Inclusion of the <uchar.h> header may make visible all symbols from the headers <stddef.h>, <stdint.h>, and <wchar.h>. [Option End]


The following sections are informative.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

<stddef.h> , <stdint.h> , <wchar.h>

XSH c16rtomb , mbrtoc16

CHANGE HISTORY

First released in Issue 8. Included for alignment with the ISO/IEC 9899:2018 standard.

End of informative text.