#pragma once #ifdef __cplusplus extern "C" { #endif typedef struct Version Version; /** * Gets current running firmware version handle. * You can store it somewhere. But if you want to retrieve data, * you have to use 'version_*_get()' set of functions. * Also, 'version_*_get()' imply to use this * handle if no handle (NULL_PTR) provided. * * @return Handle to version data. */ const Version* version_get(void); /** * Gets git hash of build commit. * * @param v - ptr to version handle. If zero - gets current running fw info. * @return git hash */ const char* version_get_githash(const Version* v); /** * Gets git branch of build commit. * * @param v - ptr to version handle. If zero - gets current running fw info. * @return git branch */ const char* version_get_gitbranch(const Version* v); /** * Gets git number of build commit. * * @param v - ptr to version handle. If zero - gets current running fw info. * @return number of commit */ const char* version_get_gitbranchnum(const Version* v); /** * Gets build date. * * @param v - ptr to version handle. If zero - gets current running fw info. * @return build date */ const char* version_get_builddate(const Version* v); /** * Gets build version. * Build version is last tag in git history. * * @param v - ptr to version handle. If zero - gets current running fw info. * @return build date */ const char* version_get_version(const Version* v); /** * Gets firmware target. * Build version is last tag for build commit. * * @param v - ptr to version handle. If zero - gets current running fw info. * @return build date */ const char* version_get_target(const Version* v); #ifdef __cplusplus } #endif