[libc] Add implementation of errno and define the other macros of errno.h.
[lldb.git] / libc / src / errno / llvmlibc_errno.h
1 //===------------------ Implementation header for errno -------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8
9 #ifndef LLVM_LIBC_SRC_ERRNO_LLVMLIBC_ERRNO_H
10 #define LLVM_LIBC_SRC_ERRNO_LLVMLIBC_ERRNO_H
11
12 // Internal code should use this and not use the errno macro from the
13 // public header.
14 #define llvmlibc_errno (*__llvm_libc::__errno_location())
15
16 namespace __llvm_libc {
17
18 int *__errno_location();
19
20 } // namespace __llvm_libc
21
22 #endif // LLVM_LIBC_SRC_ERRNO_LLVMLIBC_ERRNO_H