| /* |
| * Copyright (C) 2006 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef __CUTILS_PROPERTIES_H |
| #define __CUTILS_PROPERTIES_H |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* System properties are *small* name value pairs managed by the |
| ** property service. If your data doesn't fit in the provided |
| ** space it is not appropriate for a system property. |
| ** |
| ** WARNING: system/bionic/include/sys/system_properties.h also defines |
| ** these, but with different names. (TODO: fix that) |
| */ |
| #define PROPERTY_KEY_MAX 32 |
| #define PROPERTY_VALUE_MAX 92 |
| |
| /* property_get: returns the length of the value which will never be |
| ** greater than PROPERTY_VALUE_MAX - 1 and will always be zero terminated. |
| ** (the length does not include the terminating zero). |
| ** |
| ** If the property read fails or returns an empty value, the default |
| ** value is used (if nonnull). |
| */ |
| int property_get(const char *key, char *value, const char *default_value); |
| |
| /* property_set: returns 0 on success, < 0 on failure |
| */ |
| int property_set(const char *key, const char *value); |
| |
| int property_list(void (*propfn)(const char *key, const char *value, void *cookie), void *cookie); |
| |
| |
| #ifdef HAVE_SYSTEM_PROPERTY_SERVER |
| /* |
| * We have an external property server instead of built-in libc support. |
| * Used by the simulator. |
| */ |
| #define SYSTEM_PROPERTY_PIPE_NAME "/tmp/android-sysprop" |
| |
| enum { |
| kSystemPropertyUnknown = 0, |
| kSystemPropertyGet, |
| kSystemPropertySet, |
| kSystemPropertyList |
| }; |
| #endif /*HAVE_SYSTEM_PROPERTY_SERVER*/ |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |