Xin Zhang / azure-iot-c-sdk-f767zi

Dependents:   samplemqtt

Committer:
XinZhangMS
Date:
Thu Aug 23 06:52:14 2018 +0000
Revision:
0:f7f1f0d76dd6
azure-c-sdk for mbed os supporting NUCLEO_F767ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
XinZhangMS 0:f7f1f0d76dd6 1 // Copyright (c) Microsoft. All rights reserved.
XinZhangMS 0:f7f1f0d76dd6 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
XinZhangMS 0:f7f1f0d76dd6 3
XinZhangMS 0:f7f1f0d76dd6 4 #ifndef SASL_MECHANISM_H
XinZhangMS 0:f7f1f0d76dd6 5 #define SASL_MECHANISM_H
XinZhangMS 0:f7f1f0d76dd6 6
XinZhangMS 0:f7f1f0d76dd6 7 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 8 extern "C" {
XinZhangMS 0:f7f1f0d76dd6 9 #include "cstdint"
XinZhangMS 0:f7f1f0d76dd6 10 #else
XinZhangMS 0:f7f1f0d76dd6 11 #include "stdint.h"
XinZhangMS 0:f7f1f0d76dd6 12 #endif /* __cplusplus */
XinZhangMS 0:f7f1f0d76dd6 13
XinZhangMS 0:f7f1f0d76dd6 14 #include "azure_c_shared_utility/umock_c_prod.h"
XinZhangMS 0:f7f1f0d76dd6 15
XinZhangMS 0:f7f1f0d76dd6 16 typedef struct SASL_MECHANISM_INSTANCE_TAG* SASL_MECHANISM_HANDLE;
XinZhangMS 0:f7f1f0d76dd6 17 typedef void* CONCRETE_SASL_MECHANISM_HANDLE;
XinZhangMS 0:f7f1f0d76dd6 18
XinZhangMS 0:f7f1f0d76dd6 19 typedef struct SASL_MECHANISM_BYTES_TAG
XinZhangMS 0:f7f1f0d76dd6 20 {
XinZhangMS 0:f7f1f0d76dd6 21 const void* bytes;
XinZhangMS 0:f7f1f0d76dd6 22 uint32_t length;
XinZhangMS 0:f7f1f0d76dd6 23 } SASL_MECHANISM_BYTES;
XinZhangMS 0:f7f1f0d76dd6 24
XinZhangMS 0:f7f1f0d76dd6 25 typedef CONCRETE_SASL_MECHANISM_HANDLE(*SASL_MECHANISM_CREATE)(void* config);
XinZhangMS 0:f7f1f0d76dd6 26 typedef void(*SASL_MECHANISM_DESTROY)(CONCRETE_SASL_MECHANISM_HANDLE concrete_sasl_mechanism);
XinZhangMS 0:f7f1f0d76dd6 27 typedef int(*SASL_MECHANISM_GET_INIT_BYTES)(CONCRETE_SASL_MECHANISM_HANDLE concrete_sasl_mechanism, SASL_MECHANISM_BYTES* init_bytes);
XinZhangMS 0:f7f1f0d76dd6 28 typedef const char*(*SASL_MECHANISM_GET_MECHANISM_NAME)(CONCRETE_SASL_MECHANISM_HANDLE concrete_sasl_mechanism);
XinZhangMS 0:f7f1f0d76dd6 29 typedef int(*SASL_MECHANISM_CHALLENGE)(CONCRETE_SASL_MECHANISM_HANDLE concrete_sasl_mechanism, const SASL_MECHANISM_BYTES* challenge_bytes, SASL_MECHANISM_BYTES* response_bytes);
XinZhangMS 0:f7f1f0d76dd6 30
XinZhangMS 0:f7f1f0d76dd6 31 typedef struct SASL_MECHANISM_INTERFACE_TAG
XinZhangMS 0:f7f1f0d76dd6 32 {
XinZhangMS 0:f7f1f0d76dd6 33 SASL_MECHANISM_CREATE concrete_sasl_mechanism_create;
XinZhangMS 0:f7f1f0d76dd6 34 SASL_MECHANISM_DESTROY concrete_sasl_mechanism_destroy;
XinZhangMS 0:f7f1f0d76dd6 35 SASL_MECHANISM_GET_INIT_BYTES concrete_sasl_mechanism_get_init_bytes;
XinZhangMS 0:f7f1f0d76dd6 36 SASL_MECHANISM_GET_MECHANISM_NAME concrete_sasl_mechanism_get_mechanism_name;
XinZhangMS 0:f7f1f0d76dd6 37 SASL_MECHANISM_CHALLENGE concrete_sasl_mechanism_challenge;
XinZhangMS 0:f7f1f0d76dd6 38 } SASL_MECHANISM_INTERFACE_DESCRIPTION;
XinZhangMS 0:f7f1f0d76dd6 39
XinZhangMS 0:f7f1f0d76dd6 40 MOCKABLE_FUNCTION(, SASL_MECHANISM_HANDLE, saslmechanism_create, const SASL_MECHANISM_INTERFACE_DESCRIPTION*, sasl_mechanism_interface_description, void*, sasl_mechanism_create_parameters);
XinZhangMS 0:f7f1f0d76dd6 41 MOCKABLE_FUNCTION(, void, saslmechanism_destroy, SASL_MECHANISM_HANDLE, sasl_mechanism);
XinZhangMS 0:f7f1f0d76dd6 42 MOCKABLE_FUNCTION(, int, saslmechanism_get_init_bytes, SASL_MECHANISM_HANDLE, sasl_mechanism, SASL_MECHANISM_BYTES*, init_bytes);
XinZhangMS 0:f7f1f0d76dd6 43 MOCKABLE_FUNCTION(, const char*, saslmechanism_get_mechanism_name, SASL_MECHANISM_HANDLE, sasl_mechanism);
XinZhangMS 0:f7f1f0d76dd6 44 MOCKABLE_FUNCTION(, int, saslmechanism_challenge, SASL_MECHANISM_HANDLE, sasl_mechanism, const SASL_MECHANISM_BYTES*, challenge_bytes, SASL_MECHANISM_BYTES*, response_bytes);
XinZhangMS 0:f7f1f0d76dd6 45
XinZhangMS 0:f7f1f0d76dd6 46 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 47 }
XinZhangMS 0:f7f1f0d76dd6 48 #endif /* __cplusplus */
XinZhangMS 0:f7f1f0d76dd6 49
XinZhangMS 0:f7f1f0d76dd6 50 #endif /* SASL_MECHANISM_H */