From f4724dd308db90b80e69e5374332ef8c92bc38ec Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 12 Jun 2020 18:10:53 +0200 Subject: sys/linux: move vhci stuff to dev_vhci.txt --- sys/linux/dev_vhci.txt | 35 +++++++++++++++++++++++++++++++ sys/linux/dev_vhci_386.const | 11 ++++++++++ sys/linux/dev_vhci_amd64.const | 11 ++++++++++ sys/linux/dev_vhci_arm.const | 11 ++++++++++ sys/linux/dev_vhci_arm64.const | 11 ++++++++++ sys/linux/dev_vhci_mips64le.const | 11 ++++++++++ sys/linux/dev_vhci_ppc64le.const | 11 ++++++++++ sys/linux/socket_bluetooth.txt | 35 ------------------------------- sys/linux/socket_bluetooth_386.const | 6 ------ sys/linux/socket_bluetooth_amd64.const | 6 ------ sys/linux/socket_bluetooth_arm.const | 6 ------ sys/linux/socket_bluetooth_arm64.const | 6 ------ sys/linux/socket_bluetooth_mips64le.const | 6 ------ sys/linux/socket_bluetooth_ppc64le.const | 6 ------ 14 files changed, 101 insertions(+), 71 deletions(-) (limited to 'sys') 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 include include +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 diff --git a/sys/linux/dev_vhci_386.const b/sys/linux/dev_vhci_386.const index 91a248fd9..7402ce6e2 100644 --- a/sys/linux/dev_vhci_386.const +++ b/sys/linux/dev_vhci_386.const @@ -2,7 +2,11 @@ ACL_LINK = 1 ADDR_LE_DEV_PUBLIC = 0 ADDR_LE_DEV_RANDOM = 1 +AT_FDCWD = 18446744073709551516 ESCO_LINK = 2 +HCI_ACLDATA_PKT = 2 +HCI_AMP = 1 +HCI_EVENT_PKT = 4 HCI_EVT_LE_CIS_ESTABLISHED = 25 HCI_EVT_LE_CIS_REQ = 26 HCI_EV_AUTH_COMPLETE = 6 @@ -67,6 +71,7 @@ HCI_EV_SYNC_TRAIN_COMPLETE = 79 HCI_EV_USER_CONFIRM_REQUEST = 51 HCI_EV_USER_PASSKEY_NOTIFY = 59 HCI_EV_USER_PASSKEY_REQUEST = 52 +# HCI_EXTERNAL_CONFIG is not set HCI_OP_ADD_SCO = 1031 HCI_OP_AUTH_REQUESTED = 1041 HCI_OP_CREATE_CONN = 1029 @@ -145,4 +150,10 @@ HCI_OP_WRITE_AUTH_PAYLOAD_TO = 3196 HCI_OP_WRITE_LINK_POLICY = 2061 HCI_OP_WRITE_REMOTE_AMP_ASSOC = 5131 HCI_OP_WRITE_SYNC_TRAIN_PARAMS = 3192 +HCI_PRIMARY = 0 +# HCI_RAW_DEVICE is not set +HCI_SCODATA_PKT = 3 +HCI_VENDOR_PKT = 255 SCO_LINK = 0 +__NR_openat = 295 +__NR_write = 4 diff --git a/sys/linux/dev_vhci_amd64.const b/sys/linux/dev_vhci_amd64.const index 91a248fd9..8e2f96553 100644 --- a/sys/linux/dev_vhci_amd64.const +++ b/sys/linux/dev_vhci_amd64.const @@ -2,7 +2,11 @@ ACL_LINK = 1 ADDR_LE_DEV_PUBLIC = 0 ADDR_LE_DEV_RANDOM = 1 +AT_FDCWD = 18446744073709551516 ESCO_LINK = 2 +HCI_ACLDATA_PKT = 2 +HCI_AMP = 1 +HCI_EVENT_PKT = 4 HCI_EVT_LE_CIS_ESTABLISHED = 25 HCI_EVT_LE_CIS_REQ = 26 HCI_EV_AUTH_COMPLETE = 6 @@ -67,6 +71,7 @@ HCI_EV_SYNC_TRAIN_COMPLETE = 79 HCI_EV_USER_CONFIRM_REQUEST = 51 HCI_EV_USER_PASSKEY_NOTIFY = 59 HCI_EV_USER_PASSKEY_REQUEST = 52 +# HCI_EXTERNAL_CONFIG is not set HCI_OP_ADD_SCO = 1031 HCI_OP_AUTH_REQUESTED = 1041 HCI_OP_CREATE_CONN = 1029 @@ -145,4 +150,10 @@ HCI_OP_WRITE_AUTH_PAYLOAD_TO = 3196 HCI_OP_WRITE_LINK_POLICY = 2061 HCI_OP_WRITE_REMOTE_AMP_ASSOC = 5131 HCI_OP_WRITE_SYNC_TRAIN_PARAMS = 3192 +HCI_PRIMARY = 0 +# HCI_RAW_DEVICE is not set +HCI_SCODATA_PKT = 3 +HCI_VENDOR_PKT = 255 SCO_LINK = 0 +__NR_openat = 257 +__NR_write = 1 diff --git a/sys/linux/dev_vhci_arm.const b/sys/linux/dev_vhci_arm.const index 91a248fd9..334f8171a 100644 --- a/sys/linux/dev_vhci_arm.const +++ b/sys/linux/dev_vhci_arm.const @@ -2,7 +2,11 @@ ACL_LINK = 1 ADDR_LE_DEV_PUBLIC = 0 ADDR_LE_DEV_RANDOM = 1 +AT_FDCWD = 18446744073709551516 ESCO_LINK = 2 +HCI_ACLDATA_PKT = 2 +HCI_AMP = 1 +HCI_EVENT_PKT = 4 HCI_EVT_LE_CIS_ESTABLISHED = 25 HCI_EVT_LE_CIS_REQ = 26 HCI_EV_AUTH_COMPLETE = 6 @@ -67,6 +71,7 @@ HCI_EV_SYNC_TRAIN_COMPLETE = 79 HCI_EV_USER_CONFIRM_REQUEST = 51 HCI_EV_USER_PASSKEY_NOTIFY = 59 HCI_EV_USER_PASSKEY_REQUEST = 52 +# HCI_EXTERNAL_CONFIG is not set HCI_OP_ADD_SCO = 1031 HCI_OP_AUTH_REQUESTED = 1041 HCI_OP_CREATE_CONN = 1029 @@ -145,4 +150,10 @@ HCI_OP_WRITE_AUTH_PAYLOAD_TO = 3196 HCI_OP_WRITE_LINK_POLICY = 2061 HCI_OP_WRITE_REMOTE_AMP_ASSOC = 5131 HCI_OP_WRITE_SYNC_TRAIN_PARAMS = 3192 +HCI_PRIMARY = 0 +# HCI_RAW_DEVICE is not set +HCI_SCODATA_PKT = 3 +HCI_VENDOR_PKT = 255 SCO_LINK = 0 +__NR_openat = 322 +__NR_write = 4 diff --git a/sys/linux/dev_vhci_arm64.const b/sys/linux/dev_vhci_arm64.const index 91a248fd9..6879fd1bc 100644 --- a/sys/linux/dev_vhci_arm64.const +++ b/sys/linux/dev_vhci_arm64.const @@ -2,7 +2,11 @@ ACL_LINK = 1 ADDR_LE_DEV_PUBLIC = 0 ADDR_LE_DEV_RANDOM = 1 +AT_FDCWD = 18446744073709551516 ESCO_LINK = 2 +HCI_ACLDATA_PKT = 2 +HCI_AMP = 1 +HCI_EVENT_PKT = 4 HCI_EVT_LE_CIS_ESTABLISHED = 25 HCI_EVT_LE_CIS_REQ = 26 HCI_EV_AUTH_COMPLETE = 6 @@ -67,6 +71,7 @@ HCI_EV_SYNC_TRAIN_COMPLETE = 79 HCI_EV_USER_CONFIRM_REQUEST = 51 HCI_EV_USER_PASSKEY_NOTIFY = 59 HCI_EV_USER_PASSKEY_REQUEST = 52 +# HCI_EXTERNAL_CONFIG is not set HCI_OP_ADD_SCO = 1031 HCI_OP_AUTH_REQUESTED = 1041 HCI_OP_CREATE_CONN = 1029 @@ -145,4 +150,10 @@ HCI_OP_WRITE_AUTH_PAYLOAD_TO = 3196 HCI_OP_WRITE_LINK_POLICY = 2061 HCI_OP_WRITE_REMOTE_AMP_ASSOC = 5131 HCI_OP_WRITE_SYNC_TRAIN_PARAMS = 3192 +HCI_PRIMARY = 0 +# HCI_RAW_DEVICE is not set +HCI_SCODATA_PKT = 3 +HCI_VENDOR_PKT = 255 SCO_LINK = 0 +__NR_openat = 56 +__NR_write = 64 diff --git a/sys/linux/dev_vhci_mips64le.const b/sys/linux/dev_vhci_mips64le.const index 91a248fd9..867e532e6 100644 --- a/sys/linux/dev_vhci_mips64le.const +++ b/sys/linux/dev_vhci_mips64le.const @@ -2,7 +2,11 @@ ACL_LINK = 1 ADDR_LE_DEV_PUBLIC = 0 ADDR_LE_DEV_RANDOM = 1 +AT_FDCWD = 18446744073709551516 ESCO_LINK = 2 +HCI_ACLDATA_PKT = 2 +HCI_AMP = 1 +HCI_EVENT_PKT = 4 HCI_EVT_LE_CIS_ESTABLISHED = 25 HCI_EVT_LE_CIS_REQ = 26 HCI_EV_AUTH_COMPLETE = 6 @@ -67,6 +71,7 @@ HCI_EV_SYNC_TRAIN_COMPLETE = 79 HCI_EV_USER_CONFIRM_REQUEST = 51 HCI_EV_USER_PASSKEY_NOTIFY = 59 HCI_EV_USER_PASSKEY_REQUEST = 52 +# HCI_EXTERNAL_CONFIG is not set HCI_OP_ADD_SCO = 1031 HCI_OP_AUTH_REQUESTED = 1041 HCI_OP_CREATE_CONN = 1029 @@ -145,4 +150,10 @@ HCI_OP_WRITE_AUTH_PAYLOAD_TO = 3196 HCI_OP_WRITE_LINK_POLICY = 2061 HCI_OP_WRITE_REMOTE_AMP_ASSOC = 5131 HCI_OP_WRITE_SYNC_TRAIN_PARAMS = 3192 +HCI_PRIMARY = 0 +# HCI_RAW_DEVICE is not set +HCI_SCODATA_PKT = 3 +HCI_VENDOR_PKT = 255 SCO_LINK = 0 +__NR_openat = 5247 +__NR_write = 5001 diff --git a/sys/linux/dev_vhci_ppc64le.const b/sys/linux/dev_vhci_ppc64le.const index 91a248fd9..d85b1edaf 100644 --- a/sys/linux/dev_vhci_ppc64le.const +++ b/sys/linux/dev_vhci_ppc64le.const @@ -2,7 +2,11 @@ ACL_LINK = 1 ADDR_LE_DEV_PUBLIC = 0 ADDR_LE_DEV_RANDOM = 1 +AT_FDCWD = 18446744073709551516 ESCO_LINK = 2 +HCI_ACLDATA_PKT = 2 +HCI_AMP = 1 +HCI_EVENT_PKT = 4 HCI_EVT_LE_CIS_ESTABLISHED = 25 HCI_EVT_LE_CIS_REQ = 26 HCI_EV_AUTH_COMPLETE = 6 @@ -67,6 +71,7 @@ HCI_EV_SYNC_TRAIN_COMPLETE = 79 HCI_EV_USER_CONFIRM_REQUEST = 51 HCI_EV_USER_PASSKEY_NOTIFY = 59 HCI_EV_USER_PASSKEY_REQUEST = 52 +# HCI_EXTERNAL_CONFIG is not set HCI_OP_ADD_SCO = 1031 HCI_OP_AUTH_REQUESTED = 1041 HCI_OP_CREATE_CONN = 1029 @@ -145,4 +150,10 @@ HCI_OP_WRITE_AUTH_PAYLOAD_TO = 3196 HCI_OP_WRITE_LINK_POLICY = 2061 HCI_OP_WRITE_REMOTE_AMP_ASSOC = 5131 HCI_OP_WRITE_SYNC_TRAIN_PARAMS = 3192 +HCI_PRIMARY = 0 +# HCI_RAW_DEVICE is not set +HCI_SCODATA_PKT = 3 +HCI_VENDOR_PKT = 255 SCO_LINK = 0 +__NR_openat = 286 +__NR_write = 4 diff --git a/sys/linux/socket_bluetooth.txt b/sys/linux/socket_bluetooth.txt index f07fb47bf..b6abe700b 100644 --- a/sys/linux/socket_bluetooth.txt +++ b/sys/linux/socket_bluetooth.txt @@ -29,41 +29,6 @@ setsockopt$bt_hci_HCI_TIME_STAMP(fd sock_bt_hci, level const[0], opt const[HCI_T setsockopt$bt_hci_HCI_FILTER(fd sock_bt_hci, level const[0], opt const[HCI_FILTER], arg ptr[in, hci_ufilter], arglen len[arg]) getsockopt$bt_hci(fd sock, level const[0], opt flags[bt_hci_sockopt], arg buffer[out], arglen ptr[inout, len[arg, int32]]) -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 - define HCI_EXTERNAL_CONFIG 0x40 define HCI_RAW_DEVICE 0x80 diff --git a/sys/linux/socket_bluetooth_386.const b/sys/linux/socket_bluetooth_386.const index 0e4d4db0f..59c439b55 100644 --- a/sys/linux/socket_bluetooth_386.const +++ b/sys/linux/socket_bluetooth_386.const @@ -51,22 +51,16 @@ HCISETRAW = 1074022620 HCISETSCAN = 1074022621 HCISETSCOMTU = 1074022628 HCIUNBLOCKADDR = 1074022631 -HCI_ACLDATA_PKT = 2 -HCI_AMP = 1 HCI_CHANNEL_CONTROL = 3 HCI_CHANNEL_LOGGING = 4 HCI_CHANNEL_MONITOR = 2 HCI_CHANNEL_RAW = 0 HCI_CHANNEL_USER = 1 HCI_DATA_DIR = 1 -HCI_EVENT_PKT = 4 HCI_EXTERNAL_CONFIG = 64 HCI_FILTER = 2 -HCI_PRIMARY = 0 HCI_RAW_DEVICE = 128 -HCI_SCODATA_PKT = 3 HCI_TIME_STAMP = 3 -HCI_VENDOR_PKT = 255 HIDPCONNADD = 1074022600 HIDPCONNDEL = 1074022601 HIDPGETCONNINFO = 2147764435 diff --git a/sys/linux/socket_bluetooth_amd64.const b/sys/linux/socket_bluetooth_amd64.const index 1f508782c..e0e48004f 100644 --- a/sys/linux/socket_bluetooth_amd64.const +++ b/sys/linux/socket_bluetooth_amd64.const @@ -51,22 +51,16 @@ HCISETRAW = 1074022620 HCISETSCAN = 1074022621 HCISETSCOMTU = 1074022628 HCIUNBLOCKADDR = 1074022631 -HCI_ACLDATA_PKT = 2 -HCI_AMP = 1 HCI_CHANNEL_CONTROL = 3 HCI_CHANNEL_LOGGING = 4 HCI_CHANNEL_MONITOR = 2 HCI_CHANNEL_RAW = 0 HCI_CHANNEL_USER = 1 HCI_DATA_DIR = 1 -HCI_EVENT_PKT = 4 HCI_EXTERNAL_CONFIG = 64 HCI_FILTER = 2 -HCI_PRIMARY = 0 HCI_RAW_DEVICE = 128 -HCI_SCODATA_PKT = 3 HCI_TIME_STAMP = 3 -HCI_VENDOR_PKT = 255 HIDPCONNADD = 1074022600 HIDPCONNDEL = 1074022601 HIDPGETCONNINFO = 2147764435 diff --git a/sys/linux/socket_bluetooth_arm.const b/sys/linux/socket_bluetooth_arm.const index c3ef1f512..fd9a3dc7d 100644 --- a/sys/linux/socket_bluetooth_arm.const +++ b/sys/linux/socket_bluetooth_arm.const @@ -51,22 +51,16 @@ HCISETRAW = 1074022620 HCISETSCAN = 1074022621 HCISETSCOMTU = 1074022628 HCIUNBLOCKADDR = 1074022631 -HCI_ACLDATA_PKT = 2 -HCI_AMP = 1 HCI_CHANNEL_CONTROL = 3 HCI_CHANNEL_LOGGING = 4 HCI_CHANNEL_MONITOR = 2 HCI_CHANNEL_RAW = 0 HCI_CHANNEL_USER = 1 HCI_DATA_DIR = 1 -HCI_EVENT_PKT = 4 HCI_EXTERNAL_CONFIG = 64 HCI_FILTER = 2 -HCI_PRIMARY = 0 HCI_RAW_DEVICE = 128 -HCI_SCODATA_PKT = 3 HCI_TIME_STAMP = 3 -HCI_VENDOR_PKT = 255 HIDPCONNADD = 1074022600 HIDPCONNDEL = 1074022601 HIDPGETCONNINFO = 2147764435 diff --git a/sys/linux/socket_bluetooth_arm64.const b/sys/linux/socket_bluetooth_arm64.const index d786a7f15..370b267bb 100644 --- a/sys/linux/socket_bluetooth_arm64.const +++ b/sys/linux/socket_bluetooth_arm64.const @@ -51,22 +51,16 @@ HCISETRAW = 1074022620 HCISETSCAN = 1074022621 HCISETSCOMTU = 1074022628 HCIUNBLOCKADDR = 1074022631 -HCI_ACLDATA_PKT = 2 -HCI_AMP = 1 HCI_CHANNEL_CONTROL = 3 HCI_CHANNEL_LOGGING = 4 HCI_CHANNEL_MONITOR = 2 HCI_CHANNEL_RAW = 0 HCI_CHANNEL_USER = 1 HCI_DATA_DIR = 1 -HCI_EVENT_PKT = 4 HCI_EXTERNAL_CONFIG = 64 HCI_FILTER = 2 -HCI_PRIMARY = 0 HCI_RAW_DEVICE = 128 -HCI_SCODATA_PKT = 3 HCI_TIME_STAMP = 3 -HCI_VENDOR_PKT = 255 HIDPCONNADD = 1074022600 HIDPCONNDEL = 1074022601 HIDPGETCONNINFO = 2147764435 diff --git a/sys/linux/socket_bluetooth_mips64le.const b/sys/linux/socket_bluetooth_mips64le.const index 2fc4a093f..f260730eb 100644 --- a/sys/linux/socket_bluetooth_mips64le.const +++ b/sys/linux/socket_bluetooth_mips64le.const @@ -51,22 +51,16 @@ HCISETRAW = 2147764444 HCISETSCAN = 2147764445 HCISETSCOMTU = 2147764452 HCIUNBLOCKADDR = 2147764455 -HCI_ACLDATA_PKT = 2 -HCI_AMP = 1 HCI_CHANNEL_CONTROL = 3 HCI_CHANNEL_LOGGING = 4 HCI_CHANNEL_MONITOR = 2 HCI_CHANNEL_RAW = 0 HCI_CHANNEL_USER = 1 HCI_DATA_DIR = 1 -HCI_EVENT_PKT = 4 HCI_EXTERNAL_CONFIG = 64 HCI_FILTER = 2 -HCI_PRIMARY = 0 HCI_RAW_DEVICE = 128 -HCI_SCODATA_PKT = 3 HCI_TIME_STAMP = 3 -HCI_VENDOR_PKT = 255 HIDPCONNADD = 2147764424 HIDPCONNDEL = 2147764425 HIDPGETCONNINFO = 1074022611 diff --git a/sys/linux/socket_bluetooth_ppc64le.const b/sys/linux/socket_bluetooth_ppc64le.const index efb73fdc0..a65d547b4 100644 --- a/sys/linux/socket_bluetooth_ppc64le.const +++ b/sys/linux/socket_bluetooth_ppc64le.const @@ -51,22 +51,16 @@ HCISETRAW = 2147764444 HCISETSCAN = 2147764445 HCISETSCOMTU = 2147764452 HCIUNBLOCKADDR = 2147764455 -HCI_ACLDATA_PKT = 2 -HCI_AMP = 1 HCI_CHANNEL_CONTROL = 3 HCI_CHANNEL_LOGGING = 4 HCI_CHANNEL_MONITOR = 2 HCI_CHANNEL_RAW = 0 HCI_CHANNEL_USER = 1 HCI_DATA_DIR = 1 -HCI_EVENT_PKT = 4 HCI_EXTERNAL_CONFIG = 64 HCI_FILTER = 2 -HCI_PRIMARY = 0 HCI_RAW_DEVICE = 128 -HCI_SCODATA_PKT = 3 HCI_TIME_STAMP = 3 -HCI_VENDOR_PKT = 255 HIDPCONNADD = 2147764424 HIDPCONNDEL = 2147764425 HIDPGETCONNINFO = 1074022611 -- cgit mrf-deployment