#include <ipxe/tcpip.h>
#include <ipxe/settings.h>
#include <ipxe/features.h>
+#include <ipxe/job.h>
#include <ipxe/dhcp.h>
#include <ipxe/dhcpv6.h>
#include <ipxe/dns.h>
dns_done ( dns, rc );
}
+/**
+ * Report job progress
+ *
+ * @v dns DNS request
+ * @v progress Progress report to fill in
+ * @ret ongoing_rc Ongoing job status code (if known)
+ */
+static int dns_progress ( struct dns_request *dns,
+ struct job_progress *progress ) {
+
+ /* Show current question as progress message */
+ dns_decode ( &dns->name, progress->message,
+ sizeof ( progress->message ) );
+ return 0;
+}
+
/** DNS socket interface operations */
static struct interface_operation dns_socket_operations[] = {
INTF_OP ( xfer_deliver, struct dns_request *, dns_xfer_deliver ),
/** DNS resolver interface operations */
static struct interface_operation dns_resolv_op[] = {
+ INTF_OP ( job_progress, struct dns_request *, dns_progress ),
INTF_OP ( intf_close, struct dns_request *, dns_done ),
};