{{page>index}}
-------
===== Init Ecore_Con =====
Before using the Ecore_Con library, it needs to be initialized.
#include
// Init ecore_con library.
int ret = ecore_con_init();
// ret is the number of times the library has been initialized
// without shutdown.
==== Asynchronous DNS lookup ====
We can do a simple DNS lookup using the following function:
EAPI Eina_Bool ecore_con_lookup(const char * name,
Ecore_Con_Dns_Cb done_cb,
const void * data
)
in which:
* ''name'': the IP address or the server name to translate;
* ''done_cb'': a callback to notify when the request is done;
* ''data'': the data to be passed to the callback.
The ''done_cb'' function prototype is :
void done_cb(const char * canonname,
const char * ip,
struct sockaddr * addr,
int addrlen,
void * data
)
where:
* ''canonname'': the canonical name associated with the address;
* ''ip'': the resolved IP address;
* ''addr'': a pointer to the socket address;
* ''addrlen'': the length of the socket address, in bytes;
* ''data'': the data passed to the callback.
As an example, we want to know the canonical name of the 140.211.167.135 IP
address. Let’s first declare the ''done_cb'' callback that will be called when
the DNS lookup will finish.
static void
done_cb(const char *canonname, const char *ip, struct sockaddr *addr, int addrlen, void *data)
{
printf("140.211.167.135 name is %s\n", canonname);
}
Then we can call the ''ecore_con_lookup()'' function to do the query.
// Call ecore_con_lookup.
ret = ecore_con_lookup("140.211.167.135", done_cb, NULL);
// If ret is EINA_FALSE the request failed to set up.
When the request succeeds it shall call the ''done_cb()'' callback that will
printthe name associated with the IP address we gave.
When the library is not be used anymore, it has to be shut down.
// Shutdown the library.
ret = ecore_con_shutdown();
------
{{page>index}}