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 Mar 20 10:29:00 2018 -0700
Revision:
85:de16c0a8a196
Parent:
83:18ccaa6567d0
Child:
86:a1352899ea45
1.2.1

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 66:a419827cb051 37 static const char* OPTION_PRODUCT_INFO = "product_info";
AzureIoTClient 75:86205ca63a59 38 /*
AzureIoTClient 75:86205ca63a59 39 * @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 40 * The service must send keep-alives before this timeout is reached, otherwise the client will trigger its re-connection logic.
AzureIoTClient 75:86205ca63a59 41 * Setting this option to a low value results in more aggressive/responsive re-connection by the client.
AzureIoTClient 75:86205ca63a59 42 * The default value for this option is 240 seconds, and the minimum allowed is usually 5 seconds.
AzureIoTClient 75:86205ca63a59 43 * 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 44 */
AzureIoTClient 81:8de701563187 45 static const char* OPTION_SERVICE_SIDE_KEEP_ALIVE_FREQ_SECS = "svc2cl_keep_alive_timeout_secs";
AzureIoTClient 81:8de701563187 46
AzureIoTClient 83:18ccaa6567d0 47 /* 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 48 static const char* OPTION_C2D_KEEP_ALIVE_FREQ_SECS = "c2d_keep_alive_freq_secs";
AzureIoTClient 83:18ccaa6567d0 49
AzureIoTClient 83:18ccaa6567d0 50 /*
AzureIoTClient 83:18ccaa6567d0 51 * @brief Ratio to be used for client side pings in AMQP protocol.
AzureIoTClient 83:18ccaa6567d0 52 * 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 53 * The default value for this option is 1/2 of the remote idle value sent by the service.
AzureIoTClient 83:18ccaa6567d0 54 * 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 55 */
AzureIoTClient 83:18ccaa6567d0 56 static const char* OPTION_REMOTE_IDLE_TIMEOUT_RATIO = "cl2svc_keep_alive_send_ratio";
AzureIoTClient 66:a419827cb051 57
AzureIoTClient 77:e4e36df9caee 58 //diagnostic sampling percentage value, [0-100]
AzureIoTClient 77:e4e36df9caee 59 static const char* OPTION_DIAGNOSTIC_SAMPLING_PERCENTAGE = "diag_sampling_percentage";
AzureIoTClient 77:e4e36df9caee 60
AzureIoTClient 48:cc5d91f2b06d 61 #ifdef __cplusplus
AzureIoTClient 48:cc5d91f2b06d 62 }
AzureIoTClient 48:cc5d91f2b06d 63 #endif
AzureIoTClient 48:cc5d91f2b06d 64
AzureIoTClient 48:cc5d91f2b06d 65 #endif /* IOTHUB_CLIENT_OPTIONS_H */