tizen 2.3.1 release
[framework/appfw/aul-1.git] / include / simple_util.h
1 /*
2  *  aul
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22
23 #ifndef __SIMPLE_UTIL__
24 #define __SIMPLE_UTIL__
25
26 #include <unistd.h>
27 #include <ctype.h>
28 #include <dlog.h>
29
30 #ifdef LAUNCHPAD_LOG
31 #undef LOG_TAG
32 #define LOG_TAG "AUL_PAD"
33 #else
34 #undef LOG_TAG
35 #define LOG_TAG "AUL"
36 #endif
37 #ifdef AMD_LOG
38 #undef LOG_TAG
39 #define LOG_TAG "AUL_AMD"
40 #endif
41
42
43 #define MAX_LOCAL_BUFSZ 128
44 #define MAX_PID_STR_BUFSZ 20
45
46 #define _E(fmt, arg...) LOGE(fmt, ##arg)
47 #define _D(fmt, arg...) LOGD(fmt, ##arg)
48 #define _W(fmt, arg...) LOGW(fmt, ##arg)
49 #define _I(fmt, arg...) LOGI(fmt, ##arg)
50
51
52 #define retvm_if(expr, val, fmt, arg...) do { \
53         if (expr) { \
54                 _E(fmt, ##arg); \
55                 _E("(%s) -> %s() return", #expr, __FUNCTION__); \
56                 return (val); \
57         } \
58 } while (0)
59
60 #define retv_if(expr, val) do { \
61         if (expr) { \
62                 _E("(%s) -> %s() return", #expr, __FUNCTION__); \
63                 return (val); \
64         } \
65 } while (0)
66
67 int __proc_iter_cmdline(int (*iterfunc)
68                          (const char *dname, const char *cmdline, void *priv),
69                         void *priv);
70 int __proc_iter_pgid(int pgid, int (*iterfunc) (int pid, void *priv),
71                      void *priv);
72 char *__proc_get_cmdline_bypid(int pid);
73 void __trm_app_info_send_socket(char *write_buf);
74
75
76 static inline const char *FILENAME(const char *filename)
77 {
78         const char *p;
79         const char *r;
80
81         if (!filename)
82                 return NULL;
83
84         r = p = filename;
85         while (*p) {
86                 if (*p == '/')
87                         r = p + 1;
88                 p++;
89         }
90
91         return r;
92 }
93
94 #endif