diff --git a/bindings/c/zmq.h b/bindings/c/zmq.h index 3bcee9d1..d5fb4f43 100644 --- a/bindings/c/zmq.h +++ b/bindings/c/zmq.h @@ -39,6 +39,12 @@ extern "C" { #define ZMQ_EXPORT #endif +//////////////////////////////////////////////////////////////////////////////// +// 0MQ versioning supprt. +//////////////////////////////////////////////////////////////////////////////// + +ZMQ_EXPORT void zmq_version (int *major, int *minor, int *patch); + //////////////////////////////////////////////////////////////////////////////// // 0MQ errors. //////////////////////////////////////////////////////////////////////////////// diff --git a/src/config.hpp b/src/config.hpp index 97247335..a0d5755c 100644 --- a/src/config.hpp +++ b/src/config.hpp @@ -27,6 +27,10 @@ namespace zmq enum { + // Current version of 0MQ. + version_major = 0, + version_minor = 0, + version_patch = 0, // Number of new messages in message pipe needed to trigger new memory // allocation. Setting this parameter to 256 decreases the impact of diff --git a/src/zmq.cpp b/src/zmq.cpp index 3ebd8d05..609c8f27 100644 --- a/src/zmq.cpp +++ b/src/zmq.cpp @@ -30,6 +30,7 @@ #include "msg_content.hpp" #include "platform.hpp" #include "stdint.hpp" +#include "config.hpp" #include "err.hpp" #include "fd.hpp" @@ -49,6 +50,13 @@ #include #endif +void zmq_version (int *major_, int *minor_, int *patch_) +{ + *major_ = zmq::version_major; + *minor_ = zmq::version_minor; + *patch_ = zmq::version_patch; +} + const char *zmq_strerror (int errnum_) { switch (errnum_) {