blob: 11d09d67424b1a7b36b906db4776940c4ea26fc5 [file] [log] [blame]
Marton Hunyady000dfa22018-02-21 14:30:35 +01001//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17#ifndef UPDATE_ENGINE_UPDATE_MANAGER_ROLLBACK_PREFS_H_
18#define UPDATE_ENGINE_UPDATE_MANAGER_ROLLBACK_PREFS_H_
19
20namespace chromeos_update_manager {
21
Zentaro Kavanagh1f899d52018-02-27 15:02:47 -080022// Value used to represent that kernel key versions can always roll-forward.
23// This is the maximum value of a kernel key version.
24constexpr int kRollforwardInfinity = 0xfffffffe;
25
Marton Hunyady000dfa22018-02-21 14:30:35 +010026// Whether the device should roll back to the target version, and if yes, which
27// type of rollback should it do. Matches chrome_device_policy.proto's
28// AutoUpdateSettingsProto::RollbackToTargetVersion.
29enum class RollbackToTargetVersion {
30 kUnspecified = 0,
31 kDisabled = 1,
Marton Hunyadyd4bc4622018-08-30 15:52:23 +020032 kRollbackAndPowerwash = 2,
Marton Hunyady31aefb92018-08-29 16:17:03 +020033 kRollbackAndRestoreIfPossible = 3,
Marton Hunyadyd4bc4622018-08-30 15:52:23 +020034 kRollbackOnlyIfRestorePossible = 4,
Marton Hunyady000dfa22018-02-21 14:30:35 +010035 // This value must be the last entry.
Marton Hunyady31aefb92018-08-29 16:17:03 +020036 kMaxValue = 5
Marton Hunyady000dfa22018-02-21 14:30:35 +010037};
38
39} // namespace chromeos_update_manager
40
41#endif // UPDATE_ENGINE_UPDATE_MANAGER_ROLLBACK_PREFS_H_