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:
AzureIoTClient
Date:
Tue Jun 26 19:14:28 2018 -0700
Revision:
89:a2ed767a532e
Parent:
87:127f440f845b
Child:
91:bbf806070c5f
1.2.6

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 48:cc5d91f2b06d 1 // Copyright (c) Microsoft. All rights reserved.
AzureIoTClient 48:cc5d91f2b06d 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
AzureIoTClient 48:cc5d91f2b06d 3
AzureIoTClient 48:cc5d91f2b06d 4 #ifndef IOTHUB_CLIENT_OPTIONS_H
AzureIoTClient 48:cc5d91f2b06d 5 #define IOTHUB_CLIENT_OPTIONS_H
AzureIoTClient 48:cc5d91f2b06d 6
AzureIoTClient 87:127f440f845b 7 #include "azure_c_shared_utility/const_defines.h"
AzureIoTClient 87:127f440f845b 8
AzureIoTClient 48:cc5d91f2b06d 9 #ifdef __cplusplus
AzureIoTClient 48:cc5d91f2b06d 10 extern "C"
AzureIoTClient 48:cc5d91f2b06d 11 {
AzureIoTClient 48:cc5d91f2b06d 12 #endif
AzureIoTClient 48:cc5d91f2b06d 13
AzureIoTClient 48:cc5d91f2b06d 14 typedef struct IOTHUB_PROXY_OPTIONS_TAG
AzureIoTClient 48:cc5d91f2b06d 15 {
AzureIoTClient 48:cc5d91f2b06d 16 const char* host_address;
AzureIoTClient 48:cc5d91f2b06d 17 const char* username;
AzureIoTClient 48:cc5d91f2b06d 18 const char* password;
AzureIoTClient 48:cc5d91f2b06d 19 } IOTHUB_PROXY_OPTIONS;
AzureIoTClient 48:cc5d91f2b06d 20
AzureIoTClient 87:127f440f845b 21 static STATIC_VAR_UNUSED const char* OPTION_LOG_TRACE = "logtrace";
AzureIoTClient 87:127f440f845b 22 static STATIC_VAR_UNUSED const char* OPTION_X509_CERT = "x509certificate";
AzureIoTClient 87:127f440f845b 23 static STATIC_VAR_UNUSED const char* OPTION_X509_PRIVATE_KEY = "x509privatekey";
AzureIoTClient 87:127f440f845b 24 static STATIC_VAR_UNUSED const char* OPTION_KEEP_ALIVE = "keepalive";
AzureIoTClient 87:127f440f845b 25 static STATIC_VAR_UNUSED const char* OPTION_CONNECTION_TIMEOUT = "connect_timeout";
AzureIoTClient 48:cc5d91f2b06d 26
AzureIoTClient 87:127f440f845b 27 static STATIC_VAR_UNUSED const char* OPTION_PROXY_HOST = "proxy_address";
AzureIoTClient 87:127f440f845b 28 static STATIC_VAR_UNUSED const char* OPTION_PROXY_USERNAME = "proxy_username";
AzureIoTClient 87:127f440f845b 29 static STATIC_VAR_UNUSED const char* OPTION_PROXY_PASSWORD = "proxy_password";
AzureIoTClient 48:cc5d91f2b06d 30
AzureIoTClient 87:127f440f845b 31 static STATIC_VAR_UNUSED const char* OPTION_SAS_TOKEN_LIFETIME = "sas_token_lifetime";
AzureIoTClient 87:127f440f845b 32 static STATIC_VAR_UNUSED const char* OPTION_SAS_TOKEN_REFRESH_TIME = "sas_token_refresh_time";
AzureIoTClient 87:127f440f845b 33 static STATIC_VAR_UNUSED const char* OPTION_CBS_REQUEST_TIMEOUT = "cbs_request_timeout";
AzureIoTClient 48:cc5d91f2b06d 34
AzureIoTClient 87:127f440f845b 35 static STATIC_VAR_UNUSED const char* OPTION_MIN_POLLING_TIME = "MinimumPollingTime";
AzureIoTClient 87:127f440f845b 36 static STATIC_VAR_UNUSED const char* OPTION_BATCHING = "Batching";
AzureIoTClient 48:cc5d91f2b06d 37
AzureIoTClient 87:127f440f845b 38 static STATIC_VAR_UNUSED const char* OPTION_MESSAGE_TIMEOUT = "messageTimeout";
AzureIoTClient 87:127f440f845b 39 static STATIC_VAR_UNUSED const char* OPTION_BLOB_UPLOAD_TIMEOUT_SECS = "blob_upload_timeout_secs";
AzureIoTClient 87:127f440f845b 40 static STATIC_VAR_UNUSED const char* OPTION_PRODUCT_INFO = "product_info";
AzureIoTClient 86:a1352899ea45 41
AzureIoTClient 86:a1352899ea45 42 /*
AzureIoTClient 86:a1352899ea45 43 * @brief Turns on automatic URL encoding of message properties + system properties. Only valid for use with MQTT Transport
AzureIoTClient 86:a1352899ea45 44 */
AzureIoTClient 87:127f440f845b 45 static STATIC_VAR_UNUSED const char* OPTION_AUTO_URL_ENCODE_DECODE = "auto_url_encode_decode";
AzureIoTClient 89:a2ed767a532e 46
AzureIoTClient 75:86205ca63a59 47 /*
AzureIoTClient 75:86205ca63a59 48 * @brief Informs the service of what is the maximum period the client will wait for a keep-alive message from the service.
AzureIoTClient 75:86205ca63a59 49 * The service must send keep-alives before this timeout is reached, otherwise the client will trigger its re-connection logic.
AzureIoTClient 75:86205ca63a59 50 * Setting this option to a low value results in more aggressive/responsive re-connection by the client.
AzureIoTClient 75:86205ca63a59 51 * The default value for this option is 240 seconds, and the minimum allowed is usually 5 seconds.
AzureIoTClient 75:86205ca63a59 52 * To virtually disable the keep-alives from the service (and consequently the keep-alive timeout control on the client-side), set this option to a high value (e.g., UINT_MAX).
AzureIoTClient 75:86205ca63a59 53 */
AzureIoTClient 87:127f440f845b 54 static STATIC_VAR_UNUSED const char* OPTION_SERVICE_SIDE_KEEP_ALIVE_FREQ_SECS = "svc2cl_keep_alive_timeout_secs";
AzureIoTClient 81:8de701563187 55
AzureIoTClient 83:18ccaa6567d0 56 /* DEPRECATED:: OPTION_C2D_KEEP_ALIVE_FREQ_SECS is DEPRECATED! Use OPTION_SERVICE_SIDE_KEEP_ALIVE_FREQ_SECS, but OPTION_C2D_KEEP_ALIVE_FREQ_SECS legacy variable kept for back-compat. */
AzureIoTClient 87:127f440f845b 57 static STATIC_VAR_UNUSED const char* OPTION_C2D_KEEP_ALIVE_FREQ_SECS = "c2d_keep_alive_freq_secs";
AzureIoTClient 83:18ccaa6567d0 58
AzureIoTClient 83:18ccaa6567d0 59 /*
AzureIoTClient 83:18ccaa6567d0 60 * @brief Ratio to be used for client side pings in AMQP protocol.
AzureIoTClient 83:18ccaa6567d0 61 * The client must use this ratio to send keep-alives before service side remote idle timeout is reached, otherwise the service will disconnect the client.
AzureIoTClient 83:18ccaa6567d0 62 * The default value for this option is 1/2 of the remote idle value sent by the service.
AzureIoTClient 83:18ccaa6567d0 63 * For AMQP remote idle set to 4 minutes, default client ping will be 2 minutes. For AMQP remote idle set to 25 minutes configured via per Hub basis, the default ping will be 12.5 minutes.
AzureIoTClient 83:18ccaa6567d0 64 */
AzureIoTClient 87:127f440f845b 65 static STATIC_VAR_UNUSED const char* OPTION_REMOTE_IDLE_TIMEOUT_RATIO = "cl2svc_keep_alive_send_ratio";
AzureIoTClient 66:a419827cb051 66
AzureIoTClient 77:e4e36df9caee 67 //diagnostic sampling percentage value, [0-100]
AzureIoTClient 87:127f440f845b 68 static STATIC_VAR_UNUSED const char* OPTION_DIAGNOSTIC_SAMPLING_PERCENTAGE = "diag_sampling_percentage";
AzureIoTClient 77:e4e36df9caee 69
AzureIoTClient 48:cc5d91f2b06d 70 #ifdef __cplusplus
AzureIoTClient 48:cc5d91f2b06d 71 }
AzureIoTClient 48:cc5d91f2b06d 72 #endif
AzureIoTClient 48:cc5d91f2b06d 73
AzureIoTClient 48:cc5d91f2b06d 74 #endif /* IOTHUB_CLIENT_OPTIONS_H */