mirror of
https://github.com/ipxe/ipxe
synced 2025-12-17 01:52:08 +03:00
First version
This commit is contained in:
25
src/core/resolv.c
Normal file
25
src/core/resolv.c
Normal file
@@ -0,0 +1,25 @@
|
||||
#include "resolv.h"
|
||||
|
||||
static struct resolver resolvers[0] __table_start(resolver);
|
||||
static struct resolver resolvers_end[0] __table_end(resolver);
|
||||
|
||||
/*
|
||||
* Resolve a name (which may be just a dotted quad IP address) to an
|
||||
* IP address.
|
||||
*
|
||||
*/
|
||||
int resolv ( struct in_addr *address, const char *name ) {
|
||||
struct resolver *resolver;
|
||||
|
||||
/* Check for a dotted quad IP address first */
|
||||
if ( inet_aton ( name, address ) )
|
||||
return 1;
|
||||
|
||||
/* Try any compiled-in name resolution modules */
|
||||
for ( resolver = resolvers ; resolver < resolvers_end ; resolver++ ) {
|
||||
if ( resolver->resolv ( address, name ) )
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user