[REFACTOR] extract method: exec_app
[platform/core/system/swap-manager.git] / daemon / utils.h
1 /*
2 *  DA manager
3 *
4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5 *
6 * Contact: 
7 *
8 * Jaewon Lim <jaewon81.lim@samsung.com>
9 * Woojin Jung <woojin2.jung@samsung.com>
10 * Juyoung Kim <j0.kim@samsung.com>
11
12  * Licensed under the Apache License, Version 2.0 (the "License");
13 * you may not use this file except in compliance with the License.
14 * You may obtain a copy of the License at
15 *
16 * http://www.apache.org/licenses/LICENSE-2.0
17 *
18 * Unless required by applicable law or agreed to in writing, software
19 * distributed under the License is distributed on an "AS IS" BASIS,
20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 * See the License for the specific language governing permissions and
22 * limitations under the License.
23 *
24 * Contributors:
25 * - S-Core Co., Ltd
26 *
27 */ 
28
29 #include <stdint.h>
30 #include <sys/types.h>
31
32 #ifndef _UTILS_H_
33 #define _UTILS_H_
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 #define LAUNCH_APP_PATH                 "/usr/bin/launch_app"
40 #define KILL_APP_PATH                   "/usr/bin/pkill"
41 #define LAUNCH_APP_NAME                 "launch_app"
42 #define LAUNCH_APP_SDK                  "__AUL_SDK__"
43 #define DA_PRELOAD_EXEC                 "DYNAMIC_ANALYSIS"
44 #define DA_PRELOAD(AppType)             AppType ? DA_PRELOAD_OSP : DA_PRELOAD_TIZEN
45 #define DA_PRELOAD_TIZEN                "LD_PRELOAD=/usr/lib/da_probe_tizen.so"
46 #define DA_PRELOAD_OSP                  "LD_PRELOAD=/usr/lib/da_probe_osp.so"
47 #define BATT_LOG_FILE                   "/home/developer/sdk_tools/da/battery/"
48 #define SHELL_CMD                               "/bin/sh"
49
50 #define DA_INSTALL_PATH         "/home/developer/sdk_tools/da/da_install_path"
51 #define DA_BUILD_OPTION         "/home/developer/sdk_tools/da/da_build_option"
52 #define DA_BASE_ADDRESS         "/home/developer/sdk_tools/da/da_base_address"
53
54 uint64_t        str_to_uint64(char* str);
55 int64_t         str_to_int64(char* str);
56
57 int remove_indir(const char *dirname);
58
59 char* get_app_name(char* binary_path);
60
61 void kill_app(const char* binary_path);
62
63 pid_t find_pid_from_path(const char* path);
64
65 int get_app_type(char* appPath);
66 int get_executable(char* appPath, char* buf, int buflen);
67 int get_app_install_path(char *strAppInstall, int length);
68 int is_app_built_pie(void);
69 int get_app_base_address(int *baseAddress);
70 int is_same_app_process(char* appPath, int pid);
71
72 int exec_app_tizen(const char *app_id, const char *exec_path);
73 int exec_app_common(const char* exec_path);
74 #ifdef __cplusplus
75 }
76 #endif
77
78 #endif