c238e434287b4e7b77f05d617fb224bdde7e22d0
[platform/core/connectivity/bluetooth-frwk.git] / bt-service / include / bt-service-rfcomm-server.h
1 /*
2  * Bluetooth-frwk
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact:  Hocheol Seo <hocheol.seo@samsung.com>
7  *               Girishashok Joshi <girish.joshi@samsung.com>
8  *               Chanyeol Park <chanyeol.park@samsung.com>
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  *              http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  *
22  */
23
24 #ifndef _BT_SERVICE_RFCOMM_SERVER_H_
25 #define _BT_SERVICE_RFCOMM_SERVER_H_
26
27 #include <glib.h>
28 #include <sys/types.h>
29 #include "bluetooth-api.h"
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35
36 #ifdef __cplusplus
37 }
38 #endif /* __cplusplus */
39 #endif /*_BT_SERVICE_RFCOMM_SERVER_H_*/
40
41 typedef struct {
42         int server_id;
43         int accept_id;
44         int server_type;
45         int control_fd;
46         int data_fd;
47         guint control_id;
48         guint data_id;
49         char *serial_path;
50         char *uuid;
51         char *sender;
52         char *remote_address;
53         GIOChannel *control_io;
54         GIOChannel *data_io;
55         DBusGProxy *serial_proxy;
56         DBusGProxy *manager_proxy;
57 } bt_rfcomm_server_info_t;
58
59 int _bt_rfcomm_create_socket(char *sender, char *uuid);
60
61 int _bt_rfcomm_remove_socket(int socket_fd);
62
63 int _bt_rfcomm_listen(int socket_fd, int max_pending, gboolean is_native);
64
65 int _bt_rfcomm_is_uuid_available(char *uuid, gboolean *available);
66
67 int _bt_rfcomm_accept_connection(void);
68
69 int _bt_rfcomm_reject_connection(void);
70
71 int _bt_rfcomm_server_disconnect(int data_fd);
72
73 bt_rfcomm_server_info_t *_bt_rfcomm_get_server_info_using_uuid(char *uuid);
74
75 int _bt_rfcomm_server_disconnect_all_connection(void);
76
77 int _bt_rfcomm_server_check_existence(gboolean *existence);
78
79 int _bt_rfcomm_server_check_termination(char *name);
80