diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2016-12-12 15:43:21 +0800 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2016-12-20 16:40:21 +1100 |
commit | 8ed7af65d5eaea57a62c26bef6267047cf3c95ea (patch) | |
tree | f42e72b0d7ae399fb1c585464c19dc26b9301b80 | |
parent | 458e307dd5a19de5c530c9eebeffadfce1a48feb (diff) | |
download | petitboot-8ed7af65d5eaea57a62c26bef6267047cf3c95ea.zip petitboot-8ed7af65d5eaea57a62c26bef6267047cf3c95ea.tar.gz |
discover: Add device-specific status reporting functions
Most of our status reporting is against a specific device, so add
status reporting functions that take a struct discover_device and use a
stnadard prefix.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
-rw-r--r-- | discover/device-handler.c | 32 | ||||
-rw-r--r-- | discover/device-handler.h | 4 |
2 files changed, 36 insertions, 0 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c index 281a3c4..87a46c7 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -429,6 +429,38 @@ static void _device_handler_vstatus(struct device_handler *handler, talloc_free(status.message); } +static void _device_handler_vdevstatus(struct device_handler *handler, + struct discover_device *device, enum status_type type, + const char *fmt, va_list ap) +{ + char *msg; + + msg = talloc_asprintf(handler, "[%s] %s", + device ? device->device->id : "unknown", fmt); + _device_handler_vstatus(handler, type, msg, ap); + talloc_free(msg); +} + +void device_handler_status_dev_info(struct device_handler *handler, + struct discover_device *dev, const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + _device_handler_vdevstatus(handler, dev, STATUS_INFO, fmt, ap); + va_end(ap); +} + +void device_handler_status_dev_err(struct device_handler *handler, + struct discover_device *dev, const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + _device_handler_vdevstatus(handler, dev, STATUS_ERROR, fmt, ap); + va_end(ap); +} + void device_handler_status_info(struct device_handler *handler, const char *fmt, ...) { diff --git a/discover/device-handler.h b/discover/device-handler.h index f4022e7..fe8a3b0 100644 --- a/discover/device-handler.h +++ b/discover/device-handler.h @@ -102,6 +102,10 @@ void device_handler_status_info(struct device_handler *handler, const char *fmt, ...); void device_handler_status_err(struct device_handler *handler, const char *fmt, ...); +void device_handler_status_dev_info(struct device_handler *handler, + struct discover_device *dev, const char *fmt, ...); +void device_handler_status_dev_err(struct device_handler *handler, + struct discover_device *dev, const char *fmt, ...); struct discover_context *device_handler_discover_context_create( struct device_handler *handler, |