aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/usr/imgmgmt.h
blob: 1c0a212e3d030275c51e4b3ea7b257b8d20f415b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef _USR_IMGMGMT_H
#define _USR_IMGMGMT_H

/** @file
 *
 * Image management
 *
 */

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 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 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 );

/**
 * Select an image for execution
 *
 * @v image		Image
 * @ret rc		Return status code
 */
static inline int imgselect ( struct image *image ) {
	return image_select ( image );
}

/**
 * Find the previously-selected image
 *
 * @ret image		Image, or NULL
 */
static inline struct image * imgautoselect ( void ) {
	return image_find_selected();
}

/**
 * Execute an image
 *
 * @v image		Image
 * @ret rc		Return status code
 */
static inline int imgexec ( struct image *image ) {
	return image_exec ( image );
}

#endif /* _USR_IMGMGMT_H */