Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions ci/release/update-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,8 @@ done
sed_runner "s| CuVS [[:digit:]]\{2\}\.[[:digit:]]\{2\} | CuVS ${NEXT_SHORT_TAG} |g" java/README.md
sed_runner "s|-[[:digit:]]\{2\}\.[[:digit:]]\{2\}\.[[:digit:]]\{1,2\}\.jar|-${NEXT_FULL_JAVA_TAG}\.jar|g" java/examples/README.md
sed_runner "s|/[[:digit:]]\{2\}\.[[:digit:]]\{2\}\.[[:digit:]]\{1,2\}/|/${NEXT_FULL_JAVA_TAG}/|g" java/examples/README.md

# Update C API version.
sed_runner "s|CUVS_VERSION_MAJOR = [0-9][0-9]|CUVS_VERSION_MAJOR = ${NEXT_MAJOR}|g" cpp/include/cuvs/core/c_api.h
sed_runner "s|CUVS_VERSION_MINOR = [0-9][0-9]|CUVS_VERSION_MINOR = ${NEXT_MINOR}|g" cpp/include/cuvs/core/c_api.h
sed_runner "s|CUVS_VERSION_PATCH = [0-9][0-9]|CUVS_VERSION_PATCH = ${NEXT_PATCH}|g" cpp/include/cuvs/core/c_api.h
15 changes: 14 additions & 1 deletion cpp/include/cuvs/core/c_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
#include <stdbool.h>
#include <stdint.h>

static const uint16_t CUVS_VERSION_MAJOR = 25;
static const uint16_t CUVS_VERSION_MINOR = 06;
static const uint16_t CUVS_VERSION_PATCH = 00;

#ifdef __cplusplus
extern "C" {
#endif
Expand All @@ -29,7 +33,7 @@ extern "C" {
* @{
*/
/**
* @brief An enum denoting return values for function calls
* @brief An enum denoting error statuses for function calls
*
*/
typedef enum { CUVS_ERROR, CUVS_SUCCESS } cuvsError_t;
Expand Down Expand Up @@ -167,6 +171,15 @@ cuvsError_t cuvsRMMHostAlloc(void** ptr, size_t bytes);
*/
cuvsError_t cuvsRMMHostFree(void* ptr, size_t bytes);

/**
* @brief Get the version of the cuVS library
* @param[out] major Major version
* @param[out] minor Minor version
* @param[out] patch Patch version
* @return cuvsError_t
*/
cuvsError_t cuvsVersionGet(uint16_t* major, uint16_t* minor, uint16_t* patch);

/** @} */

#ifdef __cplusplus
Expand Down
8 changes: 8 additions & 0 deletions cpp/src/core/c_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,11 @@ extern "C" const char* cuvsGetLastErrorText()
}

extern "C" void cuvsSetLastErrorText(const char* error) { last_error_text = error ? error : ""; }

extern "C" cuvsError_t cuvsVersionGet(uint16_t* major, uint16_t* minor, uint16_t* patch)
{
*major = CUVS_VERSION_MAJOR;
*minor = CUVS_VERSION_MINOR;
*patch = CUVS_VERSION_PATCH;
return CUVS_SUCCESS;
}
8 changes: 8 additions & 0 deletions cpp/tests/core/c_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,5 +86,13 @@ int main()
error = cuvsResourcesDestroy(res);
if (error == CUVS_ERROR) { exit(EXIT_FAILURE); }

// Check version
uint16_t major, minor, patch;
error = cuvsVersionGet(&major, &minor, &patch);
if (error == CUVS_ERROR || major != CUVS_VERSION_MAJOR || minor != CUVS_VERSION_MINOR ||
patch != CUVS_VERSION_PATCH) {
exit(EXIT_FAILURE);
}

return 0;
}