3 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
21 #define MAX_CONF_KEY_LEN 32
22 #define MAX_CONF_VAL_LEN 256
23 #define MAX_CONF_ENTRY_LEN (MAX_CONF_KEY_LEN + MAX_CONF_VAL_LEN + 2) // +2 for the delimiter and newline
26 #define TZ_SYS_ETC "/opt/etc"
29 #define DEFAULT_CONFIG_PATH TZ_SYS_ETC"/dlog.conf"
30 #define KMSG_CONFIG_PATH "/run/dlog.conf"
32 struct log_conf_entry;
35 struct log_conf_entry *begin;
36 struct log_conf_entry *last;
39 int log_config_set(struct log_config* config, const char* key, const char* value);
40 const char* log_config_get(struct log_config* config, const char* key);
41 int log_config_read(struct log_config* config);
42 int log_config_read_file(struct log_config* config, char const* filename);
43 int log_config_write(struct log_config* config, char const* filename);
44 void log_config_free(struct log_config* config);
46 void log_config_print_out(struct log_config* config);
47 int log_config_print_key(struct log_config* config, const char* key);
48 void log_config_push(struct log_config* config, const char* key, const char* value);
49 int log_config_remove(struct log_config* config, const char* key);
50 int log_config_foreach(struct log_config* config, int (*func)(const char* key, const char* value));
52 #endif /* _LOGCONFIG_H_ */