1dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#include <stdio.h>
2dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
3dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#include <cutils/properties.h>
4dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
5dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project#include <sys/system_properties.h>
6dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
7dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectstatic void proplist(const char *key, const char *name,
8dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project                     void *user __attribute__((unused)))
9dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project{
10dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    printf("[%s]: [%s]\n", key, name);
11dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project}
12dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
13dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint __system_property_wait(prop_info *pi);
14dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
15dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Projectint getprop_main(int argc, char *argv[])
16dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project{
17dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    int n = 0;
18dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
19dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    if (argc == 1) {
20dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        (void)property_list(proplist, NULL);
21dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    } else {
22dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        char value[PROPERTY_VALUE_MAX];
23dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        char *default_value;
24dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        if(argc > 2) {
25dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project            default_value = argv[2];
26dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        } else {
27dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project            default_value = "";
28dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        }
29dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project
30dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        property_get(argv[1], value, default_value);
31dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project        printf("%s\n", value);
32dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    }
33dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project    return 0;
34dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0The Android Open Source Project}
35