Azure IoT common library

Fork of azure_c_shared_utility by Azure IoT

Committer:
Azure.IoT Build
Date:
Fri Apr 08 12:01:36 2016 -0700
Revision:
0:fa2de1b79154
Child:
19:2e0811512ceb
1.0.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Azure.IoT Build 0:fa2de1b79154 1 // Copyright (c) Microsoft. All rights reserved.
Azure.IoT Build 0:fa2de1b79154 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
Azure.IoT Build 0:fa2de1b79154 3
Azure.IoT Build 0:fa2de1b79154 4 #include <stdlib.h>
Azure.IoT Build 0:fa2de1b79154 5 #ifdef _CRTDBG_MAP_ALLOC
Azure.IoT Build 0:fa2de1b79154 6 #include <crtdbg.h>
Azure.IoT Build 0:fa2de1b79154 7 #endif
Azure.IoT Build 0:fa2de1b79154 8 #include "azure_c_shared_utility/platform.h"
Azure.IoT Build 0:fa2de1b79154 9 #include "EthernetInterface.h"
Azure.IoT Build 0:fa2de1b79154 10 #include "NTPClient.h"
Azure.IoT Build 0:fa2de1b79154 11 #include "azure_c_shared_utility/xio.h"
Azure.IoT Build 0:fa2de1b79154 12 #include "azure_c_shared_utility/tlsio_wolfssl.h"
Azure.IoT Build 0:fa2de1b79154 13
Azure.IoT Build 0:fa2de1b79154 14 int setupRealTime(void)
Azure.IoT Build 0:fa2de1b79154 15 {
Azure.IoT Build 0:fa2de1b79154 16 int result;
Azure.IoT Build 0:fa2de1b79154 17
Azure.IoT Build 0:fa2de1b79154 18 if (EthernetInterface::connect())
Azure.IoT Build 0:fa2de1b79154 19 {
Azure.IoT Build 0:fa2de1b79154 20 result = __LINE__;
Azure.IoT Build 0:fa2de1b79154 21 }
Azure.IoT Build 0:fa2de1b79154 22 else
Azure.IoT Build 0:fa2de1b79154 23 {
Azure.IoT Build 0:fa2de1b79154 24 NTPClient ntp;
Azure.IoT Build 0:fa2de1b79154 25 if (ntp.setTime("0.pool.ntp.org") != 0)
Azure.IoT Build 0:fa2de1b79154 26 {
Azure.IoT Build 0:fa2de1b79154 27 result = __LINE__;
Azure.IoT Build 0:fa2de1b79154 28 }
Azure.IoT Build 0:fa2de1b79154 29 else
Azure.IoT Build 0:fa2de1b79154 30 {
Azure.IoT Build 0:fa2de1b79154 31 result = 0;
Azure.IoT Build 0:fa2de1b79154 32 }
Azure.IoT Build 0:fa2de1b79154 33 EthernetInterface::disconnect();
Azure.IoT Build 0:fa2de1b79154 34 }
Azure.IoT Build 0:fa2de1b79154 35
Azure.IoT Build 0:fa2de1b79154 36 return result;
Azure.IoT Build 0:fa2de1b79154 37 }
Azure.IoT Build 0:fa2de1b79154 38
Azure.IoT Build 0:fa2de1b79154 39 int platform_init(void)
Azure.IoT Build 0:fa2de1b79154 40 {
Azure.IoT Build 0:fa2de1b79154 41 int result;
Azure.IoT Build 0:fa2de1b79154 42
Azure.IoT Build 0:fa2de1b79154 43 if (EthernetInterface::init())
Azure.IoT Build 0:fa2de1b79154 44 {
Azure.IoT Build 0:fa2de1b79154 45 result = __LINE__;
Azure.IoT Build 0:fa2de1b79154 46 }
Azure.IoT Build 0:fa2de1b79154 47 else if (setupRealTime() != 0)
Azure.IoT Build 0:fa2de1b79154 48 {
Azure.IoT Build 0:fa2de1b79154 49 result = __LINE__;
Azure.IoT Build 0:fa2de1b79154 50 }
Azure.IoT Build 0:fa2de1b79154 51 else if (EthernetInterface::connect())
Azure.IoT Build 0:fa2de1b79154 52 {
Azure.IoT Build 0:fa2de1b79154 53 result = __LINE__;
Azure.IoT Build 0:fa2de1b79154 54 }
Azure.IoT Build 0:fa2de1b79154 55 else
Azure.IoT Build 0:fa2de1b79154 56 {
Azure.IoT Build 0:fa2de1b79154 57 result = 0;
Azure.IoT Build 0:fa2de1b79154 58 }
Azure.IoT Build 0:fa2de1b79154 59
Azure.IoT Build 0:fa2de1b79154 60 return result;
Azure.IoT Build 0:fa2de1b79154 61 }
Azure.IoT Build 0:fa2de1b79154 62
Azure.IoT Build 0:fa2de1b79154 63 const IO_INTERFACE_DESCRIPTION* platform_get_default_tlsio(void)
Azure.IoT Build 0:fa2de1b79154 64 {
Azure.IoT Build 0:fa2de1b79154 65 return tlsio_wolfssl_get_interface_description();
Azure.IoT Build 0:fa2de1b79154 66 }
Azure.IoT Build 0:fa2de1b79154 67
Azure.IoT Build 0:fa2de1b79154 68 void platform_deinit(void)
Azure.IoT Build 0:fa2de1b79154 69 {
Azure.IoT Build 0:fa2de1b79154 70 EthernetInterface::disconnect();
Azure.IoT Build 0:fa2de1b79154 71 }