// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#ifndef __OPEN_ENCLAVE_LIBCXX_CONFIG
#define __OPEN_ENCLAVE_LIBCXX_CONFIG

#define __NEED_locale_t
#include <bits/alltypes.h>
#include <locale.h>

extern "C" long long strtoll_l(
    const char *__restrict, char **__restrict, int, locale_t loc);

extern "C" unsigned long long int strtoull_l(
    const char *nptr, char **endptr, int base, locale_t loc);

extern "C" unsigned int arc4random(void);

#include <__config_original>

#ifdef _LIBCPP_HAS_CATOPEN
# undef _LIBCPP_HAS_CATOPEN
#endif

#ifndef _LIBCPP_USING_ARC4_RANDOM
# define _LIBCPP_USING_ARC4_RANDOM
#endif

#if !defined(__clang__) && defined(__GNUC__) && defined(__aarch64__)
# ifdef __FLT16_MANT_DIG__
#  undef __FLT16_MANT_DIG__
# endif
#endif

#endif /* __OPEN_ENCLAVE_LIBCXX_CONFIG */
