 8d2ea14f06
			
		
	
	
		8d2ea14f06
		
			
		
	
	
	
	
		
			
			* fbt: added hooks for build & dist environments * Moved env hooks to an optional file * Fixed var name * Added fw origin to device info * Bumped device info version * fbt: added FIRMWARE_ORIGIN option. Different implementation for FW_ORIGIN_* C macro. * api: bumped versions * fbt: added fbt_options_local.py * gitignore: cleanup Co-authored-by: あく <alleteam@gmail.com>
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <stdint.h>
 | |
| #include <stdbool.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
 | |
|  */
 | |
| uint8_t version_get_target(const Version* v);
 | |
| 
 | |
| /** Get flag indicating if this build is "dirty" (source code had uncommited changes)
 | |
|  *
 | |
|  * @param      v     pointer to Version data. NULL for currently running
 | |
|  *                   software.
 | |
|  *
 | |
|  * @return     build date
 | |
|  */
 | |
| bool version_get_dirty_flag(const Version* v);
 | |
| 
 | |
| /** 
 | |
|  * Get firmware origin. "Official" for mainline firmware, fork name for forks.
 | |
|  * Set by FIRMWARE_ORIGIN fbt argument.
 | |
| */
 | |
| const char* version_get_firmware_origin(const Version* v);
 | |
| 
 | |
| /** 
 | |
|  * Get git repo origin
 | |
| */
 | |
| const char* version_get_git_origin(const Version* v);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 |