upload tizen1.0 source
[framework/appfw/aul-1.git] / include / app_sock.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 __APP_PKT_H_
24 #define __APP_PKT_H_
25
26 #include <unistd.h>
27 #define __USE_GNU
28 #include <sys/socket.h>
29 #include <linux/un.h>
30
31 enum app_cmd {
32         APP_START,
33         APP_RESUME,
34         APP_RESUME_BY_PID,
35         APP_TERM_BY_PID,
36         APP_RESULT,
37         APP_START_RES,
38         APP_CANCEL,
39         APP_KILL_BY_PID,
40         ADD_HISTORY,
41         RUNNING_INFO,
42         RUNNING_INFO_RESULT,
43         IS_RUNNING
44 };
45
46 #define AUL_SOCK_PREFIX "/tmp/alaunch"
47 #define AUL_SOCK_MAXBUFF 65535
48 #define LAUNCHPAD_PID -1
49 #define ELOCALLAUNCH_ID 128
50
51 typedef struct _app_pkt_t {
52         int cmd;
53         int len;
54         unsigned char data[1];
55 } app_pkt_t;
56
57 int __create_server_sock(int pid);
58 int __create_client_sock(int pid);
59 int __app_send_raw(int pid, int cmd, unsigned char *kb_data, int datalen);
60 app_pkt_t *__app_recv_raw(int fd, int *clifd, struct ucred *cr);
61 app_pkt_t *__app_send_cmd_with_result(int pid, int cmd);
62
63 #endif
64