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:
Azure.IoT Build
Date:
Fri Mar 25 16:00:25 2016 -0700
Revision:
37:18310e4d888d
Parent:
36:67300d5a4c1f
Child:
38:a05929a75111
Release 1.0.3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 16:deba40344375 1 // Copyright (c) Microsoft. All rights reserved.
AzureIoTClient 16:deba40344375 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
AzureIoTClient 16:deba40344375 3
AzureIoTClient 16:deba40344375 4 #ifndef IOTHUB_CLIENT_PRIVATE_H
AzureIoTClient 16:deba40344375 5 #define IOTHUB_CLIENT_PRIVATE_H
AzureIoTClient 16:deba40344375 6
AzureIoTClient 16:deba40344375 7 #include <signal.h>
AzureIoTClient 16:deba40344375 8
AzureIoTClient 16:deba40344375 9 #include "macro_utils.h"
AzureIoTClient 16:deba40344375 10 #include "threadapi.h"
AzureIoTClient 16:deba40344375 11 #include "lock.h"
AzureIoTClient 16:deba40344375 12 #include "crt_abstractions.h"
AzureIoTClient 16:deba40344375 13
AzureIoTClient 16:deba40344375 14 #include "doublylinkedlist.h"
AzureIoTClient 16:deba40344375 15 #include "iothub_message.h"
AzureIoTClient 16:deba40344375 16 #include "iothub_client_ll.h"
AzureIoTClient 16:deba40344375 17
AzureIoTClient 16:deba40344375 18 #ifdef __cplusplus
AzureIoTClient 16:deba40344375 19 extern "C"
AzureIoTClient 16:deba40344375 20 {
AzureIoTClient 16:deba40344375 21 #endif
AzureIoTClient 16:deba40344375 22
AzureIoTClient 16:deba40344375 23 #define IOTHUB_BATCHSTATE_RESULT_VALUES IOTHUB_BATCHSTATE_SUCCESS, \
AzureIoTClient 16:deba40344375 24 IOTHUB_BATCHSTATE_FAILED
AzureIoTClient 16:deba40344375 25
AzureIoTClient 16:deba40344375 26 DEFINE_ENUM(IOTHUB_BATCHSTATE_RESULT, IOTHUB_BATCHSTATE_RESULT_VALUES);
AzureIoTClient 16:deba40344375 27
AzureIoTClient 16:deba40344375 28 #define EVENT_ENDPOINT "/messages/events"
AzureIoTClient 16:deba40344375 29 #define MESSAGE_ENDPOINT "/messages/devicebound"
AzureIoTClient 16:deba40344375 30 #define MESSAGE_ENDPOINT_HTTP "/messages/devicebound"
AzureIoTClient 16:deba40344375 31 #define MESSAGE_ENDPOINT_HTTP_ETAG "/messages/devicebound/"
AzureIoTClient 32:6e9d81a62085 32 #define CLIENT_DEVICE_TYPE_PREFIX "iothubclient"
AzureIoTClient 32:6e9d81a62085 33 #define CLIENT_DEVICE_BACKSLASH "/"
AzureIoTClient 16:deba40344375 34 #define CBS_REPLY_TO "cbs"
AzureIoTClient 16:deba40344375 35 #define CBS_ENDPOINT "/$" CBS_REPLY_TO
Azure.IoT Build 34:578a1a3636cc 36 #define API_VERSION "?api-version=2016-02-03"
AzureIoTClient 16:deba40344375 37 #define REJECT_QUERY_PARAMETER "&reject"
AzureIoTClient 16:deba40344375 38
AzureIoTClient 16:deba40344375 39 extern void IoTHubClient_LL_SendComplete(IOTHUB_CLIENT_LL_HANDLE handle, PDLIST_ENTRY completed, IOTHUB_BATCHSTATE_RESULT result);
AzureIoTClient 16:deba40344375 40 extern IOTHUBMESSAGE_DISPOSITION_RESULT IoTHubClient_LL_MessageCallback(IOTHUB_CLIENT_LL_HANDLE handle, IOTHUB_MESSAGE_HANDLE message);
AzureIoTClient 16:deba40344375 41
AzureIoTClient 16:deba40344375 42 typedef struct IOTHUB_MESSAGE_LIST_TAG
AzureIoTClient 16:deba40344375 43 {
AzureIoTClient 16:deba40344375 44 IOTHUB_MESSAGE_HANDLE messageHandle;
AzureIoTClient 16:deba40344375 45 IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK callback;
AzureIoTClient 16:deba40344375 46 void* context;
AzureIoTClient 16:deba40344375 47 DLIST_ENTRY entry;
Azure.IoT Build 36:67300d5a4c1f 48 uint64_t ms_timesOutAfter; /* a value of "0" means "no timeout", if the IOTHUBCLIENT_LL's handle tickcounter > msTimesOutAfer then the message shall timeout*/
AzureIoTClient 16:deba40344375 49 }IOTHUB_MESSAGE_LIST;
AzureIoTClient 16:deba40344375 50
Azure.IoT Build 37:18310e4d888d 51 typedef void* TRANSPORT_LL_HANDLE;
Azure.IoT Build 36:67300d5a4c1f 52 typedef void* IOTHUB_DEVICE_HANDLE;
AzureIoTClient 16:deba40344375 53
Azure.IoT Build 37:18310e4d888d 54 typedef IOTHUB_CLIENT_RESULT(*pfIoTHubTransport_SetOption)(TRANSPORT_LL_HANDLE handle, const char *optionName, const void* value);
Azure.IoT Build 37:18310e4d888d 55 typedef TRANSPORT_LL_HANDLE(*pfIoTHubTransport_Create)(const IOTHUBTRANSPORT_CONFIG* config);
Azure.IoT Build 37:18310e4d888d 56 typedef void (*pfIoTHubTransport_Destroy)(TRANSPORT_LL_HANDLE handle);
Azure.IoT Build 37:18310e4d888d 57 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 36:67300d5a4c1f 58 typedef void(*pfIotHubTransport_Unregister)(IOTHUB_DEVICE_HANDLE deviceHandle);
Azure.IoT Build 36:67300d5a4c1f 59 typedef int (*pfIoTHubTransport_Subscribe)(IOTHUB_DEVICE_HANDLE handle);
Azure.IoT Build 36:67300d5a4c1f 60 typedef void (*pfIoTHubTransport_Unsubscribe)(IOTHUB_DEVICE_HANDLE handle);
Azure.IoT Build 37:18310e4d888d 61 typedef void (*pfIoTHubTransport_DoWork)(TRANSPORT_LL_HANDLE handle, IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle);
Azure.IoT Build 36:67300d5a4c1f 62 typedef IOTHUB_CLIENT_RESULT(*pfIoTHubTransport_GetSendStatus)(IOTHUB_DEVICE_HANDLE handle, IOTHUB_CLIENT_STATUS *iotHubClientStatus);
AzureIoTClient 16:deba40344375 63
AzureIoTClient 16:deba40344375 64 #define TRANSPORT_PROVIDER_FIELDS \
AzureIoTClient 16:deba40344375 65 pfIoTHubTransport_SetOption IoTHubTransport_SetOption; \
AzureIoTClient 16:deba40344375 66 pfIoTHubTransport_Create IoTHubTransport_Create; \
AzureIoTClient 16:deba40344375 67 pfIoTHubTransport_Destroy IoTHubTransport_Destroy; \
Azure.IoT Build 36:67300d5a4c1f 68 pfIotHubTransport_Register IoTHubTransport_Register; \
Azure.IoT Build 36:67300d5a4c1f 69 pfIotHubTransport_Unregister IoTHubTransport_Unregister; \
AzureIoTClient 16:deba40344375 70 pfIoTHubTransport_Subscribe IoTHubTransport_Subscribe; \
AzureIoTClient 16:deba40344375 71 pfIoTHubTransport_Unsubscribe IoTHubTransport_Unsubscribe; \
AzureIoTClient 16:deba40344375 72 pfIoTHubTransport_DoWork IoTHubTransport_DoWork; \
AzureIoTClient 16:deba40344375 73 pfIoTHubTransport_GetSendStatus IoTHubTransport_GetSendStatus /*there's an intentional missing ; on this line*/ \
AzureIoTClient 16:deba40344375 74
AzureIoTClient 16:deba40344375 75 typedef struct TRANSPORT_PROVIDER_TAG
AzureIoTClient 16:deba40344375 76 {
AzureIoTClient 16:deba40344375 77 TRANSPORT_PROVIDER_FIELDS;
AzureIoTClient 16:deba40344375 78 }TRANSPORT_PROVIDER;
AzureIoTClient 16:deba40344375 79
AzureIoTClient 16:deba40344375 80 #ifdef __cplusplus
AzureIoTClient 16:deba40344375 81 }
AzureIoTClient 16:deba40344375 82 #endif
AzureIoTClient 16:deba40344375 83
AzureIoTClient 16:deba40344375 84 #endif /* IOTHUB_CLIENT_PRIVATE_H */