diff options
Diffstat (limited to 'gpxe/src/arch/i386/interface/syslinux/comboot_resolv.c')
-rw-r--r-- | gpxe/src/arch/i386/interface/syslinux/comboot_resolv.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/gpxe/src/arch/i386/interface/syslinux/comboot_resolv.c b/gpxe/src/arch/i386/interface/syslinux/comboot_resolv.c deleted file mode 100644 index 30ac502e..00000000 --- a/gpxe/src/arch/i386/interface/syslinux/comboot_resolv.c +++ /dev/null @@ -1,60 +0,0 @@ -#include <errno.h> -#include <comboot.h> -#include <gpxe/in.h> -#include <gpxe/list.h> -#include <gpxe/process.h> -#include <gpxe/resolv.h> - -FILE_LICENCE ( GPL2_OR_LATER ); - -static int comboot_resolv_rc; -static struct in_addr comboot_resolv_addr; - -static void comboot_resolv_done ( struct resolv_interface *resolv, - struct sockaddr *sa, int rc ) { - struct sockaddr_in *sin; - - resolv_unplug ( resolv ); - - if ( rc != 0 ) { - comboot_resolv_rc = rc; - return; - } - - if ( sa->sa_family != AF_INET ) { - comboot_resolv_rc = -EAFNOSUPPORT; - return; - } - - sin = ( ( struct sockaddr_in * ) sa ); - comboot_resolv_addr = sin->sin_addr; - - comboot_resolv_rc = 0; -} - -static struct resolv_interface_operations comboot_resolv_ops = { - .done = comboot_resolv_done, -}; - -static struct resolv_interface comboot_resolver = { - .intf = { - .dest = &null_resolv.intf, - .refcnt = NULL, - }, - .op = &comboot_resolv_ops, -}; - -int comboot_resolv ( const char *name, struct in_addr *address ) { - int rc; - - comboot_resolv_rc = -EINPROGRESS; - - if ( ( rc = resolv ( &comboot_resolver, name, NULL ) ) != 0 ) - return rc; - - while ( comboot_resolv_rc == -EINPROGRESS ) - step(); - - *address = comboot_resolv_addr; - return comboot_resolv_rc; -} |