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:
Tue Sep 15 21:47:12 2015 -0700
Revision:
0:e393db310d89
Child:
9:3ec7e2695f98
Automatic build commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 0:e393db310d89 1 // Copyright (c) Microsoft. All rights reserved.
AzureIoTClient 0:e393db310d89 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
AzureIoTClient 0:e393db310d89 3
AzureIoTClient 0:e393db310d89 4 #ifndef IOTHUB_CLIENT_PRIVATE_H
AzureIoTClient 0:e393db310d89 5 #define IOTHUB_CLIENT_PRIVATE_H
AzureIoTClient 0:e393db310d89 6
AzureIoTClient 0:e393db310d89 7 #include <signal.h>
AzureIoTClient 0:e393db310d89 8
AzureIoTClient 0:e393db310d89 9 #include "macro_utils.h"
AzureIoTClient 0:e393db310d89 10 #include "threadapi.h"
AzureIoTClient 0:e393db310d89 11 #include "lock.h"
AzureIoTClient 0:e393db310d89 12 #include "crt_abstractions.h"
AzureIoTClient 0:e393db310d89 13
AzureIoTClient 0:e393db310d89 14 #include "doublylinkedlist.h"
AzureIoTClient 0:e393db310d89 15 #include "iothub_message.h"
AzureIoTClient 0:e393db310d89 16 #include "iothub_client_ll.h"
AzureIoTClient 0:e393db310d89 17
AzureIoTClient 0:e393db310d89 18 #ifdef __cplusplus
AzureIoTClient 0:e393db310d89 19 extern "C"
AzureIoTClient 0:e393db310d89 20 {
AzureIoTClient 0:e393db310d89 21 #endif
AzureIoTClient 0:e393db310d89 22
AzureIoTClient 0:e393db310d89 23 #define IOTHUB_BATCHSTATE_RESULT_VALUES IOTHUB_BATCHSTATE_SUCCESS, \
AzureIoTClient 0:e393db310d89 24 IOTHUB_BATCHSTATE_FAILED
AzureIoTClient 0:e393db310d89 25
AzureIoTClient 0:e393db310d89 26 DEFINE_ENUM(IOTHUB_BATCHSTATE_RESULT, IOTHUB_BATCHSTATE_RESULT_VALUES);
AzureIoTClient 0:e393db310d89 27
AzureIoTClient 0:e393db310d89 28 #define EVENT_ENDPOINT "/messages/events"
AzureIoTClient 0:e393db310d89 29 #define NOTIFICATION_ENDPOINT "/messages/devicebound"
AzureIoTClient 0:e393db310d89 30 #define NOTIFICATION_ENDPOINT_HTTP "/messages/devicebound"
AzureIoTClient 0:e393db310d89 31 #define NOTIFICATION_ENDPOINT_HTTP_ETAG "/messages/devicebound/"
AzureIoTClient 0:e393db310d89 32 #define CBS_REPLY_TO "cbs"
AzureIoTClient 0:e393db310d89 33 #define CBS_ENDPOINT "/$" CBS_REPLY_TO
AzureIoTClient 0:e393db310d89 34 #define API_VERSION "?api-version=2015-08-15-preview"
AzureIoTClient 0:e393db310d89 35 #define REJECT_QUERY_PARAMETER "&reject"
AzureIoTClient 0:e393db310d89 36 #define PROTON_EVENT_OUTGOING_WINDOW_SIZE (10)
AzureIoTClient 0:e393db310d89 37 #define PROTON_CBS_OUTGOING_WINDOW_SIZE (1)
AzureIoTClient 0:e393db310d89 38 #define PROTON_NOTIFICATION_INCOMING_WINDOW_SIZE (1)
AzureIoTClient 0:e393db310d89 39 #define PROTON_CBS_INCOMING_WINDOW_SIZE (1)
AzureIoTClient 0:e393db310d89 40 #define PROTON_INCOMING_WINDOW_SIZE (PROTON_NOTIFICATION_INCOMING_WINDOW_SIZE + PROTON_CBS_INCOMING_WINDOW_SIZE)
AzureIoTClient 0:e393db310d89 41 #define PROTON_OUTGOING_WINDOW_SIZE (PROTON_EVENT_OUTGOING_WINDOW_SIZE + PROTON_CBS_OUTGOING_WINDOW_SIZE)
AzureIoTClient 0:e393db310d89 42 #define PROTON_PROCESSING_YIELD_IN_MILLISECONDS (100)
AzureIoTClient 0:e393db310d89 43 #define PROTON_MESSENGER_STOP_TRIES (10)
AzureIoTClient 0:e393db310d89 44 #define PROTON_MAXIMUM_EVENT_LENGTH (256*1024)
AzureIoTClient 0:e393db310d89 45
AzureIoTClient 0:e393db310d89 46
AzureIoTClient 0:e393db310d89 47
AzureIoTClient 0:e393db310d89 48 extern void IoTHubClient_LL_SendComplete(IOTHUB_CLIENT_LL_HANDLE handle, PDLIST_ENTRY completed, IOTHUB_BATCHSTATE_RESULT result);
AzureIoTClient 0:e393db310d89 49 extern IOTHUBMESSAGE_DISPOSITION_RESULT IoTHubClient_LL_NotificationCallback(IOTHUB_CLIENT_LL_HANDLE handle, IOTHUB_MESSAGE_HANDLE notificationMessage);
AzureIoTClient 0:e393db310d89 50
AzureIoTClient 0:e393db310d89 51 typedef struct IOTHUBTRANSPORT_CONFIG_TAG
AzureIoTClient 0:e393db310d89 52 {
AzureIoTClient 0:e393db310d89 53 const IOTHUB_CLIENT_CONFIG* upperConfig;
AzureIoTClient 0:e393db310d89 54 PDLIST_ENTRY waitingToSend;
AzureIoTClient 0:e393db310d89 55 }IOTHUBTRANSPORT_CONFIG;
AzureIoTClient 0:e393db310d89 56
AzureIoTClient 0:e393db310d89 57 typedef struct IOTHUB_MESSAGE_LIST_TAG
AzureIoTClient 0:e393db310d89 58 {
AzureIoTClient 0:e393db310d89 59 IOTHUB_MESSAGE_HANDLE messageHandle;
AzureIoTClient 0:e393db310d89 60 IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK callback;
AzureIoTClient 0:e393db310d89 61 void* context;
AzureIoTClient 0:e393db310d89 62 DLIST_ENTRY entry;
AzureIoTClient 0:e393db310d89 63 }IOTHUB_MESSAGE_LIST;
AzureIoTClient 0:e393db310d89 64
AzureIoTClient 0:e393db310d89 65 typedef void* TRANSPORT_HANDLE;
AzureIoTClient 0:e393db310d89 66
AzureIoTClient 0:e393db310d89 67 typedef IOTHUB_CLIENT_RESULT(*pfIoTHubTransport_SetOption)(TRANSPORT_HANDLE handle, const char *optionName, const void* value);
AzureIoTClient 0:e393db310d89 68 typedef TRANSPORT_HANDLE(*pfIoTHubTransport_Create)(const IOTHUBTRANSPORT_CONFIG* config);
AzureIoTClient 0:e393db310d89 69 typedef void (*pfIoTHubTransport_Destroy)(TRANSPORT_HANDLE handle);
AzureIoTClient 0:e393db310d89 70 typedef int (*pfIoTHubTransport_Subscribe)(TRANSPORT_HANDLE handle);
AzureIoTClient 0:e393db310d89 71 typedef void (*pfIoTHubTransport_Unsubscribe)(TRANSPORT_HANDLE handle);
AzureIoTClient 0:e393db310d89 72 typedef void (*pfIoTHubTransport_DoWork)(TRANSPORT_HANDLE handle, IOTHUB_CLIENT_LL_HANDLE iotHubClientHandle);
AzureIoTClient 0:e393db310d89 73 typedef IOTHUB_CLIENT_RESULT(*pfIoTHubTransport_GetSendStatus)(TRANSPORT_HANDLE handle, IOTHUB_CLIENT_STATUS *iotHubClientStatus);
AzureIoTClient 0:e393db310d89 74
AzureIoTClient 0:e393db310d89 75 #define TRANSPORT_PROVIDER_FIELDS \
AzureIoTClient 0:e393db310d89 76 pfIoTHubTransport_SetOption IoTHubTransport_SetOption; \
AzureIoTClient 0:e393db310d89 77 pfIoTHubTransport_Create IoTHubTransport_Create; \
AzureIoTClient 0:e393db310d89 78 pfIoTHubTransport_Destroy IoTHubTransport_Destroy; \
AzureIoTClient 0:e393db310d89 79 pfIoTHubTransport_Subscribe IoTHubTransport_Subscribe; \
AzureIoTClient 0:e393db310d89 80 pfIoTHubTransport_Unsubscribe IoTHubTransport_Unsubscribe; \
AzureIoTClient 0:e393db310d89 81 pfIoTHubTransport_DoWork IoTHubTransport_DoWork; \
AzureIoTClient 0:e393db310d89 82 pfIoTHubTransport_GetSendStatus IoTHubTransport_GetSendStatus /*there's an intentional missing ; on this line*/ \
AzureIoTClient 0:e393db310d89 83
AzureIoTClient 0:e393db310d89 84 typedef struct TRANSPORT_PROVIDER_TAG
AzureIoTClient 0:e393db310d89 85 {
AzureIoTClient 0:e393db310d89 86 TRANSPORT_PROVIDER_FIELDS;
AzureIoTClient 0:e393db310d89 87 }TRANSPORT_PROVIDER;
AzureIoTClient 0:e393db310d89 88
AzureIoTClient 0:e393db310d89 89 #ifdef __cplusplus
AzureIoTClient 0:e393db310d89 90 }
AzureIoTClient 0:e393db310d89 91 #endif
AzureIoTClient 0:e393db310d89 92
AzureIoTClient 0:e393db310d89 93 #endif /* IOTHUB_CLIENT_PRIVATE_H */