storage.h revision 1f07bea585b3f7db1866a3e4af7072adf1906064
1/*
2 *
3 *  BlueZ - Bluetooth protocol stack for Linux
4 *
5 *  Copyright (C) 2002-2010  Marcel Holtmann <marcel@holtmann.org>
6 *
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);
27int read_discoverable_timeout(const char *src, int *timeout);
28int write_pairable_timeout(bdaddr_t *bdaddr, int timeout);
29int read_pairable_timeout(const char *src, int *timeout);
30int write_device_mode(bdaddr_t *bdaddr, const char *mode);
31int read_device_mode(const char *src, char *mode, int length);
32int read_on_mode(const char *src, char *mode, int length);
33int write_local_name(bdaddr_t *bdaddr, const char *name);
34int 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);
42int read_remote_eir(bdaddr_t *local, bdaddr_t *peer, uint8_t *data);
43int 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);
50int write_features_info(bdaddr_t *local, bdaddr_t *peer, unsigned char *page1, unsigned char *page2);
51int read_remote_features(bdaddr_t *local, bdaddr_t *peer, unsigned char *page1, unsigned char *page2);
52int 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);
59int write_trust(const char *src, const char *addr, const char *service, gboolean trust);
60GSList *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);
64sdp_record_t *record_from_string(const gchar *str);
65sdp_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);
67void delete_all_records(const bdaddr_t *src, const bdaddr_t *dst);
68sdp_list_t *read_records(const bdaddr_t *src, const bdaddr_t *dst);
69sdp_record_t *find_record_in_list(sdp_list_t *recs, const char *uuid);
70int 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);
76int write_device_pairable(bdaddr_t *local, gboolean mode);
77int read_device_pairable(bdaddr_t *local, gboolean *mode);
78gboolean read_blocked(const bdaddr_t *local, const bdaddr_t *remote);
79int write_blocked(const bdaddr_t *local, const bdaddr_t *remote,
80							gboolean blocked);
81int write_device_services(const bdaddr_t *sba, const bdaddr_t *dba,
82							const char *services);
83char *read_device_services(const bdaddr_t *sba, const bdaddr_t *dba);
84
85#define PNP_UUID		"00001200-0000-1000-8000-00805f9b34fb"
86
87