/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. * 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> /* Recommended size for string property buffers used with * VbGetSystemPropertyString(). */ #define VB_MAX_STRING_PROPERTY ((size_t) 8192) /* 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 the passed buffer, or NULL if error. */ const char* 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_ */