libiec61850_common_api.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * libiec61850_common_api.h
  3. */
  4. #ifndef LIBIEC61850_COMMON_API_INCLUDES_H_
  5. #define LIBIEC61850_COMMON_API_INCLUDES_H_
  6. #include <stdlib.h>
  7. #include <stdarg.h>
  8. #include <stdint.h>
  9. #include <stdbool.h>
  10. #include <string.h>
  11. #ifdef __GNUC__
  12. #define ATTRIBUTE_PACKED __attribute__ ((__packed__))
  13. #else
  14. #define ATTRIBUTE_PACKED
  15. #endif
  16. #ifndef DEPRECATED
  17. #if defined(__GNUC__) || defined(__clang__)
  18. #define DEPRECATED __attribute__((deprecated))
  19. #else
  20. #define DEPRECATED
  21. #endif
  22. #endif
  23. #if defined _WIN32 || defined __CYGWIN__
  24. #ifdef EXPORT_FUNCTIONS_FOR_DLL
  25. #define LIB61850_API __declspec(dllexport)
  26. #else
  27. #define LIB61850_API
  28. #endif
  29. #define LIB61850_INTERNAL
  30. #else
  31. #if __GNUC__ >= 4
  32. #define LIB61850_API __attribute__ ((visibility ("default")))
  33. #define LIB61850_INTERNAL __attribute__ ((visibility ("hidden")))
  34. #else
  35. #define LIB61850_API
  36. #define LIB61850_INTERNAL
  37. #endif
  38. #endif
  39. #include "hal_time.h"
  40. #include "mms_value.h"
  41. #endif /* LIBIEC61850_COMMON_API_INCLUDES_H_ */