@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1/*
2 * Copyright (c) 2007 Alexey Vatchenko <av@bsdua.org>
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17/*
18 * utf8: implementation of UTF-8 charset encoding (RFC3629).
19 */
20#ifndef _UTF8_H_
21#define _UTF8_H_
22
23#include <sys/types.h>
24
25#include <wchar.h>
26
27#define UTF8_IGNORE_ERROR 0x01
28#define UTF8_SKIP_BOM 0x02
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34size_t utf8_to_wchar(const char *in, size_t insize, wchar_t *out,
35 size_t outsize, int flags);
36size_t wchar_to_utf8(const wchar_t *in, size_t insize, char *out,
37 size_t outsize, int flags);
38
39#ifdef __cplusplus
40}
41#endif
42
43#endif /* !_UTF8_H_ */