diff options
author | Michael Brown | 2011-03-09 14:11:35 +0100 |
---|---|---|
committer | Michael Brown | 2011-03-09 14:11:35 +0100 |
commit | d17a84a056a412f10a85985dc2c43b6fbedd0abd (patch) | |
tree | b01b63c97beef21ee33ac541d86c600580c5a7ce /src/usr | |
parent | [monojob] Display percentage progress, if available (diff) | |
download | ipxe-d17a84a056a412f10a85985dc2c43b6fbedd0abd.tar.gz ipxe-d17a84a056a412f10a85985dc2c43b6fbedd0abd.tar.xz ipxe-d17a84a056a412f10a85985dc2c43b6fbedd0abd.zip |
[image] Move the register_and_{select|boot}_image() functions to imgmgmt.c
These functions are used only as the "action" parameters to
imgdownload() or imgfetch(), and so belong in imgmgmt.c rather than
image.c
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/imgmgmt.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/usr/imgmgmt.c b/src/usr/imgmgmt.c index 6eefdfa5..f375db86 100644 --- a/src/usr/imgmgmt.c +++ b/src/usr/imgmgmt.c @@ -36,6 +36,45 @@ FILE_LICENCE ( GPL2_OR_LATER ); */ /** + * Register and select an image + * + * @v image Executable image + * @ret rc Return status code + */ +int register_and_select_image ( struct image *image ) { + int rc; + + if ( ( rc = register_image ( image ) ) != 0 ) + return rc; + + if ( ( rc = image_probe ( image ) ) != 0 ) + return rc; + + if ( ( rc = image_select ( image ) ) != 0 ) + return rc; + + return 0; +} + +/** + * Register and boot an image + * + * @v image Image + * @ret rc Return status code + */ +int register_and_boot_image ( struct image *image ) { + int rc; + + if ( ( rc = register_and_select_image ( image ) ) != 0 ) + return rc; + + if ( ( rc = image_exec ( image ) ) != 0 ) + return rc; + + return 0; +} + +/** * Download an image * * @v image Image |