Files
Aaru.Checksums.Native/library.h

64 lines
1.8 KiB
C
Raw Normal View History

2021-10-13 03:25:16 +01:00
/*
2021-10-13 03:46:47 +01:00
* This file is part of the Aaru Data Preservation Suite.
2024-12-19 15:21:40 +00:00
* Copyright (c) 2019-2025 Natalia Portillo.
2021-10-13 03:46:47 +01:00
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of the
* License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
2021-10-13 03:25:16 +01:00
2021-09-21 20:33:32 +01:00
#ifndef AARU_CHECKSUMS_NATIVE_LIBRARY_H
#define AARU_CHECKSUMS_NATIVE_LIBRARY_H
2021-09-21 23:20:31 +01:00
#ifdef __cplusplus
2021-09-22 01:27:28 +01:00
#define EXTERNC extern "C"
2021-09-21 23:20:31 +01:00
#else
#define EXTERNC
#endif
2021-09-22 01:27:28 +01:00
#if defined(_WIN32)
2024-04-30 15:12:48 +01:00
#define AARU_CALL __stdcall
2021-09-22 01:27:28 +01:00
#define AARU_EXPORT EXTERNC __declspec(dllexport)
2021-09-21 23:20:31 +01:00
#define AARU_LOCAL
2021-10-12 23:25:54 +01:00
#ifndef PATH_MAX
#define PATH_MAX _MAX_PATH
#endif
2021-09-22 01:27:28 +01:00
#else
2021-09-21 23:20:31 +01:00
#define AARU_CALL
#if defined(__APPLE__)
2021-09-22 01:27:28 +01:00
#define AARU_EXPORT EXTERNC __attribute__((visibility("default")))
2024-04-30 15:12:48 +01:00
#define AARU_LOCAL __attribute__((visibility("hidden")))
2021-09-22 01:27:28 +01:00
#else
2021-09-21 23:20:31 +01:00
#if __GNUC__ >= 4
2021-09-22 01:27:28 +01:00
#define AARU_EXPORT EXTERNC __attribute__((visibility("default")))
2024-04-30 15:12:48 +01:00
#define AARU_LOCAL __attribute__((visibility("hidden")))
2021-09-21 23:20:31 +01:00
#else
2021-09-22 01:27:28 +01:00
#define AARU_EXPORT EXTERNC
2021-10-05 00:31:06 +01:00
#define AARU_LOCAL
2021-09-21 23:20:31 +01:00
#endif
#endif
#endif
2021-09-21 20:33:32 +01:00
2021-10-05 00:31:21 +01:00
#ifdef _MSC_VER
#define FORCE_INLINE static inline
#else
#define FORCE_INLINE static inline __attribute__((always_inline))
#endif
#include "simd.h"
2022-12-01 23:07:49 +00:00
#define AARU_CHECKUMS_NATIVE_VERSION 0x06000089
2021-10-13 03:50:10 +01:00
AARU_EXPORT uint64_t AARU_CALL get_acn_version();
2024-04-30 15:12:48 +01:00
#endif // AARU_CHECKSUMS_NATIVE_LIBRARY_H