]> sigrok.org Git - libsigrokdecode.git/blobdiff - sigrokdecode.h.in
onewire decoder: removed some debug code, preparations for the next protocol layer
[libsigrokdecode.git] / sigrokdecode.h.in
index ded00bf638b918b2a3a3ebb9446fede7186e26ad..ad7b602d73dee3ef56741fc49817e65e174feaba 100644 (file)
 extern "C" {
 #endif
 
+/*
+ * Package version macros (can be used for conditional compilation).
+ */
+
+/** The libsigrokdecode package 'major' version number. */
+#define SRD_PACKAGE_VERSION_MAJOR @SRD_PACKAGE_VERSION_MAJOR@
+
+/** The libsigrokdecode package 'minor' version number. */
+#define SRD_PACKAGE_VERSION_MINOR @SRD_PACKAGE_VERSION_MINOR@
+
+/** The libsigrokdecode package 'micro' version number. */
+#define SRD_PACKAGE_VERSION_MICRO @SRD_PACKAGE_VERSION_MICRO@
+
+/** The libsigrokdecode package version ("major.minor.micro") as string. */
+#define SRD_PACKAGE_VERSION_STRING "@SRD_PACKAGE_VERSION@"
+
+/*
+ * Library/libtool version macros (can be used for conditional compilation).
+ */
+
+/** The libsigrokdecode libtool 'current' version number. */
+#define SRD_LIB_VERSION_CURRENT @SRD_LIB_VERSION_CURRENT@
+
+/** The libsigrokdecode libtool 'revision' version number. */
+#define SRD_LIB_VERSION_REVISION @SRD_LIB_VERSION_REVISION@
+
+/** The libsigrokdecode libtool 'age' version number. */
+#define SRD_LIB_VERSION_AGE @SRD_LIB_VERSION_AGE@
+
+/** The libsigrokdecode libtool version ("current:revision:age") as string. */
+#define SRD_LIB_VERSION_STRING "@SRD_LIB_VERSION@"
+
 /*
  * Status/error codes returned by libsigrokdecode functions.
  *
@@ -73,14 +105,25 @@ extern "C" {
  *
  * 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...
@@ -104,7 +147,7 @@ struct srd_decoder {
        /** The (short) decoder name. Must be non-NULL. */
        char *name;
 
-       /** The (long) decoder name. May be NULL. */
+       /** The (long) decoder name. Must be non-NULL. */
        char *longname;
 
        /** A (short, one-line) description of the decoder. Must be non-NULL. */
@@ -207,10 +250,10 @@ typedef struct {
 
 SRD_API int srd_init(const char *path);
 SRD_API int srd_exit(void);
-SRD_API int srd_inst_options_set(struct srd_decoder_inst *di,
-                                GHashTable *options);
-SRD_API int srd_inst_probes_set(struct srd_decoder_inst *di,
-                               GHashTable *probes);
+SRD_API int srd_inst_option_set(struct srd_decoder_inst *di,
+                               GHashTable *options);
+SRD_API int srd_inst_probe_set_all(struct srd_decoder_inst *di,
+                                  GHashTable *probes);
 SRD_API struct srd_decoder_inst *srd_inst_new(const char *id,
                                              GHashTable *options);
 SRD_API int srd_inst_stack(struct srd_decoder_inst *di_from,
@@ -220,8 +263,8 @@ SRD_API int srd_session_start(int num_probes, int unitsize,
                              uint64_t samplerate);
 SRD_API int srd_session_send(uint64_t start_samplenum, const uint8_t *inbuf,
                             uint64_t inbuflen);
-SRD_API int srd_register_callback(int output_type,
-                                 srd_pd_output_callback_t cb, void *cb_data);
+SRD_API int srd_pd_output_callback_add(int output_type,
+                               srd_pd_output_callback_t cb, void *cb_data);
 
 /*--- decoder.c -------------------------------------------------------------*/
 
@@ -231,7 +274,7 @@ SRD_API int srd_decoder_load(const char *name);
 SRD_API int srd_decoder_unload(struct srd_decoder *dec);
 SRD_API int srd_decoder_load_all(void);
 SRD_API int srd_decoder_unload_all(void);
-SRD_API char *srd_decoder_doc(const struct srd_decoder *dec);
+SRD_API char *srd_decoder_doc_get(const struct srd_decoder *dec);
 
 /*--- log.c -----------------------------------------------------------------*/
 
@@ -245,6 +288,18 @@ SRD_API int srd_log_callback_set_default(void);
 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