xref: /llvm-project/libc/include/errno.h.def (revision 69258491d201bf6d96a8a9bac2ea80a1b14d9cd4)
1//===-- C standard library header errno.h ---------------------------------===//
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_ERRNO_H
10#define LLVM_LIBC_ERRNO_H
11
12#include "__llvm-libc-common.h"
13
14#ifdef __linux__
15
16#include <linux/errno.h>
17
18#ifndef ENOTSUP
19#define ENOTSUP EOPNOTSUPP
20#endif // ENOTSUP
21
22#include "llvm-libc-macros/linux/error-number-macros.h"
23
24#else // __linux__
25#include "llvm-libc-macros/generic-error-number-macros.h"
26#endif
27
28__BEGIN_C_DECLS
29
30int *__llvm_libc_errno(void) __NOEXCEPT;
31
32__END_C_DECLS
33
34#define errno (*__llvm_libc_errno())
35
36#endif // LLVM_LIBC_ERRNO_H
37