* Use SRD_API to mark public API symbols, and SRD_PRIV for private symbols.
*
* Variables and functions marked 'static' are private already and don't
- * need SR_PRIV. However, functions which are not static (because they need
+ * need SRD_PRIV. However, functions which are not static (because they need
* to be used in other libsigrokdecode-internal files) but are also not
* meant to be part of the public libsigrokdecode API, must use SRD_PRIV.
*
* This uses the 'visibility' feature of gcc (requires gcc >= 4.0).
*
+ * This feature is not available on MinGW/Windows, as it is a feature of
+ * ELF files and MinGW/Windows uses PE files.
+ *
* Details: http://gcc.gnu.org/wiki/Visibility
*/
/* Marks public libsigrokdecode API symbols. */
+#ifndef _WIN32
#define SRD_API __attribute__((visibility("default")))
+#else
+#define SRD_API
+#endif
/* Marks private, non-public libsigrokdecode symbols (not part of the API). */
+#ifndef _WIN32
#define SRD_PRIV __attribute__((visibility("hidden")))
+#else
+#define SRD_PRIV
+#endif
/*
* When adding an output type, don't forget to...
SRD_API int srd_log_logdomain_set(const char *logdomain);
SRD_API char *srd_log_logdomain_get(void);
+/*--- version.c -------------------------------------------------------------*/
+
+SRD_API int srd_package_version_major_get(void);
+SRD_API int srd_package_version_minor_get(void);
+SRD_API int srd_package_version_micro_get(void);
+SRD_API const char *srd_package_version_string_get(void);
+
+SRD_API int srd_lib_version_current_get(void);
+SRD_API int srd_lib_version_revision_get(void);
+SRD_API int srd_lib_version_age_get(void);
+SRD_API const char *srd_lib_version_string_get(void);
+
#ifdef __cplusplus
}
#endif