c69cd53c6cf4c6bd1cc53c6ad2f27e8eeb1fb4f5
[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_T_
24 #define __APP_PKT_T_
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 };
41
42 #define AUL_SOCK_PREFIX "/tmp/alaunch"
43 #define AUL_SOCK_MAXBUFF 65535
44 #define LAUNCHPAD_PID -1
45 #define ELOCALLAUNCH_ID 128
46
47 typedef struct _app_pkt_t {
48         int cmd;
49         int len;
50         unsigned char data[1];
51 } app_pkt_t;
52
53 int __create_server_sock(int pid);
54 int __create_client_sock(int pid);
55 int __app_send_raw(int pid, int cmd, unsigned char *kb_data, int datalen);
56 app_pkt_t *__app_recv_raw(int fd, int *clifd, struct ucred *cr);
57
58 #endif
59