]> git.sur5r.net Git - freertos/blob - FreeRTOS-Labs/Source/FreeRTOS-IoT-Libraries/c_sdk/standard/common/include/iot_init.h
Add the Labs projects provided in the V10.2.1_191129 zip file.
[freertos] / FreeRTOS-Labs / Source / FreeRTOS-IoT-Libraries / c_sdk / standard / common / include / iot_init.h
1 /*\r
2  * IoT Common V1.1.0\r
3  * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
4  *\r
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
6  * this software and associated documentation files (the "Software"), to deal in\r
7  * the Software without restriction, including without limitation the rights to\r
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
9  * the Software, and to permit persons to whom the Software is furnished to do so,\r
10  * subject to the following conditions:\r
11  *\r
12  * The above copyright notice and this permission notice shall be included in all\r
13  * copies or substantial portions of the Software.\r
14  *\r
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
21  */\r
22 \r
23 /**\r
24  * @file iot_init.h\r
25  * @brief Provides function signatures for common initialization and cleanup of\r
26  * this SDK.\r
27  */\r
28 \r
29 #ifndef IOT_INIT_H_\r
30 #define IOT_INIT_H_\r
31 \r
32 /* The config header is always included first. */\r
33 #include "iot_config.h"\r
34 \r
35 /* Standard includes. */\r
36 #include <stdbool.h>\r
37 \r
38 /**\r
39  * @brief One-time initialization function for this SDK.\r
40  *\r
41  * This function initializes common libraries, such as static memory and task\r
42  * pool. <b>It must be called once (and only once) before calling any other\r
43  * function in this SDK.</b> Calling this function more than once without first\r
44  * calling `IotSdk_Cleanup` may result in a crash.\r
45  *\r
46  * @return `true` if initialization succeeded; `false` otherwise. Logs may be\r
47  * printed in case of failure.\r
48  *\r
49  * @warning No thread-safety guarantees are provided for this function.\r
50  */\r
51 bool IotSdk_Init( void );\r
52 \r
53 /**\r
54  * @brief One-time deinitialization function for all common libraries.\r
55  *\r
56  * This function frees resources taken in `IotSdk_Init`. No other function\r
57  * in this SDK may be called after calling this function unless `IotSdk_Init`\r
58  * is called again.\r
59  *\r
60  * @warning No thread-safety guarantees are provided for this function.\r
61  */\r
62 void IotSdk_Cleanup( void );\r
63 \r
64 #endif /* IOT_INIT_H_ */\r