summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMichael Brown2011-03-09 17:55:51 +0100
committerMichael Brown2011-03-09 17:57:34 +0100
commit9fa4ac2e9a781861e36e618eb1d461d8dc53a27c (patch)
tree437a36ae53aa9361f33c3c435c7b0978a9de42f5 /src/include
parent[image] Generalise "currently-running script" to "currently-running image" (diff)
downloadipxe-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.h6
-rw-r--r--src/include/usr/imgmgmt.h10
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 );