@@ -158,7 +158,7 @@ typedef SSIZE_T ssize_t;
158158 * @remark This value should only be used during compile time,
159159 * for runtime checks of version use rd_kafka_version()
160160 */
161- #define RD_KAFKA_VERSION 0x010601ff
161+ #define RD_KAFKA_VERSION 0x010700ff
162162
163163/**
164164 * @brief Returns the librdkafka version as integer.
@@ -2311,6 +2311,25 @@ rd_kafka_conf_set_ssl_cert (rd_kafka_conf_t *conf,
23112311 char * errstr , size_t errstr_size );
23122312
23132313
2314+ /**
2315+ * @brief Set callback_data for OpenSSL engine.
2316+ *
2317+ * @param conf Configuration object.
2318+ * @param callback_data passed to engine callbacks,
2319+ * e.g. \c ENGINE_load_ssl_client_cert.
2320+ *
2321+ * @remark The \c ssl.engine.location configuration must be set for this
2322+ * to have affect.
2323+ *
2324+ * @remark The memory pointed to by \p value must remain valid for the
2325+ * lifetime of the configuration object and any Kafka clients that
2326+ * use it.
2327+ */
2328+ RD_EXPORT
2329+ void rd_kafka_conf_set_engine_callback_data (rd_kafka_conf_t * conf ,
2330+ void * callback_data );
2331+
2332+
23142333/**
23152334 * @brief Sets the application's opaque pointer that will be passed to callbacks
23162335 *
@@ -3093,6 +3112,43 @@ rd_kafka_offsets_for_times (rd_kafka_t *rk,
30933112 int timeout_ms );
30943113
30953114
3115+
3116+ /**
3117+ * @brief Allocate and zero memory using the same allocator librdkafka uses.
3118+ *
3119+ * This is typically an abstraction for the calloc(3) call and makes sure
3120+ * the application can use the same memory allocator as librdkafka for
3121+ * allocating pointers that are used by librdkafka.
3122+ *
3123+ * \p rk can be set to return memory allocated by a specific \c rk instance
3124+ * otherwise pass NULL for \p rk.
3125+ *
3126+ * @remark Memory allocated by rd_kafka_mem_calloc() must be freed using
3127+ * rd_kafka_mem_free()
3128+ */
3129+ RD_EXPORT
3130+ void * rd_kafka_mem_calloc (rd_kafka_t * rk , size_t num , size_t size );
3131+
3132+
3133+
3134+ /**
3135+ * @brief Allocate memory using the same allocator librdkafka uses.
3136+ *
3137+ * This is typically an abstraction for the malloc(3) call and makes sure
3138+ * the application can use the same memory allocator as librdkafka for
3139+ * allocating pointers that are used by librdkafka.
3140+ *
3141+ * \p rk can be set to return memory allocated by a specific \c rk instance
3142+ * otherwise pass NULL for \p rk.
3143+ *
3144+ * @remark Memory allocated by rd_kafka_mem_malloc() must be freed using
3145+ * rd_kafka_mem_free()
3146+ */
3147+ RD_EXPORT
3148+ void * rd_kafka_mem_malloc (rd_kafka_t * rk , size_t size );
3149+
3150+
3151+
30963152/**
30973153 * @brief Free pointer returned by librdkafka
30983154 *
0 commit comments