LIBRARY iothub_client_dll
EXPORTS
    IoTHub_Init
    IoTHub_Deinit

    IoTHubTransport_Create
    IoTHubTransport_Destroy
    IoTHubTransport_GetLock
    IoTHubTransport_GetLLTransport
    IoTHubTransport_StartWorkerThread
    IoTHubTransport_SignalEndWorkerThread
    IoTHubTransport_JoinWorkerThread

    IoTHubClient_GetVersionString

    IoTHubClient_CreateFromConnectionString
    IoTHubClient_Create
    IoTHubClient_CreateWithTransport
    IoTHubClient_CreateFromDeviceAuth
    IoTHubClient_Destroy
    IoTHubClient_SendEventAsync
    IoTHubClient_GetSendStatus
    IoTHubClient_SetMessageCallback
    IoTHubClient_SetConnectionStatusCallback
    IoTHubClient_SetRetryPolicy
    IoTHubClient_GetRetryPolicy
    IoTHubClient_GetLastMessageReceiveTime
    IoTHubClient_SetOption
    IoTHubClient_SetDeviceTwinCallback
    IoTHubClient_SendReportedState
    IoTHubClient_SetDeviceMethodCallback

    IoTHubDeviceClient_CreateFromConnectionString
    IoTHubDeviceClient_Create
    IoTHubDeviceClient_CreateWithTransport
    IoTHubDeviceClient_CreateFromDeviceAuth
    IoTHubDeviceClient_Destroy
    IoTHubDeviceClient_SendEventAsync
    IoTHubDeviceClient_GetSendStatus
    IoTHubDeviceClient_SetMessageCallback
    IoTHubDeviceClient_SendMessageDisposition
    IoTHubDeviceClient_SetConnectionStatusCallback
    IoTHubDeviceClient_SetRetryPolicy
    IoTHubDeviceClient_GetRetryPolicy
    IoTHubDeviceClient_GetLastMessageReceiveTime
    IoTHubDeviceClient_SetOption
    IoTHubDeviceClient_SetDeviceTwinCallback
    IoTHubDeviceClient_SendReportedState
    IoTHubDeviceClient_SetDeviceMethodCallback
    IoTHubDeviceClient_DeviceMethodResponse
    IoTHubDeviceClient_UploadToBlobAsync
    IoTHubDeviceClient_UploadMultipleBlocksToBlobAsync
    IoTHubDeviceClient_SendTelemetryAsync
    IoTHubDeviceClient_SubscribeToCommands
    IoTHubDeviceClient_SendPropertiesAsync
    IoTHubDeviceClient_GetPropertiesAsync
    IoTHubDeviceClient_GetPropertiesAndSubscribeToUpdatesAsync

    IoTHubModuleClient_CreateFromConnectionString
    IoTHubModuleClient_Destroy
    IoTHubModuleClient_SendEventAsync
    IoTHubModuleClient_GetSendStatus
    IoTHubModuleClient_SetMessageCallback
    IoTHubModuleClient_SendMessageDisposition
    IoTHubModuleClient_SetConnectionStatusCallback
    IoTHubModuleClient_SetRetryPolicy
    IoTHubModuleClient_GetRetryPolicy
    IoTHubModuleClient_GetLastMessageReceiveTime
    IoTHubModuleClient_SetOption
    IoTHubModuleClient_SetModuleTwinCallback
    IoTHubModuleClient_SendReportedState
    IoTHubModuleClient_SetModuleMethodCallback
    IoTHubModuleClient_SendEventToOutputAsync
    IoTHubModuleClient_SetInputMessageCallback
    IoTHubModuleClient_SendTelemetryAsync
    IoTHubModuleClient_SubscribeToCommands
    IoTHubModuleClient_SendPropertiesAsync
    IoTHubModuleClient_GetPropertiesAsync
    IoTHubModuleClient_GetPropertiesAndSubscribeToUpdatesAsync

    IoTHubClient_LL_CreateFromConnectionString
    IoTHubClient_LL_Destroy
    IoTHubClient_LL_DoWork
    IoTHubClient_LL_SendEventAsync
    IoTHubClient_LL_SetMessageCallback
    IoTHubClient_LL_SetOption

    IoTHubDeviceClient_LL_CreateFromConnectionString
    IoTHubDeviceClient_LL_Create
    IoTHubDeviceClient_LL_CreateWithTransport
    IoTHubDeviceClient_LL_CreateFromDeviceAuth
    IoTHubDeviceClient_LL_Destroy
    IoTHubDeviceClient_LL_SendEventAsync
    IoTHubDeviceClient_LL_GetSendStatus
    IoTHubDeviceClient_LL_SetMessageCallback
    IoTHubDeviceClient_LL_SendMessageDisposition
    IoTHubDeviceClient_LL_SetConnectionStatusCallback
    IoTHubDeviceClient_LL_SetRetryPolicy
    IoTHubDeviceClient_LL_GetRetryPolicy
    IoTHubDeviceClient_LL_GetLastMessageReceiveTime
    IoTHubDeviceClient_LL_DoWork
    IoTHubDeviceClient_LL_SetOption
    IoTHubDeviceClient_LL_SetDeviceTwinCallback
    IoTHubDeviceClient_LL_SendReportedState
    IoTHubDeviceClient_LL_SetDeviceMethodCallback
    IoTHubDeviceClient_LL_DeviceMethodResponse
    IoTHubDeviceClient_LL_UploadToBlob
    IoTHubDeviceClient_LL_UploadMultipleBlocksToBlob
    IoTHubDeviceClient_LL_SendTelemetryAsync
    IoTHubDeviceClient_LL_SubscribeToCommands
    IoTHubDeviceClient_LL_SendPropertiesAsync
    IoTHubDeviceClient_LL_GetPropertiesAsync
    IoTHubDeviceClient_LL_GetPropertiesAndSubscribeToUpdatesAsync

    IoTHubModuleClient_LL_CreateFromConnectionString
    IoTHubModuleClient_LL_Destroy
    IoTHubModuleClient_LL_SendEventAsync
    IoTHubModuleClient_LL_GetSendStatus
    IoTHubModuleClient_LL_SetMessageCallback
    IoTHubModuleClient_LL_SendMessageDisposition
    IoTHubModuleClient_LL_SetConnectionStatusCallback
    IoTHubModuleClient_LL_SetRetryPolicy
    IoTHubModuleClient_LL_GetRetryPolicy
    IoTHubModuleClient_LL_GetLastMessageReceiveTime
    IoTHubModuleClient_LL_DoWork
    IoTHubModuleClient_LL_SetOption
    IoTHubModuleClient_LL_SetModuleTwinCallback
    IoTHubModuleClient_LL_SendReportedState
    IoTHubModuleClient_LL_SetModuleMethodCallback
    IoTHubModuleClient_LL_SendEventToOutputAsync
    IoTHubModuleClient_LL_SetInputMessageCallback
    IoTHubModuleClient_LL_SendTelemetryAsync
    IoTHubModuleClient_LL_SubscribeToCommands
    IoTHubModuleClient_LL_SendPropertiesAsync
    IoTHubModuleClient_LL_GetPropertiesAsync
    IoTHubModuleClient_LL_GetPropertiesAndSubscribeToUpdatesAsync

    IoTHubMessage_CreateFromString
    IoTHubMessage_CreateFromByteArray
    IoTHubMessage_Clone
    IoTHubMessage_Destroy
    IoTHubMessage_GetByteArray
    IoTHubMessage_GetString
    IoTHubMessage_GetContentType
    IoTHubMessage_GetContentTypeSystemProperty
    IoTHubMessage_GetContentEncodingSystemProperty
    IoTHubMessage_GetDispositionContext 
    IoTHubMessage_GetMessageCreationTimeUtcSystemProperty
    IoTHubMessage_GetMessageUserIdSystemProperty
    IoTHubMessage_GetCorrelationId
    IoTHubMessage_GetDiagnosticPropertyData
    IoTHubMessage_GetMessageId
    IoTHubMessage_GetOutputName
    IoTHubMessage_GetProperty
    IoTHubMessage_Properties
    IoTHubMessage_SetConnectionDeviceId
    IoTHubMessage_SetConnectionModuleId
    IoTHubMessage_SetContentTypeSystemProperty
    IoTHubMessage_SetContentEncodingSystemProperty
    IoTHubMessage_SetDispositionContext
    IoTHubMessage_SetMessageCreationTimeUtcSystemProperty
    IoTHubMessage_SetMessageUserIdSystemProperty
    IoTHubMessage_SetCorrelationId
    IoTHubMessage_SetInputName
    IoTHubMessage_SetMessageId
    IoTHubMessage_SetProperty
    IoTHubMessage_SetAsSecurityMessage
    IoTHubMessage_IsSecurityMessage

    IoTHubClient_Properties_Serializer_CreateReported
    IoTHubClient_Properties_Serializer_CreateWritableResponse
    IoTHubClient_Properties_Serializer_Destroy
    IoTHubClient_Properties_Deserializer_Create
    IoTHubClient_Properties_Deserializer_GetVersion
    IoTHubClient_Properties_Deserializer_GetNext
    IoTHubClient_Properties_DeserializerProperty_Destroy
    IoTHubClient_Properties_Deserializer_Destroy
 
    IOTHUB_CLIENT_CONFIRMATION_RESULTStrings
    IOTHUB_CLIENT_FILE_UPLOAD_RESULTStrings
    IOTHUB_CLIENT_RESULTStrings
    IOTHUB_CLIENT_RETRY_POLICYStrings
    IOTHUB_CLIENT_STATUSStrings
    IOTHUB_IDENTITY_TYPEStrings
    IOTHUB_PROCESS_ITEM_RESULTStrings
    IOTHUB_CLIENT_IOTHUB_METHOD_STATUSStrings
    IOTHUB_CLIENT_CONFIRMATION_RESULTStrings
    IOTHUB_CLIENT_CONNECTION_STATUSStrings
    IOTHUB_CLIENT_CONNECTION_STATUS_REASONStrings
    TRANSPORT_TYPEStrings
    DEVICE_TWIN_UPDATE_STATEStrings
