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