| 3045 | desc = "read/write on a BlueTooth HCI socket" |
| 3046 | |
| 3047 | def __init__(self, iface=0x10000, type=None): |
| 3048 | if WINDOWS: |
| 3049 | warning("Not available on Windows") |
| 3050 | return |
| 3051 | s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_RAW, socket.BTPROTO_HCI) # noqa: E501 |
| 3052 | s.setsockopt(socket.SOL_HCI, socket.HCI_DATA_DIR, 1) |
| 3053 | s.setsockopt(socket.SOL_HCI, socket.HCI_TIME_STAMP, 1) |
| 3054 | s.setsockopt(socket.SOL_HCI, socket.HCI_FILTER, struct.pack("IIIh2x", 0xffffffff, 0xffffffff, 0xffffffff, 0)) # type mask, event mask, event mask, opcode # noqa: E501 |
| 3055 | s.bind((iface,)) |
| 3056 | self.ins = self.outs = s |
| 3057 | # s.connect((peer,0)) |
| 3058 | |
| 3059 | def recv(self, x=MTU): |