X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=sigrokdecode.h.in;h=ad7b602d73dee3ef56741fc49817e65e174feaba;hp=ded00bf638b918b2a3a3ebb9446fede7186e26ad;hb=d628cdb521159d600cb19a3cd04eec28e07d9220;hpb=8f01b6bcc58e25c92a263f99283748d29421cacb diff --git a/sigrokdecode.h.in b/sigrokdecode.h.in index ded00bf..ad7b602 100644 --- a/sigrokdecode.h.in +++ b/sigrokdecode.h.in @@ -30,6 +30,38 @@ 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