From 3ad39e9878310e5317ee73c9b353c1e2c1c5c4ee Mon Sep 17 00:00:00 2001 From: Richard Qin Date: Sat, 11 Jul 2026 22:48:30 +0800 Subject: lib: establish Zircon libc++ and KTL foundation --- lib/ktl/include-after/errno.h | 13 +++++++++++++ lib/ktl/include-after/wchar.h | 30 ++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 lib/ktl/include-after/errno.h create mode 100644 lib/ktl/include-after/wchar.h (limited to 'lib/ktl/include-after') diff --git a/lib/ktl/include-after/errno.h b/lib/ktl/include-after/errno.h new file mode 100644 index 0000000..52edc9c --- /dev/null +++ b/lib/ktl/include-after/errno.h @@ -0,0 +1,13 @@ +// Copyright 2020 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_ERRNO_H_ +#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_ERRNO_H_ + +// The kernel doesn't want this file but some libc++ headers we need +// wind up including it. + +#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_ERRNO_H_ diff --git a/lib/ktl/include-after/wchar.h b/lib/ktl/include-after/wchar.h new file mode 100644 index 0000000..41d11ae --- /dev/null +++ b/lib/ktl/include-after/wchar.h @@ -0,0 +1,30 @@ +// Copyright 2018 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_AFTER_WCHAR_H_ +#define ZIRCON_KERNEL_LIB_KTL_INCLUDE_AFTER_WCHAR_H_ + +#include + +// The kernel doesn't want this file but some libc++ headers we need wind up +// including it and they need these declarations. +// +// **NOTE** This file is include-after because libc++ headers get it via +// #include_next so as to get the "system" rather than libc++'s +// own wrapper. + +typedef struct { +} mbstate_t; + +typedef unsigned int wint_t; +#define WEOF (~wint_t{0}) + +// refers to these in code that's never actually used in ktl. +wchar_t* wmemcpy(wchar_t* __restrict, const wchar_t* __restrict, size_t); +wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t); +wchar_t* wmemset(wchar_t*, wchar_t, size_t); + +#endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_AFTER_WCHAR_H_ -- cgit v1.2.3