···521521}522522523523int bt_to_errno(u16 code);524524+__u8 bt_status(int err);524525525526void hci_sock_set_flag(struct sock *sk, int nr);526527void hci_sock_clear_flag(struct sock *sk, int nr);
+71
net/bluetooth/lib.c
···135135}136136EXPORT_SYMBOL(bt_to_errno);137137138138+/* Unix errno to Bluetooth error codes mapping */139139+__u8 bt_status(int err)140140+{141141+ /* Don't convert if already positive value */142142+ if (err >= 0)143143+ return err;144144+145145+ switch (err) {146146+ case -EBADRQC:147147+ return 0x01;148148+149149+ case -ENOTCONN:150150+ return 0x02;151151+152152+ case -EIO:153153+ return 0x03;154154+155155+ case -EHOSTDOWN:156156+ return 0x04;157157+158158+ case -EACCES:159159+ return 0x05;160160+161161+ case -EBADE:162162+ return 0x06;163163+164164+ case -ENOMEM:165165+ return 0x07;166166+167167+ case -ETIMEDOUT:168168+ return 0x08;169169+170170+ case -EMLINK:171171+ return 0x09;172172+173173+ case EALREADY:174174+ return 0x0b;175175+176176+ case -EBUSY:177177+ return 0x0c;178178+179179+ case -ECONNREFUSED:180180+ return 0x0d;181181+182182+ case -EOPNOTSUPP:183183+ return 0x11;184184+185185+ case -EINVAL:186186+ return 0x12;187187+188188+ case -ECONNRESET:189189+ return 0x13;190190+191191+ case -ECONNABORTED:192192+ return 0x16;193193+194194+ case ELOOP:195195+ return 0x17;196196+197197+ case -EPROTONOSUPPORT:198198+ return 0x1a;199199+200200+ case -EPROTO:201201+ return 0x19;202202+203203+ default:204204+ return 0x1f;205205+ }206206+}207207+EXPORT_SYMBOL(bt_status);208208+138209void bt_info(const char *format, ...)139210{140211 struct va_format vaf;