diff options
| author | Michael Brown | 2011-03-09 17:55:51 +0100 |
|---|---|---|
| committer | Michael Brown | 2011-03-09 17:57:34 +0100 |
| commit | 9fa4ac2e9a781861e36e618eb1d461d8dc53a27c (patch) | |
| tree | 437a36ae53aa9361f33c3c435c7b0978a9de42f5 /src/include | |
| parent | [image] Generalise "currently-running script" to "currently-running image" (diff) | |
| download | ipxe-9fa4ac2e9a781861e36e618eb1d461d8dc53a27c.tar.gz ipxe-9fa4ac2e9a781861e36e618eb1d461d8dc53a27c.tar.xz ipxe-9fa4ac2e9a781861e36e618eb1d461d8dc53a27c.zip | |
[image] Simplify use of imgdownload()
Allow imgdownload() to be called without first having to allocate (and
so keep track of) an image.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/ipxe/image.h | 6 | ||||
| -rw-r--r-- | src/include/usr/imgmgmt.h | 10 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/include/ipxe/image.h b/src/include/ipxe/image.h index 328444138..dbcd6d642 100644 --- a/src/include/ipxe/image.h +++ b/src/include/ipxe/image.h @@ -58,8 +58,11 @@ struct image { struct image *replacement; }; +/** Image is registered */ +#define IMAGE_REGISTERED 0x00001 + /** Image is selected for execution */ -#define IMAGE_SELECTED 0x0001 +#define IMAGE_SELECTED 0x0002 /** An executable image type */ struct image_type { @@ -142,6 +145,7 @@ extern void unregister_image ( struct image *image ); struct image * find_image ( const char *name ); extern int image_probe ( struct image *image ); extern int image_exec ( struct image *image ); +extern int image_replace ( struct image *replacement ); extern int image_select ( struct image *image ); extern struct image * image_find_selected ( void ); diff --git a/src/include/usr/imgmgmt.h b/src/include/usr/imgmgmt.h index 4299937fd..1c0a212e3 100644 --- a/src/include/usr/imgmgmt.h +++ b/src/include/usr/imgmgmt.h @@ -11,12 +11,16 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <ipxe/image.h> +extern int register_and_put_image ( struct image *image ); +extern int register_and_probe_image ( struct image *image ); extern int register_and_select_image ( struct image *image ); extern int register_and_boot_image ( struct image *image ); -extern int imgdownload ( struct image *image, struct uri *uri, +extern int register_and_replace_image ( struct image *image ); +extern int imgdownload ( struct uri *uri, const char *name, const char *cmdline, int ( * action ) ( struct image *image ) ); -extern int imgfetch ( struct image *image, const char *uri_string, - int ( * action ) ( struct image *image ) ); +extern int imgdownload_string ( const char *uri_string, const char *name, + const char *cmdline, + int ( * action ) ( struct image *image ) ); extern void imgstat ( struct image *image ); extern void imgfree ( struct image *image ); |
