diff options
| author | Andrey Konovalov <andreyknvl@google.com> | 2020-06-12 18:10:53 +0200 |
|---|---|---|
| committer | Andrey Konovalov <andreyknvl@gmail.com> | 2020-06-12 18:42:12 +0200 |
| commit | f4724dd308db90b80e69e5374332ef8c92bc38ec (patch) | |
| tree | 509a3e5003a2bbe3cf78bcad4514b29ee54b6624 /sys/linux/dev_vhci.txt | |
| parent | 835efa70b07063625602006ba7a36238a8cd4bd1 (diff) | |
sys/linux: move vhci stuff to dev_vhci.txt
Diffstat (limited to 'sys/linux/dev_vhci.txt')
| -rw-r--r-- | sys/linux/dev_vhci.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sys/linux/dev_vhci.txt b/sys/linux/dev_vhci.txt index 90257deae..48ef737d6 100644 --- a/sys/linux/dev_vhci.txt +++ b/sys/linux/dev_vhci.txt @@ -6,6 +6,41 @@ include <net/bluetooth/hci_sock.h> include <net/bluetooth/sco.h> include <net/bluetooth/hci.h> +resource fd_vhci[fd] +openat$vhci(fd const[AT_FDCWD], file ptr[in, string["/dev/vhci"]], flags flags[open_flags]) fd_vhci +write$vhci(fd fd_vhci, data ptr[in, vhci_command], size bytesize[data]) + +vhci_command [ + HCI_EVENT_PKT vhci_command_event_pkt + HCI_ACLDATA_PKT vhci_command_acldata_pkt + HCI_SCODATA_PKT vhci_command_generic[HCI_SCODATA_PKT] + HCI_VENDOR_PKT vhci_command_vendor_pkt +] [varlen] + +type vhci_command_generic[CMD] { + cmd const[CMD, int8] +# TODO: what's the format of these packets? Is there anything interesting? + data array[int8] +} + +vhci_command_event_pkt { + cmd const[HCI_EVENT_PKT, int8] + hdr hci_event_hdr_un +} + +vhci_command_acldata_pkt { + cmd const[HCI_ACLDATA_PKT, int8] + acl_hdr hci_acl_hdr[vhci_command_acldata_pkt:l2cap_hdr] + l2cap_hdr l2cap_hdr_un +} + +vhci_command_vendor_pkt { + cmd const[HCI_VENDOR_PKT, int8] + opcode flags[vhci_vendor_pkt_opcode, int8] +} + +vhci_vendor_pkt_opcode = HCI_PRIMARY, HCI_AMP, HCI_EXTERNAL_CONFIG, HCI_RAW_DEVICE + type hci_acl_hdr[DATA] { bc int16:2 pb int16:2 |
