discover_server_notify_boot_status(handler->server, status);
}
+static void _device_handler_vstatus(struct device_handler *handler,
+ enum status_type type, const char *fmt, va_list ap)
+{
+ struct status status;
+
+ status.type = type;
+ status.message = talloc_vasprintf(handler, fmt, ap);
+
+ device_handler_status(handler, &status);
+
+ talloc_free(status.message);
+}
+
+void device_handler_status_info(struct device_handler *handler,
+ const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ _device_handler_vstatus(handler, STATUS_INFO, fmt, ap);
+ va_end(ap);
+}
+
+void device_handler_status_err(struct device_handler *handler,
+ const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ _device_handler_vstatus(handler, STATUS_ERROR, fmt, ap);
+ va_end(ap);
+}
+
static void device_handler_boot_status_cb(void *arg, struct status *status)
{
device_handler_status(arg, status);
void device_handler_status(struct device_handler *handler,
struct status *status);
+void device_handler_status_info(struct device_handler *handler,
+ const char *fmt, ...);
+void device_handler_status_err(struct device_handler *handler,
+ const char *fmt, ...);
struct discover_context *device_handler_discover_context_create(
struct device_handler *handler,
{
struct conf_context *conf = data;
struct device_handler *handler;
- struct status status = {0};
struct pxe_parser_info *info;
char *buf = NULL;
int len, rc = 0;
handler = talloc_parent(conf);
device_handler_discover_context_commit(handler, conf->dc);
- status.type = STATUS_INFO;
/*
* TRANSLATORS: the format specifier in this string in an IP address,
* eg. 192.168.1.1
*/
- status.message = talloc_asprintf(conf, _("pxe: parsed config for %s"),
+ device_handler_status_info(handler, _("pxe: parsed config for %s"),
conf->dc->conf_url->host);
- device_handler_status(handler, &status);
talloc_free(buf);
out_clean: