1//===- llvm/Support/Errno.h - Portable+convenient errno handling -*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file declares some portable and convenient functions to deal with errno.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_SYSTEM_ERRNO_H
15#define LLVM_SYSTEM_ERRNO_H
16
17#include <string>
18
19namespace llvm {
20namespace sys {
21
22/// Returns a string representation of the errno value, using whatever
23/// thread-safe variant of strerror() is available.  Be sure to call this
24/// immediately after the function that set errno, or errno may have been
25/// overwritten by an intervening call.
26std::string StrError();
27
28/// Like the no-argument version above, but uses \p errnum instead of errno.
29std::string StrError(int errnum);
30
31}  // namespace sys
32}  // namespace llvm
33
34#endif  // LLVM_SYSTEM_ERRNO_H
35