Documentation Index
Fetch the complete documentation index at: https://notevil.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Open topic with navigation
OnIpGetHostByName
CAPL Functions » TCP/IP API » OnIpGetHostByName
Valid for: CANoe DE • CANoe4SW DE
Function Syntax
void OnIpGetHostByName(long result, char hostname[], dword ipv4Address[], dword count); // from 1
void OnIpGetHostByName(long result, char hostname[], byte ipv6Address[][], dword count); // from 2
Description
The callback is called if a previous call of IpGetHostByName is returned with error code WSAEWOULDBLOCK (10035) and the dissolve of the address is completed.
Parameters
- result: The result of the function. See the Winsock 2 Error Codes for possible errors. Typical values are:
- result: 0: The function completed successfully.
- WSAHOST_NOT_FOUND (11001): Host not found.
- hostname: The hostname which was resolved by the function.
- ipv4Address: Array in which the determined IPv4 addresses are written.
- ipv6Address: Array in which the determined IPv6 addresses are written.
- count: Number of determined addresses.
Return Values
—
Example
//
// This example is only running when "Use TCP/IP stack of operating system"
// is selected.
//
on start
{
long result;
dword count;
dword v4Addrs[10];
char hostname[255];
//
// get IPv4 address of www.vector.de
//
count = elCount(v4Addrs);
strncat(hostname, "www.vector.de", elcount(hostname));
result = IpGetHostByName(hostname, v4Addrs, count);
WriteAddresses(result, hostname, v4Addrs, count);
}
//
// callback is called when the DNS lookup has completed
//
void OnIpGetHostByName(long result, char hostname[], dword ipv4Address[], dword count)
{
WriteAddresses(result, hostname, ipv4Address, count);
}
//
// print the address to the write window
//
void WriteAddresses(dword result, char hostname[], dword ipv4Address[], dword count)
{
dword loop;
char addrStr[16];
if(result == 0)
{
write("IPv4 Addresses of %s:", hostname);
for(loop = 0; loop < count; loop++)
{
ipGetAddressAsString(ipv4Address[loop], addrStr, elcount(addrStr));
write("%s", addrStr);
}
}
else if(result == 11001)
{
write("host %s not found", hostname);
}
}