blob: eee71d393b544bfe84d0ce26251bd960b869dc9c [file] [log] [blame]
Claudio Takahasi506c9522008-08-27 17:13:41 -03001/*
2 *
3 * BlueZ - Bluetooth protocol stack for Linux
4 *
Marcel Holtmann9184e2e2010-01-01 17:08:17 -08005 * Copyright (C) 2002-2010 Marcel Holtmann <marcel@holtmann.org>
Claudio Takahasi506c9522008-08-27 17:13:41 -03006 *
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 *
22 */
23
24int read_device_alias(const char *src, const char *dst, char *alias, size_t size);
25int write_device_alias(const char *src, const char *dst, const char *alias);
26int write_discoverable_timeout(bdaddr_t *bdaddr, int timeout);
Claudio Takahasi676f5e72008-08-30 09:54:27 -030027int read_discoverable_timeout(const char *src, int *timeout);
Luiz Augusto von Dentz3ee81ca2008-11-27 16:46:45 -030028int write_pairable_timeout(bdaddr_t *bdaddr, int timeout);
29int read_pairable_timeout(const char *src, int *timeout);
Claudio Takahasi506c9522008-08-27 17:13:41 -030030int write_device_mode(bdaddr_t *bdaddr, const char *mode);
Claudio Takahasi676f5e72008-08-30 09:54:27 -030031int read_device_mode(const char *src, char *mode, int length);
Claudio Takahasi506c9522008-08-27 17:13:41 -030032int read_on_mode(const char *src, char *mode, int length);
Johan Hedberg31e380b2009-08-05 10:12:52 +030033int write_local_name(bdaddr_t *bdaddr, const char *name);
Claudio Takahasi506c9522008-08-27 17:13:41 -030034int read_local_name(bdaddr_t *bdaddr, char *name);
35int write_local_class(bdaddr_t *bdaddr, uint8_t *class);
36int read_local_class(bdaddr_t *bdaddr, uint8_t *class);
37int write_remote_class(bdaddr_t *local, bdaddr_t *peer, uint32_t class);
38int read_remote_class(bdaddr_t *local, bdaddr_t *peer, uint32_t *class);
39int write_device_name(bdaddr_t *local, bdaddr_t *peer, char *name);
40int read_device_name(const char *src, const char *dst, char *name);
41int write_remote_eir(bdaddr_t *local, bdaddr_t *peer, uint8_t *data);
Johan Hedberg0f263272008-12-04 15:37:16 +020042int read_remote_eir(bdaddr_t *local, bdaddr_t *peer, uint8_t *data);
Claudio Takahasi506c9522008-08-27 17:13:41 -030043int write_l2cap_info(bdaddr_t *local, bdaddr_t *peer,
44 uint16_t mtu_result, uint16_t mtu,
45 uint16_t mask_result, uint32_t mask);
46int read_l2cap_info(bdaddr_t *local, bdaddr_t *peer,
47 uint16_t *mtu_result, uint16_t *mtu,
48 uint16_t *mask_result, uint32_t *mask);
49int write_version_info(bdaddr_t *local, bdaddr_t *peer, uint16_t manufacturer, uint8_t lmp_ver, uint16_t lmp_subver);
Johan Hedbergc7eadb02010-02-03 10:52:59 -080050int write_features_info(bdaddr_t *local, bdaddr_t *peer, unsigned char *page1, unsigned char *page2);
Johan Hedberg989c60c2010-02-03 12:02:42 -080051int read_remote_features(bdaddr_t *local, bdaddr_t *peer, unsigned char *page1, unsigned char *page2);
Claudio Takahasi506c9522008-08-27 17:13:41 -030052int write_lastseen_info(bdaddr_t *local, bdaddr_t *peer, struct tm *tm);
53int write_lastused_info(bdaddr_t *local, bdaddr_t *peer, struct tm *tm);
54int write_link_key(bdaddr_t *local, bdaddr_t *peer, unsigned char *key, uint8_t type, int length);
55int read_link_key(bdaddr_t *local, bdaddr_t *peer, unsigned char *key, uint8_t *type);
56int read_pin_length(bdaddr_t *local, bdaddr_t *peer);
57int read_pin_code(bdaddr_t *local, bdaddr_t *peer, char *pin);
58gboolean read_trust(const bdaddr_t *local, const char *addr, const char *service);
Claudio Takahasid4982952008-08-27 18:46:48 -030059int write_trust(const char *src, const char *addr, const char *service, gboolean trust);
Claudio Takahasi506c9522008-08-27 17:13:41 -030060GSList *list_trusts(bdaddr_t *local, const char *service);
61int write_device_profiles(bdaddr_t *src, bdaddr_t *dst, const char *profiles);
62int delete_entry(bdaddr_t *src, const char *storage, const char *key);
63int store_record(const gchar *src, const gchar *dst, sdp_record_t *rec);
Bastien Nocerafe785852008-10-15 15:20:22 +010064sdp_record_t *record_from_string(const gchar *str);
Claudio Takahasi506c9522008-08-27 17:13:41 -030065sdp_record_t *fetch_record(const gchar *src, const gchar *dst, const uint32_t handle);
66int delete_record(const gchar *src, const gchar *dst, const uint32_t handle);
Johan Hedbergadad6452009-10-29 23:15:24 +020067void delete_all_records(const bdaddr_t *src, const bdaddr_t *dst);
68sdp_list_t *read_records(const bdaddr_t *src, const bdaddr_t *dst);
David Woodhouse60af8572008-09-14 12:24:43 -070069sdp_record_t *find_record_in_list(sdp_list_t *recs, const char *uuid);
Marcel Holtmannfce6db52008-09-14 18:23:44 +020070int store_device_id(const gchar *src, const gchar *dst,
71 const uint16_t source, const uint16_t vendor,
72 const uint16_t product, const uint16_t version);
73int read_device_id(const gchar *src, const gchar *dst,
74 uint16_t *source, uint16_t *vendor,
75 uint16_t *product, uint16_t *version);
Luiz Augusto von Dentz0c561f72008-11-20 16:33:30 -030076int write_device_pairable(bdaddr_t *local, gboolean mode);
77int read_device_pairable(bdaddr_t *local, gboolean *mode);
Johan Hedberg1e4d4fe2010-05-17 17:32:26 +020078gboolean read_blocked(const bdaddr_t *local, const bdaddr_t *remote);
79int write_blocked(const bdaddr_t *local, const bdaddr_t *remote,
80 gboolean blocked);
David Woodhouseaf8bb262008-09-14 12:28:30 -070081
82#define PNP_UUID "00001200-0000-1000-8000-00805f9b34fb"
83