| /* Copyright 2013 The ChromiumOS Authors | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #ifndef VBOOT_REFERENCE_CROSSYSTEM_H_ | |
| #define VBOOT_REFERENCE_CROSSYSTEM_H_ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #include <stddef.h> | |
| #include <stdint.h> | |
| /* Recommended size for string property buffers used with | |
| * VbGetSystemPropertyString(). */ | |
| #define VB_MAX_STRING_PROPERTY ((size_t) 8192) | |
| /* Reads the system SKU ID. | |
| * | |
| * Returns 0 if success, -1 if error. */ | |
| int VbGetSystemSkuId(uint32_t *sku_id); | |
| /* Reads a system property integer. | |
| * | |
| * Returns the property value, or -1 if error. */ | |
| int VbGetSystemPropertyInt(const char *name); | |
| /* Read a system property string into a destination buffer of the | |
| * specified size. Returned string will be null-terminated. If the | |
| * buffer is too small, the returned string will be truncated. | |
| * | |
| * The caller can expect an un-truncated value if the size provided is | |
| * at least VB_MAX_STRING_PROPERTY. | |
| * | |
| * Returns 0 if success, -1 if error. */ | |
| int VbGetSystemPropertyString(const char *name, char *dest, | |
| size_t size); | |
| /* Sets a system property integer. | |
| * | |
| * Returns 0 if success, -1 if error. */ | |
| int VbSetSystemPropertyInt(const char *name, int value); | |
| /* Set a system property string. | |
| * | |
| * The maximum length of the value accepted depends on the specific | |
| * property, not on VB_MAX_STRING_PROPERTY. | |
| * | |
| * Returns 0 if success, -1 if error. */ | |
| int VbSetSystemPropertyString(const char *name, const char *value); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* VBOOT_REFERENCE_CROSSYSTEM_H_ */ |