Bluetooth: Add bt_status
This adds bt_status which can be used to convert Unix errno to Bluetooth status. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
Родитель
1bbf4023cf
Коммит
ca2045e059
|
@ -521,6 +521,7 @@ static inline struct sk_buff *bt_skb_sendmmsg(struct sock *sk,
|
|||
}
|
||||
|
||||
int bt_to_errno(u16 code);
|
||||
__u8 bt_status(int err);
|
||||
|
||||
void hci_sock_set_flag(struct sock *sk, int nr);
|
||||
void hci_sock_clear_flag(struct sock *sk, int nr);
|
||||
|
|
|
@ -135,6 +135,77 @@ int bt_to_errno(__u16 code)
|
|||
}
|
||||
EXPORT_SYMBOL(bt_to_errno);
|
||||
|
||||
/* Unix errno to Bluetooth error codes mapping */
|
||||
__u8 bt_status(int err)
|
||||
{
|
||||
/* Don't convert if already positive value */
|
||||
if (err >= 0)
|
||||
return err;
|
||||
|
||||
switch (err) {
|
||||
case -EBADRQC:
|
||||
return 0x01;
|
||||
|
||||
case -ENOTCONN:
|
||||
return 0x02;
|
||||
|
||||
case -EIO:
|
||||
return 0x03;
|
||||
|
||||
case -EHOSTDOWN:
|
||||
return 0x04;
|
||||
|
||||
case -EACCES:
|
||||
return 0x05;
|
||||
|
||||
case -EBADE:
|
||||
return 0x06;
|
||||
|
||||
case -ENOMEM:
|
||||
return 0x07;
|
||||
|
||||
case -ETIMEDOUT:
|
||||
return 0x08;
|
||||
|
||||
case -EMLINK:
|
||||
return 0x09;
|
||||
|
||||
case EALREADY:
|
||||
return 0x0b;
|
||||
|
||||
case -EBUSY:
|
||||
return 0x0c;
|
||||
|
||||
case -ECONNREFUSED:
|
||||
return 0x0d;
|
||||
|
||||
case -EOPNOTSUPP:
|
||||
return 0x11;
|
||||
|
||||
case -EINVAL:
|
||||
return 0x12;
|
||||
|
||||
case -ECONNRESET:
|
||||
return 0x13;
|
||||
|
||||
case -ECONNABORTED:
|
||||
return 0x16;
|
||||
|
||||
case ELOOP:
|
||||
return 0x17;
|
||||
|
||||
case -EPROTONOSUPPORT:
|
||||
return 0x1a;
|
||||
|
||||
case -EPROTO:
|
||||
return 0x19;
|
||||
|
||||
default:
|
||||
return 0x1f;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(bt_status);
|
||||
|
||||
void bt_info(const char *format, ...)
|
||||
{
|
||||
struct va_format vaf;
|
||||
|
|
Загрузка…
Ссылка в новой задаче