|  | // Copyright 2020 The Fuchsia Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  | library fuchsia.developer.ffx; | 
|  |  | 
|  | const MAX_GIT_COMMIT_LENGTH uint16 = 40; | 
|  | const MAX_BUILD_VERSION_LENGTH uint16 = 100; | 
|  | const MAX_EXEC_PATH_LENGTH uint16 = 4096; | 
|  |  | 
|  | type VersionInfo = table { | 
|  | /// Git commit hash of HEAD at build time. | 
|  | 1: commit_hash string:MAX_GIT_COMMIT_LENGTH; | 
|  |  | 
|  | /// UTC timestamp of the HEAD commit in seconds. | 
|  | 2: commit_timestamp uint64; | 
|  |  | 
|  | /// The build version, pulled from //build/info. | 
|  | 3: build_version string:MAX_BUILD_VERSION_LENGTH; | 
|  |  | 
|  | /// The ABI revision denotes the semantics of the Fuchsia System Interface | 
|  | /// that an application expects the platform to provide. The number | 
|  | /// has no ordering relationship (higher is not newer or older). | 
|  | /// Can be mapped to an api_level using //sdk/version_history.json. | 
|  | 4: abi_revision uint64; | 
|  |  | 
|  | /// The API level denotes a set of APIs available when building an | 
|  | /// application for a given release of the FUCHSIA IDK. Higher number | 
|  | /// means newer. | 
|  | /// Can be mapped to an abi_revision using //sdk/version_history.json. | 
|  | 5: api_level uint64; | 
|  |  | 
|  | /// Path of the actual FFX executable. This allows us to make absolutely | 
|  | /// sure commands match the daemon they're communicating with. | 
|  | 6: exec_path string:MAX_EXEC_PATH_LENGTH; | 
|  |  | 
|  | /// Build ID of the FFX executable. | 
|  | 7: build_id string:64; | 
|  | }; |