WRT Launchpad Daemon Feature
[platform/framework/web/wrt.git] / src / wrt-launchpad-daemon / 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 "AULD"
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 "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("[%s,%d] "fmt, __FUNCTION__, __LINE__, ##arg)
47 #define _D(fmt, arg...) LOGD("[%s,%d] "fmt, __FUNCTION__, __LINE__, ##arg)
48
49 #define retvm_if(expr, val, fmt, arg...) do { \
50         if (expr) { \
51                 _E(fmt, ##arg); \
52                 _E("(%s) -> %s() return", #expr, __FUNCTION__); \
53                 return (val); \
54         } \
55 } while (0)
56
57 #define retv_if(expr, val) do { \
58         if (expr) { \
59                 _E("(%s) -> %s() return", #expr, __FUNCTION__); \
60                 return (val); \
61         } \
62 } while (0)
63
64 int __proc_iter_cmdline(int (*iterfunc)
65                          (const char *dname, const char *cmdline, void *priv),
66                         void *priv);
67 int __proc_iter_pgid(int pgid, int (*iterfunc) (int pid, void *priv),
68                      void *priv);
69 char *__proc_get_cmdline_bypid(int pid);
70
71 static inline const char *FILENAME(const char *filename)
72 {
73         const char *p;
74         const char *r;
75
76         if (!filename)
77                 return NULL;
78
79         r = p = filename;
80         while (*p) {
81                 if (*p == '/')
82                         r = p + 1;
83                 p++;
84         }
85
86         return r;
87 }
88
89 #endif