1d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi/* 2d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * 3d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * BlueZ - Bluetooth protocol stack for Linux 4d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * 58307634aa6d9dd96c12cec8b8acf1059b54e0ae6Vinicius Costa Gomes * Copyright (C) 2010 Nokia Corporation 68307634aa6d9dd96c12cec8b8acf1059b54e0ae6Vinicius Costa Gomes * Copyright (C) 2010 Marcel Holtmann <marcel@holtmann.org> 7d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * 8d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * 9d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * This program is free software; you can redistribute it and/or modify 10d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * it under the terms of the GNU General Public License as published by 11d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * the Free Software Foundation; either version 2 of the License, or 12d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * (at your option) any later version. 13d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * 14d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * This program is distributed in the hope that it will be useful, 15d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * but WITHOUT ANY WARRANTY; without even the implied warranty of 16d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * GNU General Public License for more details. 18d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * 19d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * You should have received a copy of the GNU General Public License 20d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * along with this program; if not, write to the Free Software 21d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi * 23d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi */ 24612d0207646064f309edd564a69d30b42de9e26fClaudio Takahasi#include <bluetooth/sdp.h> 25d2657982a8a7f4caace5b6bd8d701c5c8f8ba644Claudio Takahasi 26e04efbaddf3d6a178dbbab9e5355dfecaa4da3adBruna Moreiratypedef void (*gatt_cb_t) (GSList *l, guint8 status, gpointer user_data); 275399423bd667efa5d15d8dec895250fe5a3bbec2Claudio Takahasi 28a278db781a26c639267b1d88d5fbe08f99af6c61Elvis Pfützenreuterguint gatt_discover_primary(GAttrib *attrib, bt_uuid_t *uuid, gatt_cb_t func, 295399423bd667efa5d15d8dec895250fe5a3bbec2Claudio Takahasi gpointer user_data); 302448a8ba038009ab5a89d6e141ee4e1b0c71aa53Claudio Takahasi 312448a8ba038009ab5a89d6e141ee4e1b0c71aa53Claudio Takahasiguint gatt_discover_char(GAttrib *attrib, uint16_t start, uint16_t end, 32922c5feb93adfb9773a854d8e89eb2c5604e632bSheldon Demario bt_uuid_t *uuid, gatt_cb_t func, 33922c5feb93adfb9773a854d8e89eb2c5604e632bSheldon Demario gpointer user_data); 34262323b597306be0758efcfbc068df73931ba2a4Anderson Lizardo 35adc7ca1ece5e579998e5f3b0cca9af7bf8ac8ca1Sheldon Demarioguint gatt_read_char(GAttrib *attrib, uint16_t handle, uint16_t offset, 36adc7ca1ece5e579998e5f3b0cca9af7bf8ac8ca1Sheldon Demario GAttribResultFunc func, gpointer user_data); 37c4fe3b3a0b3da660d3ec59bfc392bd05c9a29e5aVinicius Costa Gomes 380a70694d3afd91470a83567c18d20a29ad1996e6Anderson Lizardoguint gatt_write_char(GAttrib *attrib, uint16_t handle, uint8_t *value, 390a70694d3afd91470a83567c18d20a29ad1996e6Anderson Lizardo int vlen, GAttribResultFunc func, gpointer user_data); 400a70694d3afd91470a83567c18d20a29ad1996e6Anderson Lizardo 41c4fe3b3a0b3da660d3ec59bfc392bd05c9a29e5aVinicius Costa Gomesguint gatt_find_info(GAttrib *attrib, uint16_t start, uint16_t end, 42c4fe3b3a0b3da660d3ec59bfc392bd05c9a29e5aVinicius Costa Gomes GAttribResultFunc func, gpointer user_data); 43b1514662a0f04b11172ca97adfe4cac3c39536b2Bruna Moreira 44b1514662a0f04b11172ca97adfe4cac3c39536b2Bruna Moreiraguint gatt_write_cmd(GAttrib *attrib, uint16_t handle, uint8_t *value, int vlen, 45b1514662a0f04b11172ca97adfe4cac3c39536b2Bruna Moreira GDestroyNotify notify, gpointer user_data); 46ad0e7f2c5ab9270369301f81eb5da1954eaab82fSheldon Demario 47ad0e7f2c5ab9270369301f81eb5da1954eaab82fSheldon Demarioguint gatt_read_char_by_uuid(GAttrib *attrib, uint16_t start, uint16_t end, 48a278db781a26c639267b1d88d5fbe08f99af6c61Elvis Pfützenreuter bt_uuid_t *uuid, GAttribResultFunc func, 49ad0e7f2c5ab9270369301f81eb5da1954eaab82fSheldon Demario gpointer user_data); 501b07befa15ec80b00be4881c9ed8a253c54e15fcBruna Moreira 511b07befa15ec80b00be4881c9ed8a253c54e15fcBruna Moreiraguint gatt_exchange_mtu(GAttrib *attrib, uint16_t mtu, GAttribResultFunc func, 521b07befa15ec80b00be4881c9ed8a253c54e15fcBruna Moreira gpointer user_data); 53612d0207646064f309edd564a69d30b42de9e26fClaudio Takahasi 54612d0207646064f309edd564a69d30b42de9e26fClaudio Takahasigboolean gatt_parse_record(const sdp_record_t *rec, 55612d0207646064f309edd564a69d30b42de9e26fClaudio Takahasi uuid_t *prim_uuid, uint16_t *psm, 56612d0207646064f309edd564a69d30b42de9e26fClaudio Takahasi uint16_t *start, uint16_t *end); 57