1 // This file is autogenerated
2 
3 #pragma once
4 
5 #include <stdint.h>
6 #include <vector>
7 #include <map>
8 #include <set>
9 #include <stddef.h>
10 
11 #ifndef __ANDROID_API_T__
12 #define __ANDROID_API_T__ 33
13 #endif
14 #ifndef __INTRODUCED_IN
15 #define __INTRODUCED_IN(api_level)
16 #endif
17 
18 namespace chromeos_update_engine {
19 namespace statsd {
20 
21 /*
22  * API For logging statistics events.
23  */
24 
25 /**
26  * Constants for atom codes.
27  */
28 enum {
29 
30     /**
31      * UpdateEngineUpdateAttemptReported update_engine_update_attempt_reported
32      * Usage: stats_write(UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED, int32_t attempt_number, int32_t payload_type, int32_t duration_boottime_in_minutes, int32_t duration_monotonic_in_minutes, int32_t payload_size_mib, int32_t attempt_result, int32_t error_code, char const* source_fingerprint, int64_t super_partition_size_bytes, int64_t slot_size_bytes, int64_t super_free_space_bytes, bool vab_compression_enabled, bool vab_compression_used);
33      */
34     UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED = 225,
35 
36     /**
37      * UpdateEngineSuccessfulUpdateReported update_engine_successful_update_reported
38      * Usage: stats_write(UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED, int32_t attempt_count, int32_t payload_type, int32_t payload_size_mib, int32_t total_bytes_downloaded_mib, int32_t download_overhead_percentage, int32_t total_duration_minutes, int32_t reboot_count, bool fec_enabled, bool hash_tree_enabled);
39      */
40     UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED = 226,
41 
42     /**
43      * SnapshotMergeReported snapshot_merge_reported
44      * Usage: stats_write(SNAPSHOT_MERGE_REPORTED, int32_t final_state, int64_t duration_millis, int32_t intermediate_reboots, bool is_vab_retrofit, int64_t cow_file_size_bytes, bool vab_compression_enabled, bool vab_compression_used, int64_t total_cow_size_bytes, int64_t estimated_cow_size_bytes, int32_t boot_complete_time_millis, int32_t boot_complete_to_merge_start_time_millis, int32_t merge_failure_code, char const* source_build_fingerprint, char const* target_build_fingerprint, bool userspace_snapshots_enabled, bool userspace_snapshots_used, bool xor_compression_enabled, bool xor_compression_used, bool iouring_used);
45      */
46     SNAPSHOT_MERGE_REPORTED = 255
47 
48 };
49 
50 //
51 // Constants for enum values
52 //
53 
54 // Values for UpdateEngineUpdateAttemptReported.payload_type
55 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__PAYLOAD_TYPE__FULL = 10000;
56 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__PAYLOAD_TYPE__DELTA = 10001;
57 
58 // Values for UpdateEngineUpdateAttemptReported.attempt_result
59 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__UPDATE_SUCCEEDED = 10000;
60 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__INTERNAL_ERROR = 10001;
61 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__PAYLOAD_DOWNLOAD_ERROR = 10002;
62 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__METADATA_MALFORMED = 10003;
63 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__OPERATION_MALFORMED = 10004;
64 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__OPERATION_EXECUTION_ERROR = 10005;
65 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__METADATA_VERIFICATION_FAILED = 10006;
66 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__PAYLOAD_VERIFICATION_FAILED = 10007;
67 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__VERIFICATION_FAILED = 10008;
68 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__POSTINSTALL_FAILED = 10009;
69 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__ABNORMAL_TERMINATION = 10010;
70 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__UPDATE_CANCELED = 10011;
71 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ATTEMPT_RESULT__UPDATE_SUCCEEDED_NOT_ACTIVE = 10012;
72 
73 // Values for UpdateEngineUpdateAttemptReported.error_code
74 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__SUCCESS = 10000;
75 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__ERROR = 10001;
76 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__FILESYSTEM_COPIER_ERROR = 10004;
77 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__POST_INSTALL_RUNNER_ERROR = 10005;
78 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__PAYLOAD_MISMATCHED_TYPE_ERROR = 10006;
79 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__INSTALL_DEVICE_OPEN_ERROR = 10007;
80 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__KERNEL_DEVICE_OPEN_ERROR = 10008;
81 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_TRANSFER_ERROR = 10009;
82 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__PAYLOAD_HASH_MISMATCH_ERROR = 10010;
83 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__PAYLOAD_SIZE_MISMATCH_ERROR = 10011;
84 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 10012;
85 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_NEW_PARTITION_INFO_ERROR = 10013;
86 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_WRITE_ERROR = 10014;
87 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__NEW_ROOTFS_VERIFICATION_ERROR = 10015;
88 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__SIGNED_DELTA_PAYLOAD_EXPECTED_ERROR = 10017;
89 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_PAYLOAD_PUB_KEY_VERIFICATION_ERROR = 10018;
90 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_STATE_INITIALIZATION_ERROR = 10020;
91 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_INVALID_METADATA_MAGIC_STRING = 10021;
92 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_SIGNATURE_MISSING_IN_MANIFEST = 10022;
93 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_MANIFEST_PARSE_ERROR = 10023;
94 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_METADATA_SIGNATURE_ERROR = 10024;
95 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_METADATA_SIGNATURE_VERIFICATION_ERROR = 10025;
96 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_METADATA_SIGNATURE_MISMATCH = 10026;
97 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_OPERATION_HASH_VERIFICATION_ERROR = 10027;
98 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_OPERATION_EXECUTION_ERROR = 10028;
99 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_OPERATION_HASH_MISMATCH = 10029;
100 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_INVALID_METADATA_SIZE = 10032;
101 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_INVALID_METADATA_SIGNATURE = 10033;
102 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_OPERATION_HASH_MISSING_ERROR = 10038;
103 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__DOWNLOAD_METADATA_SIGNATURE_MISSING_ERROR = 10039;
104 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__UNSUPPORTED_MAJOR_PAYLOAD_VERSION = 10044;
105 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__UNSUPPORTED_MINOR_PAYLOAD_VERSION = 10045;
106 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__FILESYSTEM_VERIFIER_ERROR = 10047;
107 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__USER_CANCELED = 10048;
108 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__PAYLOAD_TIMESTAMP_ERROR = 10051;
109 const int32_t UPDATE_ENGINE_UPDATE_ATTEMPT_REPORTED__ERROR_CODE__UPDATED_BUT_NOT_ACTIVE = 10052;
110 
111 // Values for UpdateEngineSuccessfulUpdateReported.payload_type
112 const int32_t UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED__PAYLOAD_TYPE__FULL = 10000;
113 const int32_t UPDATE_ENGINE_SUCCESSFUL_UPDATE_REPORTED__PAYLOAD_TYPE__DELTA = 10001;
114 
115 // Values for SnapshotMergeReported.final_state
116 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__NONE = 0;
117 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__INITIATED = 1;
118 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__UNVERIFIED = 2;
119 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__MERGING = 3;
120 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__MERGE_NEEDS_REBOOT = 4;
121 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__MERGE_COMPLETED = 5;
122 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__MERGE_FAILED = 6;
123 const int32_t SNAPSHOT_MERGE_REPORTED__FINAL_STATE__CANCELLED = 7;
124 
125 // Values for SnapshotMergeReported.merge_failure_code
126 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__OK = 0;
127 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__READ_STATUS = 1;
128 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__GET_TABLE_INFO = 2;
129 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__UNKNOWN_TABLE = 3;
130 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__GET_TABLE_PARAMS = 4;
131 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__ACTIVATE_NEW_TABLE = 5;
132 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__ACQUIRE_LOCK = 6;
133 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__LIST_SNAPSHOTS = 7;
134 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__WRITE_STATUS = 8;
135 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__UNKNOWN_TARGET_TYPE = 9;
136 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__QUERY_SNAPSHOT_STATUS = 10;
137 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__EXPECTED_MERGE_TARGET = 11;
138 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__UNMERGED_SECTORS_AFTER_COMPLETION = 12;
139 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__UNEXPECTED_MERGE_STATE = 13;
140 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__GET_COW_PATH_CONSISTENCY_CHECK = 14;
141 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__OPEN_COW_CONSISTENCY_CHECK = 15;
142 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__PARSE_COW_CONSISTENCY_CHECK = 16;
143 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__OPEN_COW_DIRECT_CONSISTENCY_CHECK = 17;
144 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__MEM_ALIGN_CONSISTENCY_CHECK = 18;
145 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__DIRECT_READ_CONSISTENCY_CHECK = 19;
146 const int32_t SNAPSHOT_MERGE_REPORTED__MERGE_FAILURE_CODE__WRONG_MERGE_COUNT_CONSISTENCY_CHECK = 20;
147 
148 struct BytesField {
BytesFieldBytesField149   BytesField(char const* array, size_t len) : arg(array), arg_length(len) {}
150   char const* arg;
151   size_t arg_length;
152 };
153 
154 //
155 // Write methods
156 //
157 int stats_write(int32_t code, int32_t arg1, int32_t arg2, int32_t arg3, int32_t arg4, int32_t arg5, int32_t arg6, int32_t arg7, bool arg8, bool arg9);
158 int stats_write(int32_t code, int32_t arg1, int32_t arg2, int32_t arg3, int32_t arg4, int32_t arg5, int32_t arg6, int32_t arg7, char const* arg8, int64_t arg9, int64_t arg10, int64_t arg11, bool arg12, bool arg13);
159 int stats_write(int32_t code, int32_t arg1, int64_t arg2, int32_t arg3, bool arg4, int64_t arg5, bool arg6, bool arg7, int64_t arg8, int64_t arg9, int32_t arg10, int32_t arg11, int32_t arg12, char const* arg13, char const* arg14, bool arg15, bool arg16, bool arg17, bool arg18, bool arg19);
160 
161 //
162 // Write flattened methods
163 //
164 
165 //
166 // Add AStatsEvent methods
167 //
168 
169 } // namespace statsd
170 } // namespace chromeos_update_engine
171