vm/include/open/vm_properties.h (23 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 __PROPERTIES_H__ #define __PROPERTIES_H__ #include <stddef.h> #include "open/common.h" #include "open/platform_types.h" #ifdef __cplusplus extern "C" { #endif typedef enum { VM_PROPERTIES = 0, JAVA_PROPERTIES = 1 } PropertyTable; /** * Sets the property for <code>table_number</code> property table. <code>NULL</code> value is supported. */ DECLARE_OPEN(void, vm_properties_set_value, (const char* key, const char* value, PropertyTable table_number)); /** * @return The value of the property from <code>table_number</code> property table if it * has been set by <code>vm_properties_set_value</code> function. Otherwise <code>NULL</code>. */ DECLARE_OPEN(char*, vm_properties_get_value, (const char* key, PropertyTable table_number)); /** * Safety frees memory of value returned by <code>vm_properties_get_value</code> function. */ DECLARE_OPEN(void, vm_properties_destroy_value, (char* value)); /** * Checks if the property is set. */ DECLARE_OPEN(BOOLEAN, vm_property_is_set, (const char* key, PropertyTable table_number)); /** * @return An array of keys from <code>table_number</code> properties table. */ DECLARE_OPEN(char**, vm_properties_get_keys, (PropertyTable table_number)); /** * @return An array of keys which start with specified prefix from * <code>table_number</code> properties table. */ DECLARE_OPEN(char**, vm_properties_get_keys_starting_with, (const char* prefix, PropertyTable table_number)); /** * Safety frees array of keys memory which returned by <code>vm_properties_get_keys</code> * or <code>vm_properties_get_keys_starting_with</code> functions. */ DECLARE_OPEN(void, vm_properties_destroy_keys, (char** keys)); /** * Tries to interpret property value as <code>Boolean</code> and returns it. * In case of failure returns <code>default_value</code>. */ DECLARE_OPEN(BOOLEAN, vm_property_get_boolean, (const char* property, BOOLEAN default_value, PropertyTable table_number)); /** * Tries to interpret property value as <code>int</code> and returns it. In case of failure * returns <code>default_value</code>. */ DECLARE_OPEN(int, vm_property_get_integer, (const char *property_name, int default_value, PropertyTable table_number)); /** * Tries to interpret property value as <code>int</code> and returns it. * In case of failure returns <code>default_value</code>. * Numbers can include 'm' or 'M' for megabytes, 'k' or 'K' for kilobytes, and 'g' or 'G' for gigabytes * (for example, 32k is the same as 32768). */ DECLARE_OPEN(size_t, vm_property_get_size, (const char *property_name, size_t default_value, PropertyTable table_number)); #ifdef __cplusplus } #endif #endif