Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
c-utility/pal/inc/dns_async.h@0:f7f1f0d76dd6, 2018-08-23 (annotated)
- 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?
User | Revision | Line number | New 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 | /** @file ssl_socket.h |
XinZhangMS | 0:f7f1f0d76dd6 | 5 | * @brief Implements socket creation for TLSIO adapters. |
XinZhangMS | 0:f7f1f0d76dd6 | 6 | */ |
XinZhangMS | 0:f7f1f0d76dd6 | 7 | |
XinZhangMS | 0:f7f1f0d76dd6 | 8 | #ifndef AZURE_IOT_DNS_H |
XinZhangMS | 0:f7f1f0d76dd6 | 9 | #define AZURE_IOT_DNS_H |
XinZhangMS | 0:f7f1f0d76dd6 | 10 | |
XinZhangMS | 0:f7f1f0d76dd6 | 11 | #ifdef __cplusplus |
XinZhangMS | 0:f7f1f0d76dd6 | 12 | extern "C" { |
XinZhangMS | 0:f7f1f0d76dd6 | 13 | #endif |
XinZhangMS | 0:f7f1f0d76dd6 | 14 | |
XinZhangMS | 0:f7f1f0d76dd6 | 15 | #include "azure_c_shared_utility/macro_utils.h" |
XinZhangMS | 0:f7f1f0d76dd6 | 16 | #include "azure_c_shared_utility/umock_c_prod.h" |
XinZhangMS | 0:f7f1f0d76dd6 | 17 | |
XinZhangMS | 0:f7f1f0d76dd6 | 18 | typedef void* DNS_ASYNC_HANDLE; |
XinZhangMS | 0:f7f1f0d76dd6 | 19 | |
XinZhangMS | 0:f7f1f0d76dd6 | 20 | // If options are added in future, DNS_ASYNC_OPTIONS will become a struct containing the options |
XinZhangMS | 0:f7f1f0d76dd6 | 21 | typedef void DNS_ASYNC_OPTIONS; |
XinZhangMS | 0:f7f1f0d76dd6 | 22 | |
XinZhangMS | 0:f7f1f0d76dd6 | 23 | /** |
XinZhangMS | 0:f7f1f0d76dd6 | 24 | * @brief Begin the process of an asynchronous DNS lookup. |
XinZhangMS | 0:f7f1f0d76dd6 | 25 | * |
XinZhangMS | 0:f7f1f0d76dd6 | 26 | * @param hostname The url of the host to look up. |
XinZhangMS | 0:f7f1f0d76dd6 | 27 | * |
XinZhangMS | 0:f7f1f0d76dd6 | 28 | * @return @c The newly created DNS_ASYNC_HANDLE. |
XinZhangMS | 0:f7f1f0d76dd6 | 29 | */ |
XinZhangMS | 0:f7f1f0d76dd6 | 30 | MOCKABLE_FUNCTION(, DNS_ASYNC_HANDLE, dns_async_create, const char*, hostname, DNS_ASYNC_OPTIONS*, options); |
XinZhangMS | 0:f7f1f0d76dd6 | 31 | |
XinZhangMS | 0:f7f1f0d76dd6 | 32 | /** |
XinZhangMS | 0:f7f1f0d76dd6 | 33 | * @brief Continue the lookup process and report its completion state. Must be polled repeatedly for completion. |
XinZhangMS | 0:f7f1f0d76dd6 | 34 | * |
XinZhangMS | 0:f7f1f0d76dd6 | 35 | * @param dns The DNS_ASYNC_HANDLE. |
XinZhangMS | 0:f7f1f0d76dd6 | 36 | * |
XinZhangMS | 0:f7f1f0d76dd6 | 37 | * @return @c A bool to indicate completion. |
XinZhangMS | 0:f7f1f0d76dd6 | 38 | */ |
XinZhangMS | 0:f7f1f0d76dd6 | 39 | MOCKABLE_FUNCTION(, bool, dns_async_is_lookup_complete, DNS_ASYNC_HANDLE, dns); |
XinZhangMS | 0:f7f1f0d76dd6 | 40 | |
XinZhangMS | 0:f7f1f0d76dd6 | 41 | /** |
XinZhangMS | 0:f7f1f0d76dd6 | 42 | * @brief Return the IPv4 of a completed lookup process. Call only after dns_async_is_lookup_complete indicates completion. |
XinZhangMS | 0:f7f1f0d76dd6 | 43 | * |
XinZhangMS | 0:f7f1f0d76dd6 | 44 | * @param dns The DNS_ASYNC_HANDLE. |
XinZhangMS | 0:f7f1f0d76dd6 | 45 | * |
XinZhangMS | 0:f7f1f0d76dd6 | 46 | * @return @c A uint32_t IPv4 address. 0 indicates failure or not finished. |
XinZhangMS | 0:f7f1f0d76dd6 | 47 | */ |
XinZhangMS | 0:f7f1f0d76dd6 | 48 | MOCKABLE_FUNCTION(, uint32_t, dns_async_get_ipv4, DNS_ASYNC_HANDLE, dns); |
XinZhangMS | 0:f7f1f0d76dd6 | 49 | |
XinZhangMS | 0:f7f1f0d76dd6 | 50 | /** |
XinZhangMS | 0:f7f1f0d76dd6 | 51 | * @brief Destroy the module. |
XinZhangMS | 0:f7f1f0d76dd6 | 52 | * |
XinZhangMS | 0:f7f1f0d76dd6 | 53 | * @param dns The DNS_ASYNC_HANDLE. |
XinZhangMS | 0:f7f1f0d76dd6 | 54 | */ |
XinZhangMS | 0:f7f1f0d76dd6 | 55 | MOCKABLE_FUNCTION(, void, dns_async_destroy, DNS_ASYNC_HANDLE, dns); |
XinZhangMS | 0:f7f1f0d76dd6 | 56 | |
XinZhangMS | 0:f7f1f0d76dd6 | 57 | |
XinZhangMS | 0:f7f1f0d76dd6 | 58 | #ifdef __cplusplus |
XinZhangMS | 0:f7f1f0d76dd6 | 59 | } |
XinZhangMS | 0:f7f1f0d76dd6 | 60 | #endif |
XinZhangMS | 0:f7f1f0d76dd6 | 61 | |
XinZhangMS | 0:f7f1f0d76dd6 | 62 | #endif /* AZURE_IOT_DNS_H */ |