summaryrefslogtreecommitdiff
path: root/src/shared/att.h
Commit message (Collapse)AuthorAgeFilesLines
* shared/att: Add bt_att_resendLuiz Augusto von Dentz2021-10-061-0/+5
| | | | | | | This adds bt_att_resend which can be used with procedures that needs to send multiple PDUs to complete (e.g. Read Long, Write Long, etc.) so they are pushed to the head instead of the tail of the queue so one can retain its position on the queue.
* shared/att: Add bt_att_register_exchangeLuiz Augusto von Dentz2021-09-281-0/+6
| | | | | | This adds bt_att_register_exchange which can be used to register handlers that gets notified when the MTU gets changed via MTU exchange procedure.
* shared/att: Add debug level to bt_att_set_debugLuiz Augusto von Dentz2021-01-081-2/+7
| | | | | | This creates different levels of debugging which can be passed to bt_att_set_debug as depending on the application it may not need to print everything which can pollute the logs quite a bit.
* src: Add SPDX License IdentifierTedd Ho-Jeong An2020-09-211-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds SPDX License Identifier and removes the license text. ------------------------------------- License COUNT ------------------------------------- LGPL-2.1-or-later : 62 GPL-2.0-or-later : 51 BSD-2-Clause : 2 License: LGPL-2.1-or-later src/adv_monitor.c src/adv_monitor.h src/shared/mainloop-glib.c src/shared/btp.c src/shared/tester.c src/shared/btsnoop.c src/shared/gatt-helpers.h src/shared/log.h src/shared/util.h src/shared/mainloop-ell.c src/shared/hci-crypto.c src/shared/mainloop.c src/shared/hfp.h src/shared/mainloop-notify.c src/shared/io-mainloop.c src/shared/btsnoop.h src/shared/uhid.h src/shared/util.c src/shared/ringbuf.c src/shared/btp.h src/shared/shell.h src/shared/io-glib.c src/shared/queue.h src/shared/gatt-server.h src/shared/crypto.c src/shared/crypto.h src/shared/io-ell.c src/shared/timeout-glib.c src/shared/mgmt.c src/shared/gatt-db.c src/shared/mainloop-notify.h src/shared/hfp.c src/shared/timeout-ell.c src/shared/shell.c src/shared/hci.c src/shared/log.c src/shared/ringbuf.h src/shared/gatt-helpers.c src/shared/queue.c src/shared/tty.h src/shared/timeout-mainloop.c src/shared/tester.h src/shared/gap.h src/shared/mgmt.h src/shared/gatt-db.h src/shared/uhid.c src/shared/mainloop.h src/shared/timeout.h src/shared/att-types.h src/shared/pcap.c src/shared/gap.c src/shared/att.c src/shared/pcap.h src/shared/hci.h src/shared/gatt-client.h src/shared/io.h src/shared/gatt-client.c src/shared/ad.c src/shared/att.h src/shared/gatt-server.c src/shared/hci-crypto.h src/shared/ad.h License: GPL-2.0-or-later src/attrib-server.h src/advertising.h src/textfile.c src/attrib-server.c src/uinput.h src/log.h src/eir.h src/sdpd.h src/sdpd-request.c src/service.h src/sdpd-database.c src/adapter.h src/plugin.h src/uuid-helper.h src/plugin.c src/main.c src/sdp-xml.c src/error.h src/oui.c src/device.c src/agent.h src/sdp-client.c src/oui.h src/device.h src/gatt-database.c src/error.c src/backtrace.c src/sdpd-server.c src/adapter.c src/log.c src/agent.c src/backtrace.h src/sdp-xml.h src/hcid.h src/dbus-common.h src/uuid-helper.c src/storage.c src/profile.c src/advertising.c src/storage.h src/dbus-common.c src/profile.h src/sdpd-service.c src/eir.c src/sdp-client.h src/gatt-database.h src/gatt-client.h src/rfkill.c src/gatt-client.c src/service.c src/textfile.h License: BSD-2-Clause src/shared/ecc.h src/shared/ecc.c
* shared/gatt-client: Add support for EATT featuresLuiz Augusto von Dentz2020-03-021-2/+12
| | | | | This enables EATT in the Client Features if the EATT characteristic is present in the database.
* share/att: Add EATT supportLuiz Augusto von Dentz2020-03-021-0/+4
| | | | | This adds EATT support to bt_att, EATT bearers are handled as additional channels which auto allocated for queued requests.
* Add support for requiring min key size for access GATT characteristicsSzymon Janc2018-03-261-1/+2
| | | | | | This allows to configure bluetoothd to require minimum encryption key size when accessing GATT server characteristics. It is a global configuration option affecting whole GATT database.
* shared/att: Fix MTU size for when using BR/EDR linksLuiz Augusto von Dentz2016-07-131-0/+1
| | | | BR/EDR links uses L2CAP commands to setup the MTU.
* shared/att: Add ext_signed flag to be able to use external cryptoMariusz Skamra2015-05-191-1/+1
| | | | | | | | | | | | | Due to the issues with CSRK tests ext_signed flag has been added to allow android/gatt handle signed write operations. This patch fixes following tests: GAP__TC_SEC_CSIGN_BV_02_C GAP__TC_SEC_CSIGN_BI_01_C GAP__TC_SEC_CSIGN_BI_02_C GAP__TC_SEC_CSIGN_BI_03_C GAP__TC_SEC_CSIGN_BI_04_C SM__TC_SIGN_BV_03_C
* shared/att: Rename sec_level to securityLuiz Augusto von Dentz2015-04-291-2/+2
|
* shared/att: Add bt_att_has_cryptoLuiz Augusto von Dentz2015-03-111-0/+1
| | | | This adds the possibility to check if bt_att has crypto enabled.
* shared/att.c: Add server signing key supportLuiz Augusto von Dentz2015-02-241-0/+2
| | | | | This adds support for setting remote signing keys along with a callback for validating the counter.
* shared/att.c: Add client signing key supportLuiz Augusto von Dentz2015-02-241-0/+4
| | | | | This adds support for setting local signing keys along with a callback for loading the counter.
* shared/att: Add bt_att_get_fdArman Uguray2015-02-161-0/+2
| | | | | Added the bt_att_get_fd function which returns the underlying file descriptor of a bt_att.
* shared/att: Add set/get security levelLukasz Rymanowski2015-02-131-0/+3
|
* shared/att: Add err argument to disconnect cbArman Uguray2014-12-151-1/+1
| | | | | | This patch adds an "int err" argument to the disconnect callback. shared/att obtains the value of SO_ERROR option for the underlying fd and passes it to the callbacks.
* shared/att: Add API for sending ATT error responseArman Uguray2014-11-141-0/+3
| | | | | | | | | | | | | | This patch adds bt_att_send_error_rsp which sends an ATT protocol error response PDU over the underlying link based on the parameters that are passed to it. This is a useful function since it reduces a lot of repeated code in shared/gatt-server that does the same thing. The "error" parameter is expressed as a signed integer (in line with the new shared/gatt-db APIs). bt_att_send_error_rsp correctly maps this (including possible UNIX errnos) to ATT protocol error codes. In addition, struct bt_att_pdu_error_rsp is introduced to represent a packed error response PDU which can be sent directly over the wire once properly encoded in network order.
* shared/att: Support multiple disconnect handlers.Arman Uguray2014-08-281-4/+7
| | | | | | | This patch adds support for registering multiple disconnect handlers with an instance of struct bt_att. Unregistering is achieved via a new function AND through bt_att_unregister_all and all disconnect callbacks get automatically unregistered after a single disconnect event.
* shared/att: Handle disconnects.Arman Uguray2014-08-151-0/+5
| | | | | | | | | | | | This patch adds disconnect handling to bt_att, in which io_set_disconnect_handler is used to set up a handler which cancels all pending and queued ATT operations, marks the bt_att structure as invalid and notifies the user via a specialized callback which can be set using bt_att_set_disconnect_cb. Once the bt_att structure is invalidated, either due to a timed-out ATT protocol request/indication or a disconnect, it now destroys the underlying io structure.
* shared/att: Remove parameters structures.Arman Uguray2014-07-091-9/+10
| | | | | | | This patch removes the PDU encoding functionality from src/shared/att. This is now left up to the upper layer and the responsibilities of bt_att are restricted to handle the low-level transport and the sequential/non-sequential ATT protocol logic.
* shared/att: Introduce struct bt_att.Arman Uguray2014-06-231-0/+69
This patch introduces struct bt_att, which handles the transport and encoding/decoding for the ATT protocol. The structure of the code follows that of src/shared/mgmt and lib/mgmt.h, where individual parameter structures are defined for all ATT protocol requests, responses, commands, indications, and notifications. The serialization and endianness conversion for all parameters are handled by bt_att. struct bt_att is based around struct io and operates on a raw file descriptor.