The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 171:3a7713b1edbc 1 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 2 /*!
AnnaBridge 171:3a7713b1edbc 3 * \file l2c_defs.h
AnnaBridge 171:3a7713b1edbc 4 *
AnnaBridge 171:3a7713b1edbc 5 * \brief L2CAP constants and definitions from the Bluetooth specification.
AnnaBridge 171:3a7713b1edbc 6 *
AnnaBridge 171:3a7713b1edbc 7 * $Date: 2015-06-12 04:19:18 -0700 (Fri, 12 Jun 2015) $
AnnaBridge 171:3a7713b1edbc 8 * $Revision: 3061 $
AnnaBridge 171:3a7713b1edbc 9 *
AnnaBridge 171:3a7713b1edbc 10 * Copyright (c) 2009 Wicentric, Inc., all rights reserved.
AnnaBridge 171:3a7713b1edbc 11 * Wicentric confidential and proprietary.
AnnaBridge 171:3a7713b1edbc 12 *
AnnaBridge 171:3a7713b1edbc 13 * IMPORTANT. Your use of this file is governed by a Software License Agreement
AnnaBridge 171:3a7713b1edbc 14 * ("Agreement") that must be accepted in order to download or otherwise receive a
AnnaBridge 171:3a7713b1edbc 15 * copy of this file. You may not use or copy this file for any purpose other than
AnnaBridge 171:3a7713b1edbc 16 * as described in the Agreement. If you do not agree to all of the terms of the
AnnaBridge 171:3a7713b1edbc 17 * Agreement do not use this file and delete all copies in your possession or control;
AnnaBridge 171:3a7713b1edbc 18 * if you do not have a copy of the Agreement, you must contact Wicentric, Inc. prior
AnnaBridge 171:3a7713b1edbc 19 * to any use, copying or further distribution of this software.
AnnaBridge 171:3a7713b1edbc 20 */
AnnaBridge 171:3a7713b1edbc 21 /*************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 22 #ifndef L2C_DEFS_H
AnnaBridge 171:3a7713b1edbc 23 #define L2C_DEFS_H
AnnaBridge 171:3a7713b1edbc 24
AnnaBridge 171:3a7713b1edbc 25 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 26 extern "C" {
AnnaBridge 171:3a7713b1edbc 27 #endif
AnnaBridge 171:3a7713b1edbc 28
AnnaBridge 171:3a7713b1edbc 29 /**************************************************************************************************
AnnaBridge 171:3a7713b1edbc 30 Macros
AnnaBridge 171:3a7713b1edbc 31 **************************************************************************************************/
AnnaBridge 171:3a7713b1edbc 32
AnnaBridge 171:3a7713b1edbc 33 /*! Packet definitions */
AnnaBridge 171:3a7713b1edbc 34 #define L2C_HDR_LEN 4 /*! L2CAP packet header length */
AnnaBridge 171:3a7713b1edbc 35 #define L2C_MIN_MTU 23 /*! Minimum packet payload MTU for LE */
AnnaBridge 171:3a7713b1edbc 36 #define L2C_SIG_HDR_LEN 4 /*! L2CAP signaling command header length */
AnnaBridge 171:3a7713b1edbc 37 #define L2C_LE_SDU_HDR_LEN 2 /*! L2CAP LE SDU data header length */
AnnaBridge 171:3a7713b1edbc 38
AnnaBridge 171:3a7713b1edbc 39 /*! Start of L2CAP payload in an HCI ACL packet buffer */
AnnaBridge 171:3a7713b1edbc 40 #define L2C_PAYLOAD_START (HCI_ACL_HDR_LEN + L2C_HDR_LEN)
AnnaBridge 171:3a7713b1edbc 41
AnnaBridge 171:3a7713b1edbc 42 /*! L2CAP signaling packet base length, including HCI header */
AnnaBridge 171:3a7713b1edbc 43 #define L2C_SIG_PKT_BASE_LEN (HCI_ACL_HDR_LEN + L2C_HDR_LEN + L2C_SIG_HDR_LEN)
AnnaBridge 171:3a7713b1edbc 44
AnnaBridge 171:3a7713b1edbc 45 /*! L2CAP LE SDU packet base length, including HCI header */
AnnaBridge 171:3a7713b1edbc 46 #define L2C_LE_SDU_PKT_BASE_LEN (HCI_ACL_HDR_LEN + L2C_HDR_LEN + L2C_LE_SDU_HDR_LEN)
AnnaBridge 171:3a7713b1edbc 47
AnnaBridge 171:3a7713b1edbc 48 /*! Signaling packet parameter lengths */
AnnaBridge 171:3a7713b1edbc 49 #define L2C_SIG_CONN_UPDATE_REQ_LEN 8
AnnaBridge 171:3a7713b1edbc 50 #define L2C_SIG_CONN_UPDATE_RSP_LEN 2
AnnaBridge 171:3a7713b1edbc 51 #define L2C_SIG_CMD_REJ_LEN 2
AnnaBridge 171:3a7713b1edbc 52 #define L2C_SIG_DISCONN_REQ_LEN 4
AnnaBridge 171:3a7713b1edbc 53 #define L2C_SIG_DISCONN_RSP_LEN 4
AnnaBridge 171:3a7713b1edbc 54 #define L2C_SIG_LE_CONN_REQ_LEN 10
AnnaBridge 171:3a7713b1edbc 55 #define L2C_SIG_LE_CONN_RSP_LEN 10
AnnaBridge 171:3a7713b1edbc 56 #define L2C_SIG_FLOW_CTRL_CREDIT_LEN 4
AnnaBridge 171:3a7713b1edbc 57
AnnaBridge 171:3a7713b1edbc 58 /*! Connection identifiers */
AnnaBridge 171:3a7713b1edbc 59 #define L2C_CID_ATT 0x0004 /*! CID for attribute protocol */
AnnaBridge 171:3a7713b1edbc 60 #define L2C_CID_LE_SIGNALING 0x0005 /*! CID for LE signaling */
AnnaBridge 171:3a7713b1edbc 61 #define L2C_CID_SMP 0x0006 /*! CID for security manager protocol */
AnnaBridge 171:3a7713b1edbc 62
AnnaBridge 171:3a7713b1edbc 63 /*! Signaling codes */
AnnaBridge 171:3a7713b1edbc 64 #define L2C_SIG_CMD_REJ 0x01 /*! Comand reject */
AnnaBridge 171:3a7713b1edbc 65 #define L2C_SIG_DISCONNECT_REQ 0x06 /*! Disconnect request */
AnnaBridge 171:3a7713b1edbc 66 #define L2C_SIG_DISCONNECT_RSP 0x07 /*! Disconnect response */
AnnaBridge 171:3a7713b1edbc 67 #define L2C_SIG_CONN_UPDATE_REQ 0x12 /*! Connection parameter update request */
AnnaBridge 171:3a7713b1edbc 68 #define L2C_SIG_CONN_UPDATE_RSP 0x13 /*! Connection parameter update response */
AnnaBridge 171:3a7713b1edbc 69 #define L2C_SIG_LE_CONNECT_REQ 0x14 /*! LE credit based connection request */
AnnaBridge 171:3a7713b1edbc 70 #define L2C_SIG_LE_CONNECT_RSP 0x15 /*! LE credit based connection response */
AnnaBridge 171:3a7713b1edbc 71 #define L2C_SIG_FLOW_CTRL_CREDIT 0x16 /*! LE flow control credit */
AnnaBridge 171:3a7713b1edbc 72
AnnaBridge 171:3a7713b1edbc 73 /*! Signaling response code flag */
AnnaBridge 171:3a7713b1edbc 74 #define L2C_SIG_RSP_FLAG 0x01
AnnaBridge 171:3a7713b1edbc 75
AnnaBridge 171:3a7713b1edbc 76 /*! Command reject reason codes */
AnnaBridge 171:3a7713b1edbc 77 #define L2C_REJ_NOT_UNDERSTOOD 0x0000 /*! Command not understood */
AnnaBridge 171:3a7713b1edbc 78 #define L2C_REJ_MTU_EXCEEDED 0x0001 /*! Signaling MTU exceeded */
AnnaBridge 171:3a7713b1edbc 79 #define L2C_REJ_INVALID_CID 0x0002 /*! Invalid CID in request */
AnnaBridge 171:3a7713b1edbc 80
AnnaBridge 171:3a7713b1edbc 81 /*! Connection parameter update result */
AnnaBridge 171:3a7713b1edbc 82 #define L2C_CONN_PARAM_ACCEPTED 0x0000 /*! Connection parameters accepted */
AnnaBridge 171:3a7713b1edbc 83 #define L2C_CONN_PARAM_REJECTED 0x0001 /*! Connection parameters rejected */
AnnaBridge 171:3a7713b1edbc 84
AnnaBridge 171:3a7713b1edbc 85 /*! LE connection result */
AnnaBridge 171:3a7713b1edbc 86 #define L2C_CONN_SUCCESS 0x0000 /*! Connection successful */
AnnaBridge 171:3a7713b1edbc 87 #define L2C_CONN_NONE 0x0001 /*! No connection result value available */
AnnaBridge 171:3a7713b1edbc 88 #define L2C_CONN_FAIL_PSM 0x0002 /*! Connection refused LE_PSM not supported */
AnnaBridge 171:3a7713b1edbc 89 #define L2C_CONN_FAIL_RES 0x0004 /*! Connection refused no resources available */
AnnaBridge 171:3a7713b1edbc 90 #define L2C_CONN_FAIL_AUTH 0x0005 /*! Connection refused insufficient authentication */
AnnaBridge 171:3a7713b1edbc 91 #define L2C_CONN_FAIL_AUTHORIZ 0x0006 /*! Connection refused insufficient authorization */
AnnaBridge 171:3a7713b1edbc 92 #define L2C_CONN_FAIL_KEY_SIZE 0x0007 /*! Connection refused insufficient encryption key size */
AnnaBridge 171:3a7713b1edbc 93 #define L2C_CONN_FAIL_ENC 0x0008 /*! Connection Refused insufficient encryption */
AnnaBridge 171:3a7713b1edbc 94
AnnaBridge 171:3a7713b1edbc 95 /*! LE connection result proprietary codes */
AnnaBridge 171:3a7713b1edbc 96 #define L2C_CONN_FAIL_TIMEOUT 0xF000 /*! Request timeout */
AnnaBridge 171:3a7713b1edbc 97
AnnaBridge 171:3a7713b1edbc 98 /*! Signaling parameter value ranges */
AnnaBridge 171:3a7713b1edbc 99 #define L2C_PSM_MIN 0x0001
AnnaBridge 171:3a7713b1edbc 100 #define L2C_PSM_MAX 0x00FF
AnnaBridge 171:3a7713b1edbc 101 #define L2C_CID_DYN_MIN 0x0040
AnnaBridge 171:3a7713b1edbc 102 #define L2C_CID_DYN_MAX 0x007F
AnnaBridge 171:3a7713b1edbc 103 #define L2C_MTU_MIN 0x0017
AnnaBridge 171:3a7713b1edbc 104 #define L2C_MPS_MIN 0x0017
AnnaBridge 171:3a7713b1edbc 105 #define L2C_MPS_MAX 0xFFFD
AnnaBridge 171:3a7713b1edbc 106 #define L2C_CREDITS_MAX 0xFFFF
AnnaBridge 171:3a7713b1edbc 107
AnnaBridge 171:3a7713b1edbc 108 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 109 };
AnnaBridge 171:3a7713b1edbc 110 #endif
AnnaBridge 171:3a7713b1edbc 111
AnnaBridge 171:3a7713b1edbc 112 #endif /* L2C_DEFS_H */