1292928Sdim//===----------------------- config_elast.h -------------------------------===//
2292928Sdim//
3292928Sdim//                     The LLVM Compiler Infrastructure
4292928Sdim//
5292928Sdim// This file is dual licensed under the MIT and the University of Illinois Open
6292928Sdim// Source Licenses. See LICENSE.TXT for details.
7292928Sdim//
8292928Sdim//===----------------------------------------------------------------------===//
9292928Sdim
10292928Sdim#ifndef _LIBCPP_CONFIG_ELAST
11292928Sdim#define _LIBCPP_CONFIG_ELAST
12292928Sdim
13292928Sdim#if defined(_WIN32)
14292928Sdim#include <stdlib.h>
15292928Sdim#else
16292928Sdim#include <errno.h>
17292928Sdim#endif
18292928Sdim
19292928Sdim#if defined(ELAST)
20292928Sdim#define _LIBCPP_ELAST ELAST
21292928Sdim#elif defined(_NEWLIB_VERSION)
22292928Sdim#define _LIBCPP_ELAST __ELASTERROR
23292928Sdim#elif defined(__linux__)
24292928Sdim#define _LIBCPP_ELAST 4095
25292928Sdim#elif defined(__APPLE__)
26292928Sdim// No _LIBCPP_ELAST needed on Apple
27292928Sdim#elif defined(__sun__)
28292928Sdim#define _LIBCPP_ELAST ESTALE
29292928Sdim#elif defined(_WIN32)
30292928Sdim#define _LIBCPP_ELAST _sys_nerr
31292928Sdim#else
32292928Sdim// Warn here so that the person doing the libcxx port has an easier time:
33292928Sdim#warning ELAST for this platform not yet implemented
34292928Sdim#endif
35292928Sdim
36292928Sdim#endif // _LIBCPP_CONFIG_ELAST
37