@@ -466,6 +466,7 @@ remove_unusable_flags(PyObject *m)
466466#define BTPROTO_L2CAP BLUETOOTH_PROTO_L2CAP
467467#define BTPROTO_RFCOMM BLUETOOTH_PROTO_RFCOMM
468468#define BTPROTO_HCI BLUETOOTH_PROTO_HCI
469+ #define BTPROTO_SCO BLUETOOTH_PROTO_SCO
469470#define SOL_HCI SOL_HCI_RAW
470471#define HCI_FILTER SO_HCI_RAW_FILTER
471472#define sockaddr_l2 sockaddr_l2cap
@@ -474,6 +475,7 @@ remove_unusable_flags(PyObject *m)
474475#define _BT_L2_MEMB (sa , memb ) ((sa)->l2cap_##memb)
475476#define _BT_RC_MEMB (sa , memb ) ((sa)->rfcomm_##memb)
476477#define _BT_HCI_MEMB (sa , memb ) ((sa)->hci_##memb)
478+ #define _BT_SCO_MEMB (sa , memb ) ((sa)->sco_##memb)
477479#elif defined(__NetBSD__ ) || defined(__DragonFly__ )
478480#define sockaddr_l2 sockaddr_bt
479481#define sockaddr_rc sockaddr_bt
@@ -1536,15 +1538,15 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
15361538 return ret ;
15371539#endif
15381540 }
1541+ #endif /* BTPROTO_HCI */
15391542
1540- #if !defined( __FreeBSD__ )
1543+ #ifdef BTPROTO_SCO
15411544 case BTPROTO_SCO :
15421545 {
15431546 struct sockaddr_sco * a = (struct sockaddr_sco * ) addr ;
15441547 return makebdaddr (& _BT_SCO_MEMB (a , bdaddr ));
15451548 }
1546- #endif /* !__FreeBSD__ */
1547- #endif /* BTPROTO_HCI */
1549+ #endif /* BTPROTO_SCO */
15481550
15491551 default :
15501552 PyErr_SetString (PyExc_ValueError ,
@@ -2156,7 +2158,8 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
21562158 * len_ret = sizeof * addr ;
21572159 return 1 ;
21582160 }
2159- #if !defined(__FreeBSD__ )
2161+ #endif /* BTPROTO_HCI */
2162+ #ifdef BTPROTO_SCO
21602163 case BTPROTO_SCO :
21612164 {
21622165 const char * straddr ;
@@ -2176,8 +2179,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
21762179 * len_ret = sizeof * addr ;
21772180 return 1 ;
21782181 }
2179- #endif /* !__FreeBSD__ */
2180- #endif /* BTPROTO_HCI */
2182+ #endif /* BTPROTO_SCO */
21812183 default :
21822184 PyErr_Format (PyExc_OSError ,
21832185 "%s(): unknown Bluetooth protocol" , caller );
@@ -2732,11 +2734,11 @@ getsockaddrlen(PySocketSockObject *s, socklen_t *len_ret)
27322734 case BTPROTO_HCI :
27332735 * len_ret = sizeof (struct sockaddr_hci );
27342736 return 1 ;
2735- #if !defined(__FreeBSD__ )
2737+ #endif /* BTPROTO_HCI */
2738+ #ifdef BTPROTO_SCO
27362739 case BTPROTO_SCO :
27372740 * len_ret = sizeof (struct sockaddr_sco );
27382741 return 1 ;
2739- #endif /* !__FreeBSD__ */
27402742#endif /* BTPROTO_HCI */
27412743 default :
27422744 PyErr_SetString (PyExc_OSError , "getsockaddrlen: "
0 commit comments