I assume you are initializing LWIP via a call to tcip_init()? If so, the DNS
module should be correctly initialized, which eliminates one possible reason
for an ERR_VAL result. Your parameters look OK, which rules out all the other
"immediate error" results which can return ERR_VAL.
(I've just filed a bug report, as the init/parameter error conditions are
supposed to return ERR_ARG but are actually returning ERR_VAL.)
ERR_VAL is also returned if there is an invalid response from the DNS sever.
The comment in do_dns_found() suggests this could be a timeout or memory error,
or the DNS server may have returned an error such as a nonexistent domain name.
----- Original Message -----
From: Bei Guan
To: Mailing list for lwIP users
Sent: Friday, November 19, 2010 4:25 AM
Subject: [lwip-users] Re: Problem on using DNS function in app
Now I can compile successfully. But there are some error and the value of the
error is -9, which means "Illegal value".
My code:
char hname[]="www.baidu.com";
struct ip_addr addr;
err_t err;
if ((err = netconn_gethostbyname((char*)(hname), &(addr))) == ERR_OK) {
printf("netconn_gethostbyname(%s)==", (char*)(hname));
ip_addr_debug_print(LWIP_DBG_ON, (&addr));
printf("\n");
} else {
printf("netconn_gethostbyname(%s)==%i\n", (char*)(hname), (int)(err));
}
And the output:
netconn_gethostbyname(www.baidu.com)==-9
So why the DNS can not work?
2010/11/18 Bei Guan <[email protected]>
Hi all,
I have used the function netconn_gethostbyname in my program. I have set
the #define LWIP_DNS 1 in lwipopts.h and I also have include the "lwip/api.h"
before my main function. When I compile my program, it came cross an error
message: undefined reference to `netconn_gethostbyname'. But some other
function can be used successfully, such as netconn_connect.
So anyone can give me advice. Thanks a lot!
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users