Set proper executable bits
[platform/core/system/dlog.git] / include / logconfig.h
1 /*
2  * DLOG
3  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
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 #ifndef _LOGCONFIG_H_
19 #define _LOGCONFIG_H_
20
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
24
25 #ifndef TZ_SYS_ETC
26 #define TZ_SYS_ETC      "/opt/etc"
27 #endif
28
29 #define DEFAULT_CONFIG_PATH     TZ_SYS_ETC"/dlog.conf"
30 #define KMSG_CONFIG_PATH        "/run/dlog.conf"
31
32 struct log_conf_entry;
33
34 struct log_config {
35         struct log_conf_entry *begin;
36         struct log_conf_entry *last;
37 };
38
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);
45
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));
51
52 #endif /* _LOGCONFIG_H_ */