Ignore packaging and Netbeans launcher
[apps/agl-service-unicens.git] / ucs2-lib / inc / ucs_smm_pb.h
1 /*------------------------------------------------------------------------------------------------*/
2 /* UNICENS V2.1.0-3491                                                                            */
3 /* Copyright (c) 2017 Microchip Technology Germany II GmbH & Co. KG.                              */
4 /*                                                                                                */
5 /* This program is free software: you can redistribute it and/or modify                           */
6 /* it under the terms of the GNU General Public License as published by                           */
7 /* the Free Software Foundation, either version 2 of the License, or                              */
8 /* (at your option) any later version.                                                            */
9 /*                                                                                                */
10 /* This program is distributed in the hope that it will be useful,                                */
11 /* but WITHOUT ANY WARRANTY; without even the implied warranty of                                 */
12 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                  */
13 /* GNU General Public License for more details.                                                   */
14 /*                                                                                                */
15 /* You should have received a copy of the GNU General Public License                              */
16 /* along with this program.  If not, see <http://www.gnu.org/licenses/>.                          */
17 /*                                                                                                */
18 /* You may also obtain this software under a propriety license from Microchip.                    */
19 /* Please contact Microchip for further information.                                              */
20 /*------------------------------------------------------------------------------------------------*/
21
22 /*!
23  * \file
24  * \brief      Header file of the static memory manager plug-in.
25  * \addtogroup G_UCS_AMS
26  * @{
27  */
28
29 #ifndef UCS_SMM_API_H
30 #define UCS_SMM_API_H
31
32 /*------------------------------------------------------------------------------------------------*/
33 /* Includes                                                                                       */
34 /*------------------------------------------------------------------------------------------------*/
35 #include "ucs_rules.h"
36
37 #ifdef __cplusplus
38 extern "C"
39 {
40 #endif
41
42 /*------------------------------------------------------------------------------------------------*/
43 /* Default configuration                                                                          */
44 /*------------------------------------------------------------------------------------------------*/
45 /*! \def     UCS_AMS_NUM_RX_MSGS
46  *  \brief   Defines the number of reserved Rx message objects. 
47  *           Valid values: 5..255. Default value: 20.
48  */
49 #ifndef UCS_AMS_NUM_RX_MSGS
50 #   define UCS_AMS_NUM_RX_MSGS  20
51 #else
52 #  if (UCS_AMS_NUM_RX_MSGS < 5) || (UCS_AMS_NUM_RX_MSGS > 255)
53 #    error "UCS_AMS_NUM_RX_MSGS is not properly defined. Choose a value between: 10 and 255."
54 #  endif
55 #endif
56
57 /*! \def     UCS_AMS_SIZE_RX_MSG
58  *  \brief   Defines the payload size in bytes which is available for every Rx message object.
59  *           Valid values: 45..65535. Default value: 45.
60  */
61 #ifndef UCS_AMS_SIZE_RX_MSG
62 #   define UCS_AMS_SIZE_RX_MSG 45
63 #else
64 #  if (UCS_AMS_SIZE_RX_MSG >= 45) && (UCS_AMS_SIZE_RX_MSG <= 65535)
65 #    if defined(SMM_FOOTPRINT_TINY) && (UCS_AMS_SIZE_RX_MSG != 45)
66 #      error Do not define UCS_AMS_SIZE_RX_MSG together with SMM_FOOTPRINT_TINY.
67 #    endif
68 #  else
69 #    error UCS_AMS_SIZE_RX_MSG is not properly defined. Choose a value between: 45 and 65535.
70 #  endif
71 #endif
72
73 /*! \def     UCS_AMS_NUM_TX_MSGS
74  *  \brief   Defines the number of reserved Tx message objects.
75  *           Valid values: 5..255. Default value: 20.
76  */
77 #ifndef UCS_AMS_NUM_TX_MSGS
78 #   define UCS_AMS_NUM_TX_MSGS  20
79 #else
80 #  if (UCS_AMS_NUM_TX_MSGS < 5) || (UCS_AMS_NUM_TX_MSGS > 255)
81 #    error "UCS_AMS_NUM_TX_MSGS is not properly defined. Choose a value between: 10 and 255."
82 #  endif
83 #endif
84
85 /*! \def     UCS_AMS_SIZE_TX_MSG
86  *  \brief   Defines the payload size in bytes which is available for every Tx message object.
87  *           Valid values: 45..65535. Default value: 45.
88  */
89 #ifndef UCS_AMS_SIZE_TX_MSG
90 #   define UCS_AMS_SIZE_TX_MSG 45
91 #else
92 #  if (UCS_AMS_SIZE_TX_MSG >= 45) && (UCS_AMS_SIZE_TX_MSG <= 65535)
93 #    if defined(SMM_FOOTPRINT_TINY) && (UCS_AMS_SIZE_TX_MSG != 45)
94 #      error "Do not define UCS_AMS_SIZE_TX_MSG together with SMM_FOOTPRINT_TINY."
95 #    endif
96 #  else
97 #    error "UCS_AMS_SIZE_TX_MSG is not properly defined. Choose a value between: 45 and 65535."
98 #  endif
99 #endif
100
101 #ifdef __cplusplus
102 }   /* extern "C" */
103 #endif
104
105 #endif  /* #ifndef UCS_SMM_API_H */
106
107 /*!
108  * @}
109  */
110
111 /*------------------------------------------------------------------------------------------------*/
112 /* End of file                                                                                    */
113 /*------------------------------------------------------------------------------------------------*/
114