clean up: devied files, remove router
[platform/core/pim/pims-ipc.git] / src / pims-socket.h
1 /*
2  * PIMS IPC
3  *
4  * Copyright (c) 2012 - 2016 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the License);
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 #ifndef __PIMS_SOCKET_H__
20 #define __PIMS_SOCKET_H__
21
22 #include <stdint.h>
23
24 #include "pims-ipc-data-internal.h"
25
26 #ifdef __cplusplus
27 extern "C"
28 {
29 #endif
30
31 typedef struct {
32         int client_fd;
33         int request_count;
34         GList *raw_data; /* pims_ipc_raw_data_s list */
35         pthread_mutex_t raw_data_mutex;
36 } pims_ipc_request_s;
37
38 typedef struct {
39         int fd;
40         char *id;
41 } pims_ipc_client_map_s;
42
43 int socket_send(int fd, char *buf, int len);
44 int socket_recv(int fd, void **buf, unsigned int len);
45 int socket_send_data(int fd, char *buf, unsigned int len);
46
47 int write_command(int fd, const uint64_t cmd);
48 int read_command(int fd, uint64_t *cmd);
49
50 void socket_remove_client_fd_map(pims_ipc_svc_s *ipc_svc);
51 void socket_set_handler(void *user_data);
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif /* __PIMS_SOCKET_H__ */
58