~cyphermox/bluez/5.23

« back to all changes in this revision

Viewing changes to src/adapter.h

  • Committer: Package Import Robot
  • Author(s): Nobuhiro Iwamatsu
  • Date: 2012-01-24 05:35:09 UTC
  • mfrom: (1.5.11) (7.1.6 experimental)
  • Revision ID: package-import@ubuntu.com-20120124053509-uwpwqi783lz08wm3
Tags: 4.98-1
* New upstream release.
* Update debian/bluetooth-dbus.conf.
* Update debian/control.
  Add Multi-Arch: foreign to bluez.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
#define MODE_DISCOVERABLE       0x02
37
37
#define MODE_UNKNOWN            0xff
38
38
 
39
 
/* Discover states */
40
 
#define STATE_IDLE              0
41
 
#define STATE_DISCOV            1
42
 
#define STATE_RESOLVNAME        2
43
 
#define STATE_SUSPENDED         3
44
 
 
45
39
#define MAX_NAME_LENGTH         248
46
40
 
47
41
/* Invalid SSP passkey value used to indicate negative replies */
48
42
#define INVALID_PASSKEY         0xffffffff
49
43
 
50
44
typedef enum {
51
 
        NAME_ANY,
52
 
        NAME_NOT_REQUIRED, /* used by get remote name without name resolving */
53
 
        NAME_REQUIRED,      /* remote name needs be resolved       */
54
 
        NAME_REQUESTED,    /* HCI remote name request was sent    */
55
 
} name_status_t;
 
45
        ADDR_TYPE_BREDR,
 
46
        ADDR_TYPE_LE_PUBLIC,
 
47
        ADDR_TYPE_LE_RANDOM,
 
48
} addr_type_t;
56
49
 
57
50
struct btd_adapter;
58
51
 
65
58
 
66
59
struct remote_dev_info {
67
60
        bdaddr_t bdaddr;
 
61
        addr_type_t type;
68
62
        int8_t rssi;
69
63
        uint32_t class;
70
64
        char *name;
71
65
        char *alias;
72
66
        dbus_bool_t legacy;
73
 
        name_status_t name_status;
74
 
        gboolean le;
75
67
        char **uuids;
76
68
        size_t uuid_count;
77
69
        GSList *services;
95
87
                                                struct btd_device *device,
96
88
                                                gboolean remove_storage);
97
89
 
98
 
int adapter_resolve_names(struct btd_adapter *adapter);
99
 
 
100
90
struct btd_adapter *adapter_create(DBusConnection *conn, int id);
101
91
gboolean adapter_init(struct btd_adapter *adapter);
102
92
void adapter_remove(struct btd_adapter *adapter);
103
93
void adapter_set_allow_name_changes(struct btd_adapter *adapter,
104
94
                                                gboolean allow_name_changes);
 
95
void adapter_set_discovering(struct btd_adapter *adapter,
 
96
                                                gboolean discovering);
105
97
uint16_t adapter_get_dev_id(struct btd_adapter *adapter);
106
98
const gchar *adapter_get_path(struct btd_adapter *adapter);
107
99
void adapter_get_address(struct btd_adapter *adapter, bdaddr_t *bdaddr);
108
100
void adapter_set_state(struct btd_adapter *adapter, int state);
109
101
int adapter_get_state(struct btd_adapter *adapter);
110
 
int adapter_get_discover_type(struct btd_adapter *adapter);
111
102
struct remote_dev_info *adapter_search_found_devices(struct btd_adapter *adapter,
112
 
                                                struct remote_dev_info *match);
113
 
void adapter_update_found_devices(struct btd_adapter *adapter, bdaddr_t *bdaddr,
114
 
                                                uint32_t class, int8_t rssi,
115
 
                                                uint8_t *data);
116
 
int adapter_remove_found_device(struct btd_adapter *adapter, bdaddr_t *bdaddr);
 
103
                                                        bdaddr_t *bdaddr);
 
104
void adapter_update_found_devices(struct btd_adapter *adapter,
 
105
                                        bdaddr_t *bdaddr, addr_type_t type,
 
106
                                        uint32_t class, int8_t rssi,
 
107
                                        uint8_t confirm_name,
 
108
                                        uint8_t *data, uint8_t data_len);
117
109
void adapter_emit_device_found(struct btd_adapter *adapter,
118
110
                                                struct remote_dev_info *dev);
119
111
void adapter_mode_changed(struct btd_adapter *adapter, uint8_t scan_mode);
120
 
int adapter_update_local_name(struct btd_adapter *adapter, const char *name);
 
112
int adapter_set_name(struct btd_adapter *adapter, const char *name);
 
113
void adapter_name_changed(struct btd_adapter *adapter, const char *name);
121
114
void adapter_service_insert(struct btd_adapter *adapter, void *rec);
122
115
void adapter_service_remove(struct btd_adapter *adapter, void *rec);
123
116
void btd_adapter_class_changed(struct btd_adapter *adapter,
131
124
void adapter_remove_connection(struct btd_adapter *adapter,
132
125
                                                struct btd_device *device);
133
126
gboolean adapter_has_discov_sessions(struct btd_adapter *adapter);
134
 
void adapter_suspend_discovery(struct btd_adapter *adapter);
135
 
void adapter_resume_discovery(struct btd_adapter *adapter);
136
127
 
137
128
struct btd_adapter *btd_adapter_ref(struct btd_adapter *adapter);
138
129
void btd_adapter_unref(struct btd_adapter *adapter);
158
149
 
159
150
const char *btd_adapter_any_request_path(void);
160
151
void btd_adapter_any_release_path(void);
161
 
gboolean adapter_is_pairable(struct btd_adapter *adapter);
162
152
gboolean adapter_powering_down(struct btd_adapter *adapter);
163
153
 
164
154
int btd_adapter_restore_powered(struct btd_adapter *adapter);
165
155
int btd_adapter_switch_online(struct btd_adapter *adapter);
166
156
int btd_adapter_switch_offline(struct btd_adapter *adapter);
 
157
void btd_adapter_enable_auto_connect(struct btd_adapter *adapter);
167
158
 
168
159
typedef ssize_t (*btd_adapter_pin_cb_t) (struct btd_adapter *adapter,
169
160
                                        struct btd_device *dev, char *out);
186
177
        int (*start_discovery) (int index);
187
178
        int (*stop_discovery) (int index);
188
179
 
189
 
        int (*resolve_name) (int index, bdaddr_t *bdaddr);
190
 
        int (*cancel_resolve_name) (int index, bdaddr_t *bdaddr);
191
180
        int (*set_name) (int index, const char *name);
192
181
        int (*set_dev_class) (int index, uint8_t major, uint8_t minor);
193
182
        int (*set_fast_connectable) (int index, gboolean enable);
203
192
                                                        size_t pin_len);
204
193
        int (*confirm_reply) (int index, bdaddr_t *bdaddr, gboolean success);
205
194
        int (*passkey_reply) (int index, bdaddr_t *bdaddr, uint32_t passkey);
206
 
        int (*enable_le) (int index);
207
195
        int (*encrypt_link) (int index, bdaddr_t *bdaddr, bt_hci_result_t cb,
208
196
                                                        gpointer user_data);
209
197
        int (*set_did) (int index, uint16_t vendor, uint16_t product,
220
208
        int (*add_remote_oob_data) (int index, bdaddr_t *bdaddr, uint8_t *hash,
221
209
                                                        uint8_t *randomizer);
222
210
        int (*remove_remote_oob_data) (int index, bdaddr_t *bdaddr);
 
211
        int (*confirm_name) (int index, bdaddr_t *bdaddr, gboolean name_known);
223
212
};
224
213
 
225
214
int btd_register_adapter_ops(struct btd_adapter_ops *ops, gboolean priority);
269
258
 
270
259
int adapter_cancel_bonding(struct btd_adapter *adapter, bdaddr_t *bdaddr);
271
260
 
 
261
void adapter_bonding_complete(struct btd_adapter *adapter, bdaddr_t *bdaddr,
 
262
                                                        uint8_t status);
 
263
 
272
264
int btd_adapter_read_local_oob_data(struct btd_adapter *adapter);
273
265
 
274
266
int btd_adapter_add_remote_oob_data(struct btd_adapter *adapter,
276
268
 
277
269
int btd_adapter_remove_remote_oob_data(struct btd_adapter *adapter,
278
270
                                                        bdaddr_t *bdaddr);
 
271
 
 
272
int btd_adapter_gatt_server_start(struct btd_adapter *adapter);
 
273
void btd_adapter_gatt_server_stop(struct btd_adapter *adapter);