Message ID | 20210714180917.BlueZ.v3.1.Ide6362da19898d001b053656ee8bf76e183633d8@changeid |
---|---|
State | New |
Headers | show |
Series | [BlueZ,v3,1/4] doc: Add error-codes.txt to describe error codes of D-Bus method returns | expand |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=515793 ---Test result--- Test Summary: CheckPatch PASS 0.97 seconds GitLint PASS 0.38 seconds Prep - Setup ELL PASS 39.03 seconds Build - Prep PASS 0.11 seconds Build - Configure PASS 6.85 seconds Build - Make FAIL 145.57 seconds Make Check FAIL 0.45 seconds Make Distcheck FAIL 133.34 seconds Build w/ext ELL - Configure PASS 6.88 seconds Build w/ext ELL - Make FAIL 134.90 seconds Details ############################## Test: CheckPatch - PASS Desc: Run checkpatch.pl script with rule in .checkpatch.conf ############################## Test: GitLint - PASS Desc: Run gitlint with rule in .gitlint ############################## Test: Prep - Setup ELL - PASS Desc: Clone, build, and install ELL ############################## Test: Build - Prep - PASS Desc: Prepare environment for build ############################## Test: Build - Configure - PASS Desc: Configure the BlueZ source tree ############################## Test: Build - Make - FAIL Desc: Build the BlueZ source tree Output: src/error.c: In function ‘btd_error_bredr_conn_from_errno’: src/error.c:151:7: error: ‘EALREADY’ undeclared (first use in this function) 151 | case EALREADY: | ^~~~~~~~ src/error.c:151:7: note: each undeclared identifier is reported only once for each function it appears in src/error.c:152:7: error: ‘EISCONN’ undeclared (first use in this function) 152 | case EISCONN: | ^~~~~~~ src/error.c:154:7: error: ‘EHOSTDOWN’ undeclared (first use in this function) 154 | case EHOSTDOWN: | ^~~~~~~~~ src/error.c:156:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function) 156 | case ENOPROTOOPT: | ^~~~~~~~~~~ src/error.c:158:7: error: ‘EIO’ undeclared (first use in this function) 158 | case EIO: | ^~~ src/error.c:160:7: error: ‘EINVAL’ undeclared (first use in this function) 160 | case EINVAL: | ^~~~~~ src/error.c:162:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 162 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:164:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 164 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:165:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 165 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:167:7: error: ‘EBADFD’ undeclared (first use in this function) 167 | case EBADFD: | ^~~~~~ src/error.c:169:7: error: ‘ENOMEM’ undeclared (first use in this function) 169 | case ENOMEM: | ^~~~~~ src/error.c:171:7: error: ‘EBUSY’ undeclared (first use in this function) 171 | case EBUSY: | ^~~~~ src/error.c:173:7: error: ‘EMLINK’ undeclared (first use in this function) 173 | case EMLINK: | ^~~~~~ src/error.c:175:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 175 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:177:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 177 | case ECONNREFUSED: | ^~~~~~~~~~~~ src/error.c:179:7: error: ‘ECONNRESET’ undeclared (first use in this function) 179 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:181:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 181 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:183:7: error: ‘EPROTO’ undeclared (first use in this function) 183 | case EPROTO: | ^~~~~~ src/error.c: In function ‘btd_error_le_conn_from_errno’: src/error.c:193:7: error: ‘EINVAL’ undeclared (first use in this function) 193 | case EINVAL: | ^~~~~~ src/error.c:195:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 195 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:197:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 197 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:198:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 198 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:200:7: error: ‘EALREADY’ undeclared (first use in this function) 200 | case EALREADY: | ^~~~~~~~ src/error.c:201:7: error: ‘EISCONN’ undeclared (first use in this function) 201 | case EISCONN: | ^~~~~~~ src/error.c:203:7: error: ‘EBADFD’ undeclared (first use in this function) 203 | case EBADFD: | ^~~~~~ src/error.c:205:7: error: ‘ENOMEM’ undeclared (first use in this function) 205 | case ENOMEM: | ^~~~~~ src/error.c:207:7: error: ‘EBUSY’ undeclared (first use in this function) 207 | case EBUSY: | ^~~~~ src/error.c:209:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 209 | case ECONNREFUSED: | ^~~~~~~~~~~~ src/error.c:211:7: error: ‘EIO’ undeclared (first use in this function) 211 | case EIO: | ^~~ src/error.c:213:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 213 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:215:7: error: ‘EMLINK’ undeclared (first use in this function) 215 | case EMLINK: | ^~~~~~ src/error.c:217:7: error: ‘ECONNRESET’ undeclared (first use in this function) 217 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:219:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 219 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:221:7: error: ‘EPROTO’ undeclared (first use in this function) 221 | case EPROTO: | ^~~~~~ make[1]: *** [Makefile:9301: src/bluetoothd-error.o] Error 1 make: *** [Makefile:4134: all] Error 2 ############################## Test: Make Check - FAIL Desc: Run 'make check' Output: src/error.c: In function ‘btd_error_bredr_conn_from_errno’: src/error.c:151:7: error: ‘EALREADY’ undeclared (first use in this function) 151 | case EALREADY: | ^~~~~~~~ src/error.c:151:7: note: each undeclared identifier is reported only once for each function it appears in src/error.c:152:7: error: ‘EISCONN’ undeclared (first use in this function) 152 | case EISCONN: | ^~~~~~~ src/error.c:154:7: error: ‘EHOSTDOWN’ undeclared (first use in this function) 154 | case EHOSTDOWN: | ^~~~~~~~~ src/error.c:156:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function) 156 | case ENOPROTOOPT: | ^~~~~~~~~~~ src/error.c:158:7: error: ‘EIO’ undeclared (first use in this function) 158 | case EIO: | ^~~ src/error.c:160:7: error: ‘EINVAL’ undeclared (first use in this function) 160 | case EINVAL: | ^~~~~~ src/error.c:162:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 162 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:164:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 164 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:165:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 165 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:167:7: error: ‘EBADFD’ undeclared (first use in this function) 167 | case EBADFD: | ^~~~~~ src/error.c:169:7: error: ‘ENOMEM’ undeclared (first use in this function) 169 | case ENOMEM: | ^~~~~~ src/error.c:171:7: error: ‘EBUSY’ undeclared (first use in this function) 171 | case EBUSY: | ^~~~~ src/error.c:173:7: error: ‘EMLINK’ undeclared (first use in this function) 173 | case EMLINK: | ^~~~~~ src/error.c:175:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 175 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:177:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 177 | case ECONNREFUSED: | ^~~~~~~~~~~~ src/error.c:179:7: error: ‘ECONNRESET’ undeclared (first use in this function) 179 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:181:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 181 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:183:7: error: ‘EPROTO’ undeclared (first use in this function) 183 | case EPROTO: | ^~~~~~ src/error.c: In function ‘btd_error_le_conn_from_errno’: src/error.c:193:7: error: ‘EINVAL’ undeclared (first use in this function) 193 | case EINVAL: | ^~~~~~ src/error.c:195:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 195 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:197:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 197 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:198:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 198 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:200:7: error: ‘EALREADY’ undeclared (first use in this function) 200 | case EALREADY: | ^~~~~~~~ src/error.c:201:7: error: ‘EISCONN’ undeclared (first use in this function) 201 | case EISCONN: | ^~~~~~~ src/error.c:203:7: error: ‘EBADFD’ undeclared (first use in this function) 203 | case EBADFD: | ^~~~~~ src/error.c:205:7: error: ‘ENOMEM’ undeclared (first use in this function) 205 | case ENOMEM: | ^~~~~~ src/error.c:207:7: error: ‘EBUSY’ undeclared (first use in this function) 207 | case EBUSY: | ^~~~~ src/error.c:209:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 209 | case ECONNREFUSED: | ^~~~~~~~~~~~ src/error.c:211:7: error: ‘EIO’ undeclared (first use in this function) 211 | case EIO: | ^~~ src/error.c:213:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 213 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:215:7: error: ‘EMLINK’ undeclared (first use in this function) 215 | case EMLINK: | ^~~~~~ src/error.c:217:7: error: ‘ECONNRESET’ undeclared (first use in this function) 217 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:219:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 219 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:221:7: error: ‘EPROTO’ undeclared (first use in this function) 221 | case EPROTO: | ^~~~~~ make[1]: *** [Makefile:9301: src/bluetoothd-error.o] Error 1 make: *** [Makefile:10406: check] Error 2 ############################## Test: Make Distcheck - FAIL Desc: Run distcheck to check the distribution Output: ../../src/error.c: In function ‘btd_error_bredr_conn_from_errno’: ../../src/error.c:151:7: error: ‘EALREADY’ undeclared (first use in this function) 151 | case EALREADY: | ^~~~~~~~ ../../src/error.c:151:7: note: each undeclared identifier is reported only once for each function it appears in ../../src/error.c:152:7: error: ‘EISCONN’ undeclared (first use in this function) 152 | case EISCONN: | ^~~~~~~ ../../src/error.c:154:7: error: ‘EHOSTDOWN’ undeclared (first use in this function) 154 | case EHOSTDOWN: | ^~~~~~~~~ ../../src/error.c:156:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function) 156 | case ENOPROTOOPT: | ^~~~~~~~~~~ ../../src/error.c:158:7: error: ‘EIO’ undeclared (first use in this function) 158 | case EIO: | ^~~ ../../src/error.c:160:7: error: ‘EINVAL’ undeclared (first use in this function) 160 | case EINVAL: | ^~~~~~ ../../src/error.c:162:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 162 | case EHOSTUNREACH: | ^~~~~~~~~~~~ ../../src/error.c:164:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 164 | case EOPNOTSUPP: | ^~~~~~~~~~ ../../src/error.c:165:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 165 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ ../../src/error.c:167:7: error: ‘EBADFD’ undeclared (first use in this function) 167 | case EBADFD: | ^~~~~~ ../../src/error.c:169:7: error: ‘ENOMEM’ undeclared (first use in this function) 169 | case ENOMEM: | ^~~~~~ ../../src/error.c:171:7: error: ‘EBUSY’ undeclared (first use in this function) 171 | case EBUSY: | ^~~~~ ../../src/error.c:173:7: error: ‘EMLINK’ undeclared (first use in this function) 173 | case EMLINK: | ^~~~~~ ../../src/error.c:175:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 175 | case ETIMEDOUT: | ^~~~~~~~~ ../../src/error.c:177:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 177 | case ECONNREFUSED: | ^~~~~~~~~~~~ ../../src/error.c:179:7: error: ‘ECONNRESET’ undeclared (first use in this function) 179 | case ECONNRESET: | ^~~~~~~~~~ ../../src/error.c:181:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 181 | case ECONNABORTED: | ^~~~~~~~~~~~ ../../src/error.c:183:7: error: ‘EPROTO’ undeclared (first use in this function) 183 | case EPROTO: | ^~~~~~ ../../src/error.c: In function ‘btd_error_le_conn_from_errno’: ../../src/error.c:193:7: error: ‘EINVAL’ undeclared (first use in this function) 193 | case EINVAL: | ^~~~~~ ../../src/error.c:195:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 195 | case EHOSTUNREACH: | ^~~~~~~~~~~~ ../../src/error.c:197:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 197 | case EOPNOTSUPP: | ^~~~~~~~~~ ../../src/error.c:198:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 198 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ ../../src/error.c:200:7: error: ‘EALREADY’ undeclared (first use in this function) 200 | case EALREADY: | ^~~~~~~~ ../../src/error.c:201:7: error: ‘EISCONN’ undeclared (first use in this function) 201 | case EISCONN: | ^~~~~~~ ../../src/error.c:203:7: error: ‘EBADFD’ undeclared (first use in this function) 203 | case EBADFD: | ^~~~~~ ../../src/error.c:205:7: error: ‘ENOMEM’ undeclared (first use in this function) 205 | case ENOMEM: | ^~~~~~ ../../src/error.c:207:7: error: ‘EBUSY’ undeclared (first use in this function) 207 | case EBUSY: | ^~~~~ ../../src/error.c:209:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 209 | case ECONNREFUSED: | ^~~~~~~~~~~~ ../../src/error.c:211:7: error: ‘EIO’ undeclared (first use in this function) 211 | case EIO: | ^~~ ../../src/error.c:213:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 213 | case ETIMEDOUT: | ^~~~~~~~~ ../../src/error.c:215:7: error: ‘EMLINK’ undeclared (first use in this function) 215 | case EMLINK: | ^~~~~~ ../../src/error.c:217:7: error: ‘ECONNRESET’ undeclared (first use in this function) 217 | case ECONNRESET: | ^~~~~~~~~~ ../../src/error.c:219:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 219 | case ECONNABORTED: | ^~~~~~~~~~~~ ../../src/error.c:221:7: error: ‘EPROTO’ undeclared (first use in this function) 221 | case EPROTO: | ^~~~~~ make[2]: *** [Makefile:9301: src/bluetoothd-error.o] Error 1 make[1]: *** [Makefile:4134: all] Error 2 make: *** [Makefile:10327: distcheck] Error 1 ############################## Test: Build w/ext ELL - Configure - PASS Desc: Configure BlueZ source with '--enable-external-ell' configuration ############################## Test: Build w/ext ELL - Make - FAIL Desc: Build BlueZ source with '--enable-external-ell' configuration Output: src/error.c: In function ‘btd_error_bredr_conn_from_errno’: src/error.c:151:7: error: ‘EALREADY’ undeclared (first use in this function) 151 | case EALREADY: | ^~~~~~~~ src/error.c:151:7: note: each undeclared identifier is reported only once for each function it appears in src/error.c:152:7: error: ‘EISCONN’ undeclared (first use in this function) 152 | case EISCONN: | ^~~~~~~ src/error.c:154:7: error: ‘EHOSTDOWN’ undeclared (first use in this function) 154 | case EHOSTDOWN: | ^~~~~~~~~ src/error.c:156:7: error: ‘ENOPROTOOPT’ undeclared (first use in this function) 156 | case ENOPROTOOPT: | ^~~~~~~~~~~ src/error.c:158:7: error: ‘EIO’ undeclared (first use in this function) 158 | case EIO: | ^~~ src/error.c:160:7: error: ‘EINVAL’ undeclared (first use in this function) 160 | case EINVAL: | ^~~~~~ src/error.c:162:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 162 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:164:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 164 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:165:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 165 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:167:7: error: ‘EBADFD’ undeclared (first use in this function) 167 | case EBADFD: | ^~~~~~ src/error.c:169:7: error: ‘ENOMEM’ undeclared (first use in this function) 169 | case ENOMEM: | ^~~~~~ src/error.c:171:7: error: ‘EBUSY’ undeclared (first use in this function) 171 | case EBUSY: | ^~~~~ src/error.c:173:7: error: ‘EMLINK’ undeclared (first use in this function) 173 | case EMLINK: | ^~~~~~ src/error.c:175:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 175 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:177:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 177 | case ECONNREFUSED: | ^~~~~~~~~~~~ src/error.c:179:7: error: ‘ECONNRESET’ undeclared (first use in this function) 179 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:181:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 181 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:183:7: error: ‘EPROTO’ undeclared (first use in this function) 183 | case EPROTO: | ^~~~~~ src/error.c: In function ‘btd_error_le_conn_from_errno’: src/error.c:193:7: error: ‘EINVAL’ undeclared (first use in this function) 193 | case EINVAL: | ^~~~~~ src/error.c:195:7: error: ‘EHOSTUNREACH’ undeclared (first use in this function) 195 | case EHOSTUNREACH: | ^~~~~~~~~~~~ src/error.c:197:7: error: ‘EOPNOTSUPP’ undeclared (first use in this function) 197 | case EOPNOTSUPP: | ^~~~~~~~~~ src/error.c:198:7: error: ‘EPROTONOSUPPORT’ undeclared (first use in this function) 198 | case EPROTONOSUPPORT: | ^~~~~~~~~~~~~~~ src/error.c:200:7: error: ‘EALREADY’ undeclared (first use in this function) 200 | case EALREADY: | ^~~~~~~~ src/error.c:201:7: error: ‘EISCONN’ undeclared (first use in this function) 201 | case EISCONN: | ^~~~~~~ src/error.c:203:7: error: ‘EBADFD’ undeclared (first use in this function) 203 | case EBADFD: | ^~~~~~ src/error.c:205:7: error: ‘ENOMEM’ undeclared (first use in this function) 205 | case ENOMEM: | ^~~~~~ src/error.c:207:7: error: ‘EBUSY’ undeclared (first use in this function) 207 | case EBUSY: | ^~~~~ src/error.c:209:7: error: ‘ECONNREFUSED’ undeclared (first use in this function) 209 | case ECONNREFUSED: | ^~~~~~~~~~~~ src/error.c:211:7: error: ‘EIO’ undeclared (first use in this function) 211 | case EIO: | ^~~ src/error.c:213:7: error: ‘ETIMEDOUT’ undeclared (first use in this function) 213 | case ETIMEDOUT: | ^~~~~~~~~ src/error.c:215:7: error: ‘EMLINK’ undeclared (first use in this function) 215 | case EMLINK: | ^~~~~~ src/error.c:217:7: error: ‘ECONNRESET’ undeclared (first use in this function) 217 | case ECONNRESET: | ^~~~~~~~~~ src/error.c:219:7: error: ‘ECONNABORTED’ undeclared (first use in this function) 219 | case ECONNABORTED: | ^~~~~~~~~~~~ src/error.c:221:7: error: ‘EPROTO’ undeclared (first use in this function) 221 | case EPROTO: | ^~~~~~ make[1]: *** [Makefile:9301: src/bluetoothd-error.o] Error 1 make: *** [Makefile:4134: all] Error 2 --- Regards, Linux Bluetooth
diff --git a/doc/error-code.txt b/doc/error-code.txt new file mode 100644 index 000000000..af8300467 --- /dev/null +++ b/doc/error-code.txt @@ -0,0 +1,266 @@ +D-Bus Method Return Error Codes +=============================== + +The motivation of having detailed error codes is to provide context-based +failure reasons along with D-Bus method return so that D-Bus clients can +build metrics and optimize their application based on these failure reasons. +For instance, a client can build retry mechanism for a connection failure or +improve the bottleneck of use scenario based on actionable metrics. + +These error codes are context-based but not necessarily tied to interface or +method calls. For instance, if a pairing request failed due to connection +failure, connection error would be attached to the method return of Pair(). + +BR/EDR connection already connected +=================================== + code: 0x0001 + errno: EALREADY, EISCONN + +Either the profile is already connected or ACL connection is in place. + +BR/EDR connection page timeout +============================== + code: 0x0002 + errno: EHOSTDOWN + +Failed due to page timeout. + +BR/EDR connection profile unavailable +===================================== + code: 0x0003 + errno: ENOPROTOOPT + +Failed to find connectable services or the target service. + +BR/EDR connection SDP search +============================ + code: 0x0004 + errno: none + +Failed to complete the SDP search. + +BR/EDR connection create socket +=============================== + code: 0x0005 + errno: EIO + +Failed to create or connect to BT IO socket. This can also indicate hardware +failure in the controller. + +BR/EDR connection invalid arguments +=================================== + code: 0x0006 + errno: EHOSTUNREACH + +Failed due to invalid arguments. + +BR/EDR connection not powered +============================= + code: 0x0007 + errno: EHOSTUNREACH + +Failed due to adapter not powered. + +BR/EDR connection not supported +=============================== + code: 0x0008 + errno: EOPNOTSUPP, EPROTONOSUPPORT + +Failed due to unsupported state transition of L2CAP channel or other features +either by the local host or the remote. + +BR/EDR connection bad socket +============================ + code: 0x0009 + errno: EBADFD + +Failed due to the socket is in bad state. + +BR/EDR connection memory allocation +=================================== + code: 0x000A + errno: ENOMEM + +Failed to allocate memory in either host stack or controller. + +BR/EDR connection busy +====================== + code: 0x000B + errno: EBUSY + +Failed due to other ongoing operations, such as pairing, busy L2CAP channel or +the operation disallowed by the controller. + +BR/EDR connection concurrent connection limit +============================================= + code: 0x000C + errno: EMLINK + +Failed due to reaching the concurrent connection limit to a device. + +BR/EDR connection timeout +========================= + code: 0x000D + errno: ETIMEDOUT + +Failed due to connection timeout + +BR/EDR connection refused +========================= + code: 0x000E + errno: ECONNREFUSED + +Refused by the remote device due to limited resource, security reason or +unacceptable address type. + +BR/EDR connection aborted by remote +=================================== + code: 0x000F + errno: ECONNRESET + +Terminated by the remote device due to limited resource or power off. + +BR/EDR connection aborted by local +================================== + code: 0x0010 + errno: ECONNABORTED + +Aborted by the local host. + +BR/EDR connection protocol error +================================ + code: 0x0011 + errno: EPROTO + +Failed due to LMP protocol error. + +BR/EDR connection canceled +========================== + code: 0x0012 + errno: none + +Failed due to cancellation caused by adapter drop, unexpected device drop, or +incoming disconnection request before connection request is completed. + +BR/EDR connection unknown error +=============================== + code: 0x0013 + errno: ENOSYS + +Failed due to unknown reason. + +LE connection invalid arguments +=============================== + code: 0x0101 + errno: EINVAL + +Failed due to invalid arguments. + +LE connection not powered +========================= + code: 0x0102 + errno: EHOSTUNREACH + +Failed due to adapter not powered. + +LE connection not supported +=========================== + code: 0x0103 + errno: EOPNOTSUPP, EPROTONOSUPPORT + +Failed due to unsupported state transition of L2CAP channel or other features +(e.g. LE features) either by the local host or the remote. + +LE connection already connected +=============================== + code: 0x0104 + errno: EALREADY, EISCONN + +Either the BT IO is already connected or LE link connection in place. + +LE connection bad socket +======================== + code: 0x0105 + errno: EBADFD + +Failed due to the socket is in bad state. + +LE connection memory allocation +=============================== + code: 0x0106 + errno: ENOMEM + +Failed to allocate memory in either host stack or controller. + +LE connection busy +================== + code: 0x0107 + errno: EBUSY + +Failed due to other ongoing operations, such as pairing, connecting, busy +L2CAP channel or the operation disallowed by the controller. + +LE connection refused +===================== + code: 0x0108 + errno: ECONNREFUSED + +Failed due to that LE is not enabled or the attempt is refused by the remote +device due to limited resource, security reason or unacceptable address type. + +LE connection create socket +=========================== + code: 0x0109 + errno: EIO + +Failed to create or connect to BT IO socket. This can also indicate hardware +failure in the controller. + +LE connection timeout +===================== + code: 0x010A + errno: ETIMEDOUT + +Failed due to connection timeout + +LE connection concurrent connection limit +========================================= + code: 0x010B + errno: EMLINK + +Failed due to reaching the synchronous connection limit to a device. + +LE connection abort by remote +============================= + code: 0x010C + errno: ECONNRESET + +Aborted by the remote device due to limited resource or power off. + +LE connection abort by local +============================ + code: 0x010D + errno: ECONNABORTED + +Aborted by the local host. + +LE connection link layer protocol error +======================================= + code: 0x010E + errno: EPROTO + +Failed due to link layer protocol error. + +LE connection GATT browsing +=========================== + code: 0x010F + errno: none + +Failed to complete the GATT browsing. + +LE connection unknown error +=========================== + code: 0x0110 + errno: ENOSYS + + Failed due to unknown reason.