Mistake on this page?
Report an issue in GitHub or email us
cfg_stack.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief Stack configuration.
6  *
7  * Copyright (c) 2009-2018 Arm Ltd. All Rights Reserved.
8  *
9  * Copyright (c) 2019-2020 Packetcraft, Inc.
10  *
11  * Licensed under the Apache License, Version 2.0 (the "License");
12  * you may not use this file except in compliance with the License.
13  * You may obtain a copy of the License at
14  *
15  * http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  */
23 /*************************************************************************************************/
24 #ifndef CFG_STACK_H
25 #define CFG_STACK_H
26 
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 /*! \addtogroup STACK_INIT
33  * \{ */
34 
35 /**************************************************************************************************
36  STACK VERSION
37 **************************************************************************************************/
38 
39 /*! \brief Stack release version label */
40 #define STACK_VERSION ((const char *)"Packetcraft Host v5.2\n")
41 /*! \brief Stack release version number */
42 #define STACK_VER_NUM 1366
43 
44 /**************************************************************************************************
45  HCI
46 **************************************************************************************************/
47 
48 /** \name HCI Vendor Specific targets
49  *
50  */
51 /**@{*/
52 #define HCI_VS_GENERIC 0
53 #define HCI_VS_EMM 1
54 
55 /*! \brief Vendor specific target configuration */
56 #ifndef HCI_VS_TARGET
57 #define HCI_VS_TARGET HCI_VS_GENERIC
58 #endif
59 /**@}*/
60 
61 /** \name HCI Tx Data Tailroom
62  * Extra byte allocation required for LL operations (i.e. MIC) in single-chip implementation
63  */
64 /**@{*/
65 #ifndef HCI_TX_DATA_TAILROOM
66 /*! \brief Tx data tailroom. */
67 #define HCI_TX_DATA_TAILROOM 0
68 #endif
69 /**@}*/
70 
71 /**************************************************************************************************
72  DM
73 **************************************************************************************************/
74 
75 /** \name DM Configuration
76  * DM build-time configuration parameters
77  */
78 /**@{*/
79 /*! \brief Maximum number of connections */
80 #ifndef DM_CONN_MAX
81 #define DM_CONN_MAX 3
82 #endif
83 
84 /*! \brief Maximum number of periodic advertising synchronizations */
85 #ifndef DM_SYNC_MAX
86 #define DM_SYNC_MAX 3
87 #endif
88 
89 /*! \brief Number of supported advertising sets: must be set to 1 for legacy advertising */
90 #ifndef DM_NUM_ADV_SETS
91 #define DM_NUM_ADV_SETS 1
92 #endif
93 
94 /*! \brief Number of scanner and initiator PHYs (LE 1M, LE 2M and LE Coded): must be set to 1 for
95  legacy scanner and initiator */
96 #ifndef DM_NUM_PHYS
97 #define DM_NUM_PHYS 1
98 #endif
99 
100 /*! \brief Maximum number of connected isochronous groups */
101 #ifndef DM_CIG_MAX
102 #define DM_CIG_MAX 2
103 #endif
104 
105 /*! \brief Maximum number of connected isochronous streams, it is shared by CIGs */
106 #ifndef DM_CIS_MAX
107 #define DM_CIS_MAX 6
108 #endif
109 
110 /*! \brief Maximum number of broadcast isochronous groups */
111 #ifndef DM_BIG_MAX
112 #define DM_BIG_MAX 2
113 #endif
114 
115 /*! \brief Maximum number of broadcast isochronous streams, it is shared by BIGs */
116 #ifndef DM_BIS_MAX
117 #define DM_BIS_MAX 6
118 #endif
119 
120 /*! \brief Maximum number of isochronous data paths, it is shared by CISes and BISes */
121 #define DM_ISO_DATA_PATH_MAX (DM_CIS_MAX + DM_BIS_MAX)
122 
123 /**@}*/
124 
125 /**************************************************************************************************
126  L2C
127 **************************************************************************************************/
128 
129 /** \name L2CAP Configuration
130  * L2CAP build-time configuration parameters
131  */
132 /**@{*/
133 /*! \brief Maximum number of connection oriented channels */
134 #ifndef L2C_COC_CHAN_MAX
135 #define L2C_COC_CHAN_MAX 8
136 #endif
137 
138 /*! \brief Maximum number of connection oriented channel registered clients */
139 #ifndef L2C_COC_REG_MAX
140 #define L2C_COC_REG_MAX 4
141 #endif
142 /**@}*/
143 
144 /**************************************************************************************************
145  ATT
146 **************************************************************************************************/
147 
148 /** \name ATT Configuration
149  * ATT build-time configuration parameters
150  */
151 /**@{*/
152 /*! \brief Maximum number of simultaneous ATT write commands */
153 #ifndef ATT_NUM_SIMUL_WRITE_CMD
154 #define ATT_NUM_SIMUL_WRITE_CMD 1
155 #endif
156 
157 /*! \brief Maximum number of simultaneous ATT notifications */
158 #ifndef ATT_NUM_SIMUL_NTF
159 #define ATT_NUM_SIMUL_NTF 1
160 #endif
161 
162 /* Maximum number of EATT channels per DM connection */
163 #ifndef EATT_CONN_CHAN_MAX
164 #define EATT_CONN_CHAN_MAX 2
165 #endif
166 
167 /**@}*/
168 
169 /**************************************************************************************************
170  SMP
171 **************************************************************************************************/
172 
173 /** \name SMP Configuration
174  * SMP build-time configuration parameters
175  */
176 /**@{*/
177 /*! Max number of devices in the database */
178 #ifndef SMP_DB_MAX_DEVICES
179 #define SMP_DB_MAX_DEVICES 3
180 #endif
181 /**@}*/
182 
183 /*************************************************************************************************/
184 /*!
185 * \brief Get Stack version number.
186 *
187 * \param pVersion output parameter for version number.
188 *
189 * \return None.
190 */
191 /*************************************************************************************************/
192 void StackGetVersionNumber(const char **pVersion);
193 
194 /*! \} */ /* STACK_INIT */
195 
196 #ifdef __cplusplus
197 };
198 #endif
199 
200 #endif /* CFG_STACK_H */
void StackGetVersionNumber(const char **pVersion)
Get Stack version number.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.