tizen 2.3 release
[kernel/api/system-resource.git] / src / logging / include / logging.h
1 /*
2  * resourced
3  *
4  * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 /**
21  * @file logging.h
22  * @desc define structures and functions for logging.
23  **/
24
25 #ifndef __LOGGING_H__
26 #define __LOGGING_H__
27
28 #define SS_NAME_MAX 10
29
30 struct logging_infos {
31         pid_t pid;
32         int oom;
33         void **stats;
34         bool running;
35 };
36
37 struct logging_info_ops {
38         int (*update)(void *, pid_t, int, time_t, unsigned);
39         int (*write)(char *, struct logging_infos *, int);
40         int (*init)(void **, pid_t, int, time_t);
41 };
42
43 int register_logging_subsystem(const char *name, struct logging_info_ops *ops);
44 int update_commit_interval(const char *name, time_t commit_interval);
45 int get_pss(pid_t pid, unsigned *pss, unsigned *uss);
46 #endif /*__LOGGING_H__*/