1 /******************************************************************************
2  *
3  *  Copyright 2016 Google, Inc.
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at:
8  *
9  *  http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  ******************************************************************************/
18 
19 #pragma once
20 
21 #include <cstdint>
22 
23 #define PROPERTY_VALUE_MAX 92
24 #define BUILD_SANITY_PROPERTY_VALUE_MAX 92
25 
26 // Get value associated with key |key| into |value|.
27 // Returns the length of the value which will never be greater than
28 // PROPERTY_VALUE_MAX - 1 and will always be zero terminated.
29 // (the length does not include the terminating zero).
30 // If the property read fails or returns an empty value, the |default_value|
31 // is used (if nonnull).  If the |default_value| is null, zero is returned.
32 int osi_property_get(const char* key, char* value, const char* default_value);
33 
34 // Write value of property associated with key |key| to |value|.
35 // Returns 0 on success, < 0 on failure
36 int osi_property_set(const char* key, const char* value);
37 
38 // Adapter function for property_get_int32 in
39 // libcutils/include/cutils/properties.h
40 //
41 // returns the value of |key| truncated and coerced into an
42 // int32_t. If the property is not set, then the |default_value| is used.
43 int32_t osi_property_get_int32(const char* key, int32_t default_value);
44 
45 // Adapter function for property_get_bool in
46 // libcutils/include/cutils/properties.h
47 //
48 // returns the value of |key| coerced into a bool. If the property is not set,
49 // then the |default_value| is used.
50 bool osi_property_get_bool(const char* key, bool default_value);