| // Copyright 2022 The ChromiumOS Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef INIT_STARTUP_CONSTANTS_H_ |
| #define INIT_STARTUP_CONSTANTS_H_ |
| |
| #include <sys/mount.h> |
| |
| namespace startup { |
| |
| // These constants are used to check the clock. Since they need to be |
| // updated, which could be automated, they are in a separate file for |
| // ease of maintenance. |
| // NB: Keep in sync with tlsdate/configure.ac constants. |
| constexpr int kMinYear = 2024; |
| // Assume that this build of the OS won't be used this far in the future. |
| // Seems unlikely that we'll be able to reasonably communicate with the |
| // rest of the world with such ancient software. It doesn't prevent the |
| // runtime from syncing the clock. |
| constexpr int kMaxYear = kMinYear + 30; |
| // This isn't exactly correct as it doesn't handle leap years, but it's |
| // good enough for our purposes (pulling clock to the ~last year). |
| constexpr uint64_t kMinSecs = (kMinYear - 1970) * (365UL * 24 * 60 * 60); |
| constexpr uint64_t kMaxSecs = (kMaxYear - 1970) * (365UL * 24 * 60 * 60); |
| |
| // Many of the mount calls in chromeos_startup utilize these flags. |
| // Making this a constant to simplify those mount calls, but this |
| // should only be used in cases where these specific mount flags are |
| // needed. |
| constexpr int kCommonMountFlags = MS_NOSUID | MS_NODEV | MS_NOEXEC; |
| |
| } // namespace startup |
| |
| #endif // INIT_STARTUP_CONSTANTS_H_ |