mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
gh-132429: Fix support of Bluetooth sockets on NetBSD and DragonFly BSD (GH-132431)
* Also add support for cid and bdaddr_type in the BTPROTO_L2CAP address on FreeBSD. * Return cid in getsockname() for BTPROTO_L2CAP if it is not zero. * Fix a compiler warning on FreeBSD.
This commit is contained in:
parent
9634085af3
commit
f2f86d3f45
4 changed files with 125 additions and 84 deletions
|
@ -122,6 +122,9 @@ typedef int socklen_t;
|
|||
#endif
|
||||
|
||||
#ifdef HAVE_BLUETOOTH_H
|
||||
#ifdef __FreeBSD__
|
||||
#define L2CAP_SOCKET_CHECKED
|
||||
#endif
|
||||
#include <bluetooth.h>
|
||||
#endif
|
||||
|
||||
|
@ -274,18 +277,22 @@ typedef union sock_addr {
|
|||
struct sockaddr_in6 in6;
|
||||
struct sockaddr_storage storage;
|
||||
#endif
|
||||
#if defined(HAVE_BLUETOOTH_H) && defined(__FreeBSD__)
|
||||
struct sockaddr_l2cap bt_l2;
|
||||
struct sockaddr_rfcomm bt_rc;
|
||||
struct sockaddr_sco bt_sco;
|
||||
struct sockaddr_hci bt_hci;
|
||||
#elif defined(HAVE_BLUETOOTH_BLUETOOTH_H)
|
||||
#if defined(MS_WINDOWS)
|
||||
struct SOCKADDR_BTH_REDEF bt_rc;
|
||||
#elif defined(HAVE_BLUETOOTH_BLUETOOTH_H) // Linux
|
||||
struct sockaddr_l2 bt_l2;
|
||||
struct sockaddr_rc bt_rc;
|
||||
struct sockaddr_sco bt_sco;
|
||||
struct sockaddr_hci bt_hci;
|
||||
#elif defined(MS_WINDOWS)
|
||||
struct SOCKADDR_BTH_REDEF bt_rc;
|
||||
#elif defined(HAVE_BLUETOOTH_H)
|
||||
# if defined(__FreeBSD__)
|
||||
struct sockaddr_l2cap bt_l2;
|
||||
struct sockaddr_rfcomm bt_rc;
|
||||
struct sockaddr_sco bt_sco;
|
||||
struct sockaddr_hci bt_hci;
|
||||
# else // NetBSD, DragonFly BSD
|
||||
struct sockaddr_bt bt;
|
||||
# endif
|
||||
#endif
|
||||
#ifdef HAVE_NETPACKET_PACKET_H
|
||||
struct sockaddr_ll ll;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue