summaryrefslogtreecommitdiff
path: root/lib/ktl/include/wchar.h
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-07-11 22:48:30 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-07-11 22:48:30 +0800
commit3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee (patch)
tree4bd5a49ef60ad1e371c0984cd46838368c5ef83a /lib/ktl/include/wchar.h
parent48ef95c24e9ac3d11200b61af617a01b10b507d1 (diff)
downloadlume-3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee.tar.gz
lume-3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee.tar.xz
lib: establish Zircon libc++ and KTL foundation
Diffstat (limited to 'lib/ktl/include/wchar.h')
-rw-r--r--lib/ktl/include/wchar.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/ktl/include/wchar.h b/lib/ktl/include/wchar.h
new file mode 100644
index 0000000..b3f2ccb
--- /dev/null
+++ b/lib/ktl/include/wchar.h
@@ -0,0 +1,23 @@
+// Copyright 2023 The Fuchsia Authors
+//
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file or at
+// https://opensource.org/licenses/MIT
+
+#ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_WCHAR_H_
+#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_WCHAR_H_
+
+// This file is included by <cstdio> and the like that are used from other
+// libc++ headers that are wrapped by ktl. This file exists to preempt those
+// inclusions so that libc++'s <wchar.h> wrapper header won't be used, since
+// it's not compatible with the kernel environment. However, other libc++
+// headers also use `#include_next <wchar.h>` to get to "the system libc"
+// version of the header. To satisfy those, include-after/wchar.h provides the
+// actual declarations needed from the standard C <wchar.h> API. So this
+// header just defers to that one, but must exist separately in this directory
+// so that it preempt's libc++'s wrapper. This can't itself use #include_next
+// because that would reach libc++'s wrapper before the include-after file.
+
+#include "../include-after/wchar.h"
+
+#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_WCHAR_H_