/* Copyright 2019,2020 NXP
 * SPDX-License-Identifier: Apache-2.0
 * 
 */

#ifndef PLUGANDTRUST_VERSION_INFO_H_INCLUDED
#define PLUGANDTRUST_VERSION_INFO_H_INCLUDED


/* clang-format off */
#define PLUGANDTRUST_PROD_NAME          "PlugAndTrust"
#define PLUGANDTRUST_VER_STRING_NUM     "v03.00.05_20201014"
#define PLUGANDTRUST_PROD_NAME_VER_FULL "PlugAndTrust_v03.00.05_20201014"
#define PLUGANDTRUST_VER_MAJOR          (3u)
#define PLUGANDTRUST_VER_MINOR          (0u)
#define PLUGANDTRUST_VER_DEV            (5u)

/* v03.00 = 30000u */
#define PLUGANDTRUST_VER_MAJOR_MINOR ( 0 \
    | (PLUGANDTRUST_VER_MAJOR * 10000u)    \
    | (PLUGANDTRUST_VER_MINOR))

/* v03.00.05 = 300000005ULL */
#define PLUGANDTRUST_VER_MAJOR_MINOR_DEV ( 0 \
    | (PLUGANDTRUST_VER_MAJOR * 10000*10000u)    \
    | (PLUGANDTRUST_VER_MINOR * 10000u)    \
    | (PLUGANDTRUST_VER_DEV))

/* clang-format on */


/* Version Information:
 * Generated by:
 *     scripts\version_info.py (v2019.01.17_00)
 * 
 * Do not edit this file. Update:
 *     ./version_info.txt instead.
 * 
 * prod_name = "PlugAndTrust"
 * 
 * prod_desc = "Plug And Trust Package"
 * 
 * lang_c_prefix = prod_name.upper()
 * 
 * lang_namespace = ""
 * 
 * v_major  = "03"
 * 
 * v_minor  = "00"
 * 
 * v_dev    = "05"
 * 
 * # Develop Branch
 * v_meta   = ""
 * 
 * maturity = "B"
 * 
 */

#endif /* PLUGANDTRUST_VERSION_INFO_H_INCLUDED */
