This method of identifying ODP version using API is useful for finding
the implementation version while executing the binary. IMO we need to
additionally define a method to identify the version of the compiled
binary statically.

We can add a "#define Version <ODP_IMP_Version>" inside the
implementation file so that we can execute "strings" command on the
compiled binary to grep and identify the implementation version
statically.

Regards,
Bala

On 2 November 2015 at 16:41, Petri Savolainen
<[email protected]> wrote:
> Refined version API documentation and added implementation
> name string that can be used to identify the underlying
> implementation at run time.
>
> Signed-off-by: Petri Savolainen <[email protected]>
> ---
>  include/odp/api/version.h | 47 
> ++++++++++++++++++++++++++++++++++++++---------
>  1 file changed, 38 insertions(+), 9 deletions(-)
>
> diff --git a/include/odp/api/version.h b/include/odp/api/version.h
> index c976f16..d7bce74 100644
> --- a/include/odp/api/version.h
> +++ b/include/odp/api/version.h
> @@ -18,8 +18,15 @@
>  extern "C" {
>  #endif
>
> -/** @defgroup odp_version ODP VERSION
> - *  @{
> +/**
> + * @defgroup odp_version ODP VERSION
> + * @details
> + * <b> ODP API and implementation versions </b>
> + *
> + * ODP API version is identified by ODP_VERSION_API_XXX pre-processor macros.
> + * In addition to these macros, API calls can be used to identify 
> implementation
> + * and API version information at run time.
> + * @{
>   */
>
>  /**
> @@ -49,20 +56,42 @@ extern "C" {
>  #define ODP_VERSION_API_MINOR 0
>
>  /**
> - * Returns ODP API version string
> + * ODP API version string
> + *
> + * The API version string defines ODP API version in this format:
> + * @verbatim <generation>.<major>.<minor> @endverbatim
> + *
> + * The string is null terminated.
> + *
> + * @return Pointer to API version string
>   */
>  const char *odp_version_api_str(void);
>
> +/**
> + * Implementation name string
> + *
> + * This is a free format string which identifies the implementation with a
> + * unique name. The string should be compact and remain constant over 
> multiple
> + * API and implementation versions. Application can use this to identify the
> + * underlying implementation at run time. The string is null terminated.
> + *
> + * @return Pointer to implementation name string
> +  */
> +const char *odp_version_impl_name(void);
>
>  /**
> - * Returns ODP implementation version string
> + * Implementation version string
>   *
> - * Every implementation of ODP may receive bug fixes independent of the 
> version
> - * of the API changing, this function returns that indication string.
> - * @note This string is implementation specific.
> - * @sa odp_version_api_str()
> + * This is a free format string which identifies the implementation with
> + * detailed version information. The string may include information about
> + * implementation version, bug fix level, version control tags, build number,
> + * etc details which exactly identify the implementation code base.
> + * User may include this information e.g. to bug reports. The string is null
> + * terminated.
>   *
> - * @return null terminated implementation specific version identifier string
> + * @see odp_version_api_str(), odp_version_impl_name()
> + *
> + * @return Pointer to implementation specific version identifier string
>    */
>  const char *odp_version_impl_str(void);
>  /**
> --
> 2.6.2
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to