Microsoft Azure IoTHub client libraries

Dependents:   sht15_remote_monitoring RobotArmDemo iothub_client_sample_amqp f767zi_mqtt ... more

This library implements the Microsoft Azure IoTHub client library. The code is replicated from https://github.com/Azure/azure-iot-sdks

Committer:
Azure.IoT Build
Date:
Fri Apr 08 13:24:33 2016 -0700
Revision:
38:a05929a75111
Child:
40:1a94db9139ea
1.0.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Azure.IoT Build 38:a05929a75111 1 // Copyright (c) Microsoft. All rights reserved.
Azure.IoT Build 38:a05929a75111 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
Azure.IoT Build 38:a05929a75111 3
Azure.IoT Build 38:a05929a75111 4 #ifndef IOTHUB_TRANSPORT_LL_H
Azure.IoT Build 38:a05929a75111 5 #define IOTHUB_TRANSPORT_LL_H
Azure.IoT Build 38:a05929a75111 6
Azure.IoT Build 38:a05929a75111 7 #include "azure_c_shared_utility/doublylinkedlist.h"
Azure.IoT Build 38:a05929a75111 8 #include "iothub_message.h"
Azure.IoT Build 38:a05929a75111 9 #include "iothub_client_ll.h"
Azure.IoT Build 38:a05929a75111 10
Azure.IoT Build 38:a05929a75111 11 #ifdef __cplusplus
Azure.IoT Build 38:a05929a75111 12 extern "C"
Azure.IoT Build 38:a05929a75111 13 {
Azure.IoT Build 38:a05929a75111 14 #endif
Azure.IoT Build 38:a05929a75111 15
Azure.IoT Build 38:a05929a75111 16 typedef void* TRANSPORT_LL_HANDLE;
Azure.IoT Build 38:a05929a75111 17 typedef void* IOTHUB_DEVICE_HANDLE;
Azure.IoT Build 38:a05929a75111 18
Azure.IoT Build 38:a05929a75111 19 typedef IOTHUB_CLIENT_RESULT(*pfIoTHubTransport_SetOption)(TRANSPORT_LL_HANDLE handle, const char *optionName, const void* value);
Azure.IoT Build 38:a05929a75111 20 typedef TRANSPORT_LL_HANDLE(*pfIoTHubTransport_Create)(const IOTHUBTRANSPORT_CONFIG* config);
Azure.IoT Build 38:a05929a75111 21 typedef void (*pfIoTHubTransport_Destroy)(TRANSPORT_LL_HANDLE handle);
Azure.IoT Build 38:a05929a75111 22 typedef IOTHUB_DEVICE_HANDLE(*pfIotHubTransport_Register)(TRANSPORT_LL_HANDLE handle, const char* deviceId, const char* deviceKey, IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, PDLIST_ENTRY waitingToSend);
Azure.IoT Build 38:a05929a75111 23 typedef void(*pfIotHubTransport_Unregister)(IOTHUB_DEVICE_HANDLE deviceHandle);
Azure.IoT Build 38:a05929a75111 24 typedef int (*pfIoTHubTransport_Subscribe)(IOTHUB_DEVICE_HANDLE handle);
Azure.IoT Build 38:a05929a75111 25 typedef void (*pfIoTHubTransport_Unsubscribe)(IOTHUB_DEVICE_HANDLE handle);
Azure.IoT Build 38:a05929a75111 26 typedef void (*pfIoTHubTransport_DoWork)(TRANSPORT_LL_HANDLE handle, IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle);
Azure.IoT Build 38:a05929a75111 27 typedef IOTHUB_CLIENT_RESULT(*pfIoTHubTransport_GetSendStatus)(IOTHUB_DEVICE_HANDLE handle, IOTHUB_CLIENT_STATUS *iotHubClientStatus);
Azure.IoT Build 38:a05929a75111 28
Azure.IoT Build 38:a05929a75111 29 #define TRANSPORT_PROVIDER_FIELDS \
Azure.IoT Build 38:a05929a75111 30 pfIoTHubTransport_SetOption IoTHubTransport_SetOption; \
Azure.IoT Build 38:a05929a75111 31 pfIoTHubTransport_Create IoTHubTransport_Create; \
Azure.IoT Build 38:a05929a75111 32 pfIoTHubTransport_Destroy IoTHubTransport_Destroy; \
Azure.IoT Build 38:a05929a75111 33 pfIotHubTransport_Register IoTHubTransport_Register; \
Azure.IoT Build 38:a05929a75111 34 pfIotHubTransport_Unregister IoTHubTransport_Unregister; \
Azure.IoT Build 38:a05929a75111 35 pfIoTHubTransport_Subscribe IoTHubTransport_Subscribe; \
Azure.IoT Build 38:a05929a75111 36 pfIoTHubTransport_Unsubscribe IoTHubTransport_Unsubscribe; \
Azure.IoT Build 38:a05929a75111 37 pfIoTHubTransport_DoWork IoTHubTransport_DoWork; \
Azure.IoT Build 38:a05929a75111 38 pfIoTHubTransport_GetSendStatus IoTHubTransport_GetSendStatus /*there's an intentional missing ; on this line*/ \
Azure.IoT Build 38:a05929a75111 39
Azure.IoT Build 38:a05929a75111 40 typedef struct TRANSPORT_PROVIDER_TAG
Azure.IoT Build 38:a05929a75111 41 {
Azure.IoT Build 38:a05929a75111 42 TRANSPORT_PROVIDER_FIELDS;
Azure.IoT Build 38:a05929a75111 43 }TRANSPORT_PROVIDER;
Azure.IoT Build 38:a05929a75111 44
Azure.IoT Build 38:a05929a75111 45 #ifdef __cplusplus
Azure.IoT Build 38:a05929a75111 46 }
Azure.IoT Build 38:a05929a75111 47 #endif
Azure.IoT Build 38:a05929a75111 48
Azure.IoT Build 38:a05929a75111 49 #endif /* IOTHUB_TRANSPORT_LL_H */