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:
76:943524fee0b7
1.2.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 62:5a4cdacf5090 1 // Copyright (c) Microsoft. All rights reserved.
AzureIoTClient 62:5a4cdacf5090 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
AzureIoTClient 62:5a4cdacf5090 3
AzureIoTClient 62:5a4cdacf5090 4 #ifndef IOTHUB_CLIENT_AUTHORIZATION_H
AzureIoTClient 62:5a4cdacf5090 5 #define IOTHUB_CLIENT_AUTHORIZATION_H
AzureIoTClient 62:5a4cdacf5090 6
AzureIoTClient 62:5a4cdacf5090 7 #ifdef __cplusplus
AzureIoTClient 62:5a4cdacf5090 8 extern "C" {
AzureIoTClient 62:5a4cdacf5090 9 #else
AzureIoTClient 62:5a4cdacf5090 10 #include <stdbool.h>
AzureIoTClient 62:5a4cdacf5090 11 #endif /* __cplusplus */
AzureIoTClient 62:5a4cdacf5090 12
AzureIoTClient 62:5a4cdacf5090 13 #include "azure_c_shared_utility/macro_utils.h"
AzureIoTClient 62:5a4cdacf5090 14 #include "azure_c_shared_utility/umock_c_prod.h"
AzureIoTClient 75:86205ca63a59 15 #include "azure_c_shared_utility/xio.h"
AzureIoTClient 62:5a4cdacf5090 16
AzureIoTClient 62:5a4cdacf5090 17 typedef struct IOTHUB_AUTHORIZATION_DATA_TAG* IOTHUB_AUTHORIZATION_HANDLE;
AzureIoTClient 62:5a4cdacf5090 18
AzureIoTClient 62:5a4cdacf5090 19 #define IOTHUB_CREDENTIAL_TYPE_VALUES \
AzureIoTClient 62:5a4cdacf5090 20 IOTHUB_CREDENTIAL_TYPE_UNKNOWN, \
AzureIoTClient 62:5a4cdacf5090 21 IOTHUB_CREDENTIAL_TYPE_DEVICE_KEY, \
AzureIoTClient 62:5a4cdacf5090 22 IOTHUB_CREDENTIAL_TYPE_X509, \
AzureIoTClient 75:86205ca63a59 23 IOTHUB_CREDENTIAL_TYPE_X509_ECC, \
AzureIoTClient 75:86205ca63a59 24 IOTHUB_CREDENTIAL_TYPE_SAS_TOKEN, \
AzureIoTClient 75:86205ca63a59 25 IOTHUB_CREDENTIAL_TYPE_DEVICE_AUTH
AzureIoTClient 75:86205ca63a59 26
AzureIoTClient 62:5a4cdacf5090 27
AzureIoTClient 62:5a4cdacf5090 28 DEFINE_ENUM(IOTHUB_CREDENTIAL_TYPE, IOTHUB_CREDENTIAL_TYPE_VALUES);
AzureIoTClient 62:5a4cdacf5090 29
AzureIoTClient 63:1bf1c2d60aab 30 #define SAS_TOKEN_STATUS_VALUES \
AzureIoTClient 63:1bf1c2d60aab 31 SAS_TOKEN_STATUS_FAILED, \
AzureIoTClient 63:1bf1c2d60aab 32 SAS_TOKEN_STATUS_VALID, \
AzureIoTClient 63:1bf1c2d60aab 33 SAS_TOKEN_STATUS_INVALID
AzureIoTClient 63:1bf1c2d60aab 34
AzureIoTClient 63:1bf1c2d60aab 35 DEFINE_ENUM(SAS_TOKEN_STATUS, SAS_TOKEN_STATUS_VALUES);
AzureIoTClient 63:1bf1c2d60aab 36
AzureIoTClient 62:5a4cdacf5090 37 MOCKABLE_FUNCTION(, IOTHUB_AUTHORIZATION_HANDLE, IoTHubClient_Auth_Create, const char*, device_key, const char*, device_id, const char*, device_sas_token);
AzureIoTClient 75:86205ca63a59 38 MOCKABLE_FUNCTION(, IOTHUB_AUTHORIZATION_HANDLE, IoTHubClient_Auth_CreateFromDeviceAuth, const char*, device_id);
AzureIoTClient 62:5a4cdacf5090 39 MOCKABLE_FUNCTION(, void, IoTHubClient_Auth_Destroy, IOTHUB_AUTHORIZATION_HANDLE, handle);
AzureIoTClient 63:1bf1c2d60aab 40 MOCKABLE_FUNCTION(, IOTHUB_CREDENTIAL_TYPE, IoTHubClient_Auth_Set_x509_Type, IOTHUB_AUTHORIZATION_HANDLE, handle, bool, enable_x509);
AzureIoTClient 62:5a4cdacf5090 41 MOCKABLE_FUNCTION(, IOTHUB_CREDENTIAL_TYPE, IoTHubClient_Auth_Get_Credential_Type, IOTHUB_AUTHORIZATION_HANDLE, handle);
AzureIoTClient 76:943524fee0b7 42 MOCKABLE_FUNCTION(, char*, IoTHubClient_Auth_Get_SasToken, IOTHUB_AUTHORIZATION_HANDLE, handle, const char*, scope, size_t, expiry_time_relative_seconds);
AzureIoTClient 75:86205ca63a59 43 MOCKABLE_FUNCTION(, int, IoTHubClient_Auth_Set_xio_Certificate, IOTHUB_AUTHORIZATION_HANDLE, handle, XIO_HANDLE, xio);
AzureIoTClient 62:5a4cdacf5090 44 MOCKABLE_FUNCTION(, const char*, IoTHubClient_Auth_Get_DeviceId, IOTHUB_AUTHORIZATION_HANDLE, handle);
AzureIoTClient 63:1bf1c2d60aab 45 MOCKABLE_FUNCTION(, const char*, IoTHubClient_Auth_Get_DeviceKey, IOTHUB_AUTHORIZATION_HANDLE, handle);
AzureIoTClient 63:1bf1c2d60aab 46 MOCKABLE_FUNCTION(, SAS_TOKEN_STATUS, IoTHubClient_Auth_Is_SasToken_Valid, IOTHUB_AUTHORIZATION_HANDLE, handle);
AzureIoTClient 62:5a4cdacf5090 47
AzureIoTClient 62:5a4cdacf5090 48 #ifdef __cplusplus
AzureIoTClient 62:5a4cdacf5090 49 }
AzureIoTClient 62:5a4cdacf5090 50 #endif
AzureIoTClient 62:5a4cdacf5090 51
AzureIoTClient 62:5a4cdacf5090 52 #endif /* IOTHUB_CLIENT_AUTHORIZATION_H */