Hacl_Curve25519_joined.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Interface to code from Project Everest
  3. *
  4. * Copyright 2016-2018 INRIA and Microsoft Corporation
  5. * SPDX-License-Identifier: Apache-2.0
  6. *
  7. * Licensed under the Apache License, Version 2.0 (the "License"); you may
  8. * not use this file except in compliance with the License.
  9. * You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing, software
  14. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  15. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. * See the License for the specific language governing permissions and
  17. * limitations under the License.
  18. *
  19. * This file is part of mbed TLS (https://tls.mbed.org)
  20. */
  21. #ifndef _BSD_SOURCE
  22. /* Required to get htole64() from gcc/glibc's endian.h (older systems)
  23. * when we compile with -std=c99 */
  24. #define _BSD_SOURCE
  25. #endif
  26. #ifndef _DEFAULT_SOURCE
  27. /* (modern version of _BSD_SOURCE) */
  28. #define _DEFAULT_SOURCE
  29. #endif
  30. #include "common.h"
  31. #if defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED)
  32. #if defined(__SIZEOF_INT128__) && (__SIZEOF_INT128__ == 16)
  33. #define MBEDTLS_HAVE_INT128
  34. #endif
  35. #if defined(MBEDTLS_HAVE_INT128)
  36. #include "Hacl_Curve25519.c"
  37. #else
  38. #define KRML_VERIFIED_UINT128
  39. #include "kremlib/FStar_UInt128_extracted.c"
  40. #include "legacy/Hacl_Curve25519.c"
  41. #endif
  42. #include "kremlib/FStar_UInt64_FStar_UInt32_FStar_UInt16_FStar_UInt8.c"
  43. #endif /* defined(MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED) */