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:
Mon Apr 16 14:25:56 2018 -0700
Revision:
86:a1352899ea45
Parent:
83:18ccaa6567d0
Child:
87:127f440f845b
1.2.3

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 48:cc5d91f2b06d 7 #ifdef __cplusplus
AzureIoTClient 48:cc5d91f2b06d 8 extern "C"
AzureIoTClient 48:cc5d91f2b06d 9 {
AzureIoTClient 48:cc5d91f2b06d 10 #endif
AzureIoTClient 48:cc5d91f2b06d 11
AzureIoTClient 48:cc5d91f2b06d 12 typedef struct IOTHUB_PROXY_OPTIONS_TAG
AzureIoTClient 48:cc5d91f2b06d 13 {
AzureIoTClient 48:cc5d91f2b06d 14 const char* host_address;
AzureIoTClient 48:cc5d91f2b06d 15 const char* username;
AzureIoTClient 48:cc5d91f2b06d 16 const char* password;
AzureIoTClient 48:cc5d91f2b06d 17 } IOTHUB_PROXY_OPTIONS;
AzureIoTClient 48:cc5d91f2b06d 18
AzureIoTClient 48:cc5d91f2b06d 19 static const char* OPTION_LOG_TRACE = "logtrace";
AzureIoTClient 48:cc5d91f2b06d 20 static const char* OPTION_X509_CERT = "x509certificate";
AzureIoTClient 48:cc5d91f2b06d 21 static const char* OPTION_X509_PRIVATE_KEY = "x509privatekey";
AzureIoTClient 48:cc5d91f2b06d 22 static const char* OPTION_KEEP_ALIVE = "keepalive";
AzureIoTClient 80:db5f5237bc95 23 static const char* OPTION_CONNECTION_TIMEOUT = "connect_timeout";
AzureIoTClient 48:cc5d91f2b06d 24
AzureIoTClient 48:cc5d91f2b06d 25 static const char* OPTION_PROXY_HOST = "proxy_address";
AzureIoTClient 48:cc5d91f2b06d 26 static const char* OPTION_PROXY_USERNAME = "proxy_username";
AzureIoTClient 48:cc5d91f2b06d 27 static const char* OPTION_PROXY_PASSWORD = "proxy_password";
AzureIoTClient 48:cc5d91f2b06d 28
AzureIoTClient 48:cc5d91f2b06d 29 static const char* OPTION_SAS_TOKEN_LIFETIME = "sas_token_lifetime";
AzureIoTClient 48:cc5d91f2b06d 30 static const char* OPTION_SAS_TOKEN_REFRESH_TIME = "sas_token_refresh_time";
AzureIoTClient 48:cc5d91f2b06d 31 static const char* OPTION_CBS_REQUEST_TIMEOUT = "cbs_request_timeout";
AzureIoTClient 48:cc5d91f2b06d 32
AzureIoTClient 48:cc5d91f2b06d 33 static const char* OPTION_MIN_POLLING_TIME = "MinimumPollingTime";
AzureIoTClient 48:cc5d91f2b06d 34 static const char* OPTION_BATCHING = "Batching";
AzureIoTClient 48:cc5d91f2b06d 35
AzureIoTClient 70:875388a7d419 36 static const char* OPTION_MESSAGE_TIMEOUT = "messageTimeout";
AzureIoTClient 86:a1352899ea45 37 static const char* OPTION_BLOB_UPLOAD_TIMEOUT_SECS = "blob_upload_timeout_secs";
AzureIoTClient 66:a419827cb051 38 static const char* OPTION_PRODUCT_INFO = "product_info";
AzureIoTClient 86:a1352899ea45 39
AzureIoTClient 86:a1352899ea45 40 /*
AzureIoTClient 86:a1352899ea45 41 * @brief Turns on automatic URL encoding of message properties + system properties. Only valid for use with MQTT Transport
AzureIoTClient 86:a1352899ea45 42 */
AzureIoTClient 86:a1352899ea45 43 static const char* OPTION_AUTO_URL_ENCODE_DECODE = "auto_url_encode_decode";
AzureIoTClient 75:86205ca63a59 44 /*
AzureIoTClient 75:86205ca63a59 45 * @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 46 * The service must send keep-alives before this timeout is reached, otherwise the client will trigger its re-connection logic.
AzureIoTClient 75:86205ca63a59 47 * Setting this option to a low value results in more aggressive/responsive re-connection by the client.
AzureIoTClient 75:86205ca63a59 48 * The default value for this option is 240 seconds, and the minimum allowed is usually 5 seconds.
AzureIoTClient 75:86205ca63a59 49 * 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 50 */
AzureIoTClient 81:8de701563187 51 static const char* OPTION_SERVICE_SIDE_KEEP_ALIVE_FREQ_SECS = "svc2cl_keep_alive_timeout_secs";
AzureIoTClient 81:8de701563187 52
AzureIoTClient 83:18ccaa6567d0 53 /* 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 83:18ccaa6567d0 54 static const char* OPTION_C2D_KEEP_ALIVE_FREQ_SECS = "c2d_keep_alive_freq_secs";
AzureIoTClient 83:18ccaa6567d0 55
AzureIoTClient 83:18ccaa6567d0 56 /*
AzureIoTClient 83:18ccaa6567d0 57 * @brief Ratio to be used for client side pings in AMQP protocol.
AzureIoTClient 83:18ccaa6567d0 58 * 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 59 * The default value for this option is 1/2 of the remote idle value sent by the service.
AzureIoTClient 83:18ccaa6567d0 60 * 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 61 */
AzureIoTClient 83:18ccaa6567d0 62 static const char* OPTION_REMOTE_IDLE_TIMEOUT_RATIO = "cl2svc_keep_alive_send_ratio";
AzureIoTClient 66:a419827cb051 63
AzureIoTClient 77:e4e36df9caee 64 //diagnostic sampling percentage value, [0-100]
AzureIoTClient 77:e4e36df9caee 65 static const char* OPTION_DIAGNOSTIC_SAMPLING_PERCENTAGE = "diag_sampling_percentage";
AzureIoTClient 77:e4e36df9caee 66
AzureIoTClient 48:cc5d91f2b06d 67 #ifdef __cplusplus
AzureIoTClient 48:cc5d91f2b06d 68 }
AzureIoTClient 48:cc5d91f2b06d 69 #endif
AzureIoTClient 48:cc5d91f2b06d 70
AzureIoTClient 48:cc5d91f2b06d 71 #endif /* IOTHUB_CLIENT_OPTIONS_H */