ossl_test_endian.h 640 B

12345678910111213141516171819202122
  1. /*
  2. * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License 2.0 (the "License"). You may not use
  5. * this file except in compliance with the License. You can obtain a copy
  6. * in the file LICENSE in the source distribution or at
  7. * https://www.openssl.org/source/license.html
  8. */
  9. #ifndef HEADER_INTERNAL_ENDIAN_H
  10. # define HEADER_INTERNAL_ENDIAN_H
  11. # define DECLARE_IS_ENDIAN \
  12. const union { \
  13. long one; \
  14. char little; \
  15. } ossl_is_endian = { 1 }
  16. # define IS_LITTLE_ENDIAN (ossl_is_endian.little != 0)
  17. # define IS_BIG_ENDIAN (ossl_is_endian.little == 0)
  18. #endif