aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/l2cap.txt
diff options
context:
space:
mode:
authorTheOfficialFloW <theflow@google.com>2020-06-11 08:59:37 -0700
committerGitHub <noreply@github.com>2020-06-11 17:59:37 +0200
commit1beaee21715b99daf89bf229213dd3ddabba6683 (patch)
treecff70d0ee290c54ebf4d4f7cf8e1d7837673f39d /sys/linux/l2cap.txt
parentdfdd11f7777557e4540f3319ff8b5f8ddf82bf19 (diff)
sys/linux: add l2cap descriptions
* sys/linux: add l2cap descriptions * sys/linux: restore bpf and fscrypt changes * sys/linux: restore key.txt
Diffstat (limited to 'sys/linux/l2cap.txt')
-rw-r--r--sys/linux/l2cap.txt219
1 files changed, 219 insertions, 0 deletions
diff --git a/sys/linux/l2cap.txt b/sys/linux/l2cap.txt
new file mode 100644
index 000000000..6a400ec01
--- /dev/null
+++ b/sys/linux/l2cap.txt
@@ -0,0 +1,219 @@
+# Copyright 2020 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+include <net/bluetooth/bluetooth.h>
+include <net/bluetooth/hci_sock.h>
+include <net/bluetooth/l2cap.h>
+
+l2cap_hdr_un [
+ l2cap_cid_signaling l2cap_hdr_t[L2CAP_CID_SIGNALING, array[l2cap_cid_signaling_un]]
+ l2cap_cid_le_signaling l2cap_hdr_t[L2CAP_CID_LE_SIGNALING, array[l2cap_cid_le_signaling_un]]
+] [varlen]
+
+l2cap_cid_signaling_un [
+ l2cap_cmd_rej_unk l2cap_cmd_hdr_t[L2CAP_COMMAND_REJ, l2cap_cmd_rej_unk]
+ l2cap_conn_req l2cap_cmd_hdr_t[L2CAP_CONN_REQ, l2cap_conn_req]
+ l2cap_conn_rsp l2cap_cmd_hdr_t[L2CAP_CONN_RSP, l2cap_conn_rsp]
+ l2cap_conf_req l2cap_cmd_hdr_t[L2CAP_CONF_REQ, l2cap_conf_req]
+ l2cap_conf_rsp l2cap_cmd_hdr_t[L2CAP_CONF_RSP, l2cap_conf_rsp]
+ l2cap_create_chan_req l2cap_cmd_hdr_t[L2CAP_CREATE_CHAN_REQ, l2cap_create_chan_req]
+ l2cap_create_chan_rsp l2cap_cmd_hdr_t[L2CAP_CREATE_CHAN_RSP, l2cap_create_chan_rsp]
+ l2cap_disconn_req l2cap_cmd_hdr_t[L2CAP_DISCONN_REQ, l2cap_disconn_req]
+ l2cap_disconn_rsp l2cap_cmd_hdr_t[L2CAP_DISCONN_RSP, l2cap_disconn_rsp]
+ l2cap_info_req l2cap_cmd_hdr_t[L2CAP_INFO_REQ, l2cap_info_req]
+ l2cap_info_rsp l2cap_cmd_hdr_t[L2CAP_INFO_RSP, l2cap_info_rsp]
+ l2cap_move_chan_cfm l2cap_cmd_hdr_t[L2CAP_MOVE_CHAN_CFM, l2cap_move_chan_cfm]
+ l2cap_move_chan_cfm_rsp l2cap_cmd_hdr_t[L2CAP_MOVE_CHAN_CFM_RSP, l2cap_move_chan_cfm_rsp]
+ l2cap_move_chan_req l2cap_cmd_hdr_t[L2CAP_MOVE_CHAN_REQ, l2cap_move_chan_req]
+ l2cap_move_chan_rsp l2cap_cmd_hdr_t[L2CAP_MOVE_CHAN_RSP, l2cap_move_chan_rsp]
+] [varlen]
+
+l2cap_cid_le_signaling_un [
+ l2cap_cmd_rej_unk l2cap_cmd_hdr_t[L2CAP_COMMAND_REJ, l2cap_cmd_rej_unk]
+ l2cap_conn_param_update_req l2cap_cmd_hdr_t[L2CAP_CONN_PARAM_UPDATE_REQ, l2cap_conn_param_update_req]
+ l2cap_conn_param_update_rsp l2cap_cmd_hdr_t[L2CAP_CONN_PARAM_UPDATE_RSP, l2cap_conn_param_update_rsp]
+ l2cap_disconn_req l2cap_cmd_hdr_t[L2CAP_DISCONN_REQ, l2cap_disconn_req]
+ l2cap_disconn_rsp l2cap_cmd_hdr_t[L2CAP_DISCONN_RSP, l2cap_disconn_rsp]
+ l2cap_ecred_conn_req l2cap_cmd_hdr_t[L2CAP_ECRED_CONN_REQ, l2cap_ecred_conn_req]
+ l2cap_ecred_conn_rsp l2cap_cmd_hdr_t[L2CAP_ECRED_CONN_RSP, l2cap_ecred_conn_rsp]
+ l2cap_ecred_reconf_req l2cap_cmd_hdr_t[L2CAP_ECRED_RECONF_REQ, l2cap_ecred_reconf_req]
+ l2cap_ecred_reconf_rsp l2cap_cmd_hdr_t[L2CAP_ECRED_RECONF_RSP, l2cap_ecred_reconf_rsp]
+ l2cap_le_conn_req l2cap_cmd_hdr_t[L2CAP_LE_CONN_REQ, l2cap_le_conn_req]
+ l2cap_le_conn_rsp l2cap_cmd_hdr_t[L2CAP_LE_CONN_RSP, l2cap_le_conn_rsp]
+ l2cap_le_credits l2cap_cmd_hdr_t[L2CAP_LE_CREDITS, l2cap_le_credits]
+] [varlen]
+
+type l2cap_hdr_t[CID, PAYLOAD] {
+ hdr l2cap_hdr[CID]
+ payload PAYLOAD
+} [packed]
+
+type l2cap_hdr[CID] {
+ len bytesize[l2cap_hdr_t:payload, int16]
+ cid const[CID, int16]
+} [packed]
+
+type l2cap_cmd_hdr_t[CODE, PAYLOAD] {
+ hdr l2cap_cmd_hdr[CODE]
+ payload PAYLOAD
+} [packed]
+
+type l2cap_cmd_hdr[CODE] {
+ code const[CODE, int8]
+ ident int8
+ len bytesize[l2cap_cmd_hdr_t:payload, int16]
+} [packed]
+
+l2cap_cmd_rej_unk {
+ reason int16
+} [packed]
+
+l2cap_conf_req {
+ dcid int16
+ flags int16
+ data array[int8]
+} [packed]
+
+l2cap_conf_rsp {
+ scid int16
+ flags int16
+ result int16
+ data array[int8]
+} [packed]
+
+l2cap_conn_param_update_req {
+ min int16
+ max int16
+ latency int16
+ to_multiplier int16
+} [packed]
+
+l2cap_conn_param_update_rsp {
+ result int16
+} [packed]
+
+l2cap_conn_req {
+ psm int16
+ scid int16
+} [packed]
+
+l2cap_conn_rsp {
+ dcid int16
+ scid int16
+ result int16
+ status int16
+} [packed]
+
+l2cap_conninfo {
+ hci_handle int16
+ dev_class array[int8, 3]
+} [packed]
+
+l2cap_create_chan_req {
+ psm int16
+ scid int16
+ amp_id int8
+} [packed]
+
+l2cap_create_chan_rsp {
+ dcid int16
+ scid int16
+ result int16
+ status int16
+} [packed]
+
+l2cap_disconn_req {
+ dcid int16
+ scid int16
+} [packed]
+
+l2cap_disconn_rsp {
+ dcid int16
+ scid int16
+} [packed]
+
+l2cap_ecred_conn_req {
+ psm int16
+ mtu int16
+ mps int16
+ credits int16
+ scid array[int16]
+} [packed]
+
+l2cap_ecred_conn_rsp {
+ mtu int16
+ mps int16
+ credits int16
+ result int16
+ dcid array[int16]
+} [packed]
+
+l2cap_ecred_reconf_req {
+ mtu int16
+ mps int16
+ scid array[int16]
+} [packed]
+
+l2cap_ecred_reconf_rsp {
+ result int16
+} [packed]
+
+l2cap_info_req {
+ type int16
+} [packed]
+
+l2cap_info_rsp {
+ type int16
+ result int16
+ data array[int8]
+} [packed]
+
+l2cap_le_conn_req {
+ psm int16
+ scid int16
+ mtu int16
+ mps int16
+ credits int16
+} [packed]
+
+l2cap_le_conn_rsp {
+ dcid int16
+ mtu int16
+ mps int16
+ credits int16
+ result int16
+} [packed]
+
+l2cap_le_credits {
+ cid int16
+ credits int16
+} [packed]
+
+l2cap_move_chan_cfm {
+ icid int16
+ result int16
+} [packed]
+
+l2cap_move_chan_cfm_rsp {
+ icid int16
+} [packed]
+
+l2cap_move_chan_req {
+ icid int16
+ dest_amp_id int8
+} [packed]
+
+l2cap_move_chan_rsp {
+ icid int16
+ result int16
+} [packed]
+
+l2cap_options {
+ omtu int16
+ imtu int16
+ flush_to int16
+ mode int8
+ fcs int8
+ max_tx int8
+ txwin_size int16
+} [packed]