diff options
author | Miao-chen Chou <mcchou@chromium.org> | 2021-09-30 15:37:26 -0700 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2021-10-04 15:44:55 -0700 |
commit | 8f73362e8cb3e9846528a13d9db1f95efb3f3087 (patch) | |
tree | 7d1a87e7eea1d52dabf4336992feaa83c169f4ae /src/error.h | |
parent | de48279160940710f5d23538a1061ebb35fbe2ef (diff) | |
download | bluez-8f73362e8cb3e9846528a13d9db1f95efb3f3087.tar.gz |
error: BR/EDR and LE connection failure reasons
The source of Connect() failures can be divided into the following
three.
- bluetoothd's device interface state transition and profile state
transition
- Kernel's L2CAP layer state transition
- Potential HCI error codes returned by the remote device
Reviewed-by: Alain Michaud <alainm@chromium.org>
Reviewed-by: Howard Chung <howardchung@google.com>
Diffstat (limited to 'src/error.h')
-rw-r--r-- | src/error.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/error.h b/src/error.h index 7fcddaf4a..dded9f93d 100644 --- a/src/error.h +++ b/src/error.h @@ -11,9 +11,60 @@ */ #include <dbus/dbus.h> +#include <stdint.h> #define ERROR_INTERFACE "org.bluez.Error" +/* BR/EDR connection failure reasons */ +#define ERR_BREDR_CONN_ALREADY_CONNECTED "br-connection-already-"\ + "connected" +#define ERR_BREDR_CONN_PAGE_TIMEOUT "br-connection-page-timeout" +#define ERR_BREDR_CONN_PROFILE_UNAVAILABLE "br-connection-profile-"\ + "unavailable" +#define ERR_BREDR_CONN_SDP_SEARCH "br-connection-sdp-search" +#define ERR_BREDR_CONN_CREATE_SOCKET "br-connection-create-socket" +#define ERR_BREDR_CONN_INVALID_ARGUMENTS "br-connection-invalid-"\ + "argument" +#define ERR_BREDR_CONN_ADAPTER_NOT_POWERED "br-connection-adapter-not-"\ + "powered" +#define ERR_BREDR_CONN_NOT_SUPPORTED "br-connection-not-suuported" +#define ERR_BREDR_CONN_BAD_SOCKET "br-connection-bad-socket" +#define ERR_BREDR_CONN_MEMORY_ALLOC "br-connection-memory-"\ + "allocation" +#define ERR_BREDR_CONN_BUSY "br-connection-busy" +#define ERR_BREDR_CONN_CNCR_CONNECT_LIMIT "br-connection-concurrent-"\ + "connection-limit" +#define ERR_BREDR_CONN_TIMEOUT "br-connection-timeout" +#define ERR_BREDR_CONN_REFUSED "br-connection-refused" +#define ERR_BREDR_CONN_ABORT_BY_REMOTE "br-connection-aborted-by-"\ + "remote" +#define ERR_BREDR_CONN_ABORT_BY_LOCAL "br-connection-aborted-by-"\ + "local" +#define ERR_BREDR_CONN_LMP_PROTO_ERROR "br-connection-lmp-protocol-"\ + "error" +#define ERR_BREDR_CONN_CANCELED "br-connection-canceled" +#define ERR_BREDR_CONN_UNKNOWN "br-connection-unknown" + +/* LE connection failure reasons */ +#define ERR_LE_CONN_INVALID_ARGUMENTS "le-connection-invalid-arguments" +#define ERR_LE_CONN_ADAPTER_NOT_POWERED "le-connection-adapter-not-powered" +#define ERR_LE_CONN_NOT_SUPPORTED "le-connection-not-supported" +#define ERR_LE_CONN_ALREADY_CONNECTED "le-connection-already-connected" +#define ERR_LE_CONN_BAD_SOCKET "le-connection-bad-socket" +#define ERR_LE_CONN_MEMORY_ALLOC "le-connection-memory-allocation" +#define ERR_LE_CONN_BUSY "le-connection-busy" +#define ERR_LE_CONN_REFUSED "le-connection-refused" +#define ERR_LE_CONN_CREATE_SOCKET "le-connection-create-socket" +#define ERR_LE_CONN_TIMEOUT "le-connection-timeout" +#define ERR_LE_CONN_SYNC_CONNECT_LIMIT "le-connection-concurrent-connection-"\ + "limit" +#define ERR_LE_CONN_ABORT_BY_REMOTE "le-connection-abort-by-remote" +#define ERR_LE_CONN_ABORT_BY_LOCAL "le-connection-abort-by-local" +#define ERR_LE_CONN_LL_PROTO_ERROR "le-connection-link-layer-protocol-"\ + "error" +#define ERR_LE_CONN_GATT_BROWSE "le-connection-gatt-browsing" +#define ERR_LE_CONN_UNKNOWN "le-connection-unknown" + DBusMessage *btd_error_invalid_args(DBusMessage *msg); DBusMessage *btd_error_invalid_args_str(DBusMessage *msg, const char *str); DBusMessage *btd_error_busy(DBusMessage *msg); @@ -22,11 +73,17 @@ DBusMessage *btd_error_not_supported(DBusMessage *msg); DBusMessage *btd_error_not_connected(DBusMessage *msg); DBusMessage *btd_error_already_connected(DBusMessage *msg); DBusMessage *btd_error_not_available(DBusMessage *msg); +DBusMessage *btd_error_not_available_str(DBusMessage *msg, const char *str); DBusMessage *btd_error_in_progress(DBusMessage *msg); +DBusMessage *btd_error_in_progress_str(DBusMessage *msg, const char *str); DBusMessage *btd_error_does_not_exist(DBusMessage *msg); DBusMessage *btd_error_not_authorized(DBusMessage *msg); DBusMessage *btd_error_not_permitted(DBusMessage *msg, const char *str); DBusMessage *btd_error_no_such_adapter(DBusMessage *msg); DBusMessage *btd_error_agent_not_available(DBusMessage *msg); DBusMessage *btd_error_not_ready(DBusMessage *msg); +DBusMessage *btd_error_not_ready_str(DBusMessage *msg, const char *str); DBusMessage *btd_error_failed(DBusMessage *msg, const char *str); + +const char *btd_error_bredr_conn_from_errno(int errno_code); +const char *btd_error_le_conn_from_errno(int errno_code); |