corrected version (with typedef struct IOTHUB_CLIENT_LL_UPLOADTOBLOB_HANDLE_DATA* IOTHUB_CLIENT_LL_UPLOADTOBLOB_HANDLE;) included in the sources

Dependents:   STM32F746_iothub_client_sample_mqtt

Fork of iothub_client by Azure IoT

Committer:
AzureIoTClient
Date:
Fri Jun 17 17:02:44 2016 -0700
Revision:
43:038d8511e817
Parent:
40:1a94db9139ea
1.0.9

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
AzureIoTClient 43:038d8511e817 7 typedef void* TRANSPORT_LL_HANDLE;
AzureIoTClient 43:038d8511e817 8 typedef void* IOTHUB_DEVICE_HANDLE;
AzureIoTClient 43:038d8511e817 9 typedef struct TRANSPORT_PROVIDER_TAG TRANSPORT_PROVIDER;
AzureIoTClient 43:038d8511e817 10
Azure.IoT Build 38:a05929a75111 11 #include "azure_c_shared_utility/doublylinkedlist.h"
AzureIoTClient 43:038d8511e817 12 #include "azure_c_shared_utility/strings.h"
Azure.IoT Build 38:a05929a75111 13 #include "iothub_message.h"
Azure.IoT Build 38:a05929a75111 14 #include "iothub_client_ll.h"
Azure.IoT Build 38:a05929a75111 15
Azure.IoT Build 38:a05929a75111 16 #ifdef __cplusplus
Azure.IoT Build 38:a05929a75111 17 extern "C"
Azure.IoT Build 38:a05929a75111 18 {
Azure.IoT Build 38:a05929a75111 19 #endif
Azure.IoT Build 38:a05929a75111 20
AzureIoTClient 40:1a94db9139ea 21 /** @brief This struct captures device configuration. */
AzureIoTClient 40:1a94db9139ea 22 typedef struct IOTHUB_DEVICE_CONFIG_TAG
AzureIoTClient 40:1a94db9139ea 23 {
AzureIoTClient 40:1a94db9139ea 24 /** @brief A string that identifies the device. */
AzureIoTClient 40:1a94db9139ea 25 const char* deviceId;
AzureIoTClient 40:1a94db9139ea 26
AzureIoTClient 40:1a94db9139ea 27 /** @brief The device key used to authenticate the device. */
AzureIoTClient 40:1a94db9139ea 28 const char* deviceKey;
AzureIoTClient 40:1a94db9139ea 29
AzureIoTClient 40:1a94db9139ea 30 /** @brief The device SAS used to authenticate the device in place of using the device key. */
AzureIoTClient 40:1a94db9139ea 31 const char* deviceSasToken;
Azure.IoT Build 38:a05929a75111 32
AzureIoTClient 40:1a94db9139ea 33 } IOTHUB_DEVICE_CONFIG;
AzureIoTClient 40:1a94db9139ea 34
AzureIoTClient 43:038d8511e817 35 typedef STRING_HANDLE (*pfIoTHubTransport_GetHostname)(TRANSPORT_LL_HANDLE handle);
AzureIoTClient 40:1a94db9139ea 36 typedef IOTHUB_CLIENT_RESULT(*pfIoTHubTransport_SetOption)(TRANSPORT_LL_HANDLE handle, const char *optionName, const void* value);
AzureIoTClient 40:1a94db9139ea 37 typedef TRANSPORT_LL_HANDLE(*pfIoTHubTransport_Create)(const IOTHUBTRANSPORT_CONFIG* config);
AzureIoTClient 40:1a94db9139ea 38 typedef void (*pfIoTHubTransport_Destroy)(TRANSPORT_LL_HANDLE handle);
AzureIoTClient 40:1a94db9139ea 39 typedef IOTHUB_DEVICE_HANDLE(*pfIotHubTransport_Register)(TRANSPORT_LL_HANDLE handle, const IOTHUB_DEVICE_CONFIG* device, IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle, PDLIST_ENTRY waitingToSend);
AzureIoTClient 40:1a94db9139ea 40 typedef void(*pfIotHubTransport_Unregister)(IOTHUB_DEVICE_HANDLE deviceHandle);
AzureIoTClient 40:1a94db9139ea 41 typedef int (*pfIoTHubTransport_Subscribe)(IOTHUB_DEVICE_HANDLE handle);
AzureIoTClient 40:1a94db9139ea 42 typedef void (*pfIoTHubTransport_Unsubscribe)(IOTHUB_DEVICE_HANDLE handle);
AzureIoTClient 40:1a94db9139ea 43 typedef void (*pfIoTHubTransport_DoWork)(TRANSPORT_LL_HANDLE handle, IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle);
AzureIoTClient 40:1a94db9139ea 44 typedef IOTHUB_CLIENT_RESULT(*pfIoTHubTransport_GetSendStatus)(IOTHUB_DEVICE_HANDLE handle, IOTHUB_CLIENT_STATUS *iotHubClientStatus);
Azure.IoT Build 38:a05929a75111 45
Azure.IoT Build 38:a05929a75111 46 #define TRANSPORT_PROVIDER_FIELDS \
AzureIoTClient 43:038d8511e817 47 pfIoTHubTransport_GetHostname IoTHubTransport_GetHostname; \
Azure.IoT Build 38:a05929a75111 48 pfIoTHubTransport_SetOption IoTHubTransport_SetOption; \
Azure.IoT Build 38:a05929a75111 49 pfIoTHubTransport_Create IoTHubTransport_Create; \
Azure.IoT Build 38:a05929a75111 50 pfIoTHubTransport_Destroy IoTHubTransport_Destroy; \
Azure.IoT Build 38:a05929a75111 51 pfIotHubTransport_Register IoTHubTransport_Register; \
AzureIoTClient 43:038d8511e817 52 pfIotHubTransport_Unregister IoTHubTransport_Unregister; \
Azure.IoT Build 38:a05929a75111 53 pfIoTHubTransport_Subscribe IoTHubTransport_Subscribe; \
Azure.IoT Build 38:a05929a75111 54 pfIoTHubTransport_Unsubscribe IoTHubTransport_Unsubscribe; \
Azure.IoT Build 38:a05929a75111 55 pfIoTHubTransport_DoWork IoTHubTransport_DoWork; \
Azure.IoT Build 38:a05929a75111 56 pfIoTHubTransport_GetSendStatus IoTHubTransport_GetSendStatus /*there's an intentional missing ; on this line*/ \
Azure.IoT Build 38:a05929a75111 57
AzureIoTClient 40:1a94db9139ea 58 typedef struct TRANSPORT_PROVIDER_TAG
AzureIoTClient 40:1a94db9139ea 59 {
AzureIoTClient 40:1a94db9139ea 60 TRANSPORT_PROVIDER_FIELDS;
AzureIoTClient 40:1a94db9139ea 61 }TRANSPORT_PROVIDER;
Azure.IoT Build 38:a05929a75111 62
Azure.IoT Build 38:a05929a75111 63 #ifdef __cplusplus
Azure.IoT Build 38:a05929a75111 64 }
Azure.IoT Build 38:a05929a75111 65 #endif
Azure.IoT Build 38:a05929a75111 66
Azure.IoT Build 38:a05929a75111 67 #endif /* IOTHUB_TRANSPORT_LL_H */