79 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <stdint.h>
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| typedef struct Version Version;
 | |
| 
 | |
| /** Get 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     pointer to Version data.
 | |
|  */
 | |
| const Version* version_get(void);
 | |
| 
 | |
| /** Get git commit hash.
 | |
|  *
 | |
|  * @param      v     pointer to Version data. NULL for currently running
 | |
|  *                   software.
 | |
|  *
 | |
|  * @return     git hash
 | |
|  */
 | |
| const char* version_get_githash(const Version* v);
 | |
| 
 | |
| /** Get git branch.
 | |
|  *
 | |
|  * @param      v     pointer to Version data. NULL for currently running
 | |
|  *                   software.
 | |
|  *
 | |
|  * @return     git branch
 | |
|  */
 | |
| const char* version_get_gitbranch(const Version* v);
 | |
| 
 | |
| /** Get number of commit in git branch.
 | |
|  *
 | |
|  * @param      v     pointer to Version data. NULL for currently running
 | |
|  *                   software.
 | |
|  *
 | |
|  * @return     number of commit
 | |
|  */
 | |
| const char* version_get_gitbranchnum(const Version* v);
 | |
| 
 | |
| /** Get build date.
 | |
|  *
 | |
|  * @param      v     pointer to Version data. NULL for currently running
 | |
|  *                   software.
 | |
|  *
 | |
|  * @return     build date
 | |
|  */
 | |
| const char* version_get_builddate(const Version* v);
 | |
| 
 | |
| /** Get build version. Build version is last tag in git history.
 | |
|  *
 | |
|  * @param      v     pointer to Version data. NULL for currently running
 | |
|  *                   software.
 | |
|  *
 | |
|  * @return     build date
 | |
|  */
 | |
| const char* version_get_version(const Version* v);
 | |
| 
 | |
| /** Get hardware target this firmware was built for
 | |
|  *
 | |
|  * @param      v     pointer to Version data. NULL for currently running
 | |
|  *                   software.
 | |
|  *
 | |
|  * @return     build date
 | |
|  */
 | |
| const uint8_t version_get_target(const Version* v);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | 
