• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2023 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15[$default byte_order: "LittleEndian"]
16[(cpp) namespace: "pw::bluetooth::emboss"]
17# This file contins Emboss definitions for the logical link control and
18# adaptation protocol (l2cap) frames found in the Bluetooth core specification.
19# The Emboss compiler is used to generate a C++ header from this file.
20
21# ========================= Data Packet Format =================================
22# Core Spec v5.4 Vol 3, Part A, Section 3
23#
24# ========== 3.4 Credit-Based Flow Control Frames ==========
25
26
27struct KFrameSduHeader:
28  -- 3.4.2
29  -- A frame header for a K-Frame (credit based flow control) SDU.
30  0 [+2]  UInt  sdu_length
31
32
33struct KFramePduHeader:
34  -- 3.4.1
35  -- A frame header for a K-Frame (credit based flow control) PDU.
36  0     [+2]  UInt  pdu_length
37  $next [+2]  UInt  channel_id
38