Data Fields
image Struct Reference

An executable image. More...

#include <image.h>

Data Fields

struct refcnt refcnt
 Reference count. More...
struct list_head list
 List of registered images. More...
struct uriuri
 URI of image. More...
char * name
 Name. More...
unsigned int flags
 Flags. More...
char * cmdline
 Command line to pass to image. More...
userptr_t data
 Raw file image. More...
size_t len
 Length of raw file image. More...
struct image_typetype
 Image type, if known. More...
struct imagereplacement
 Replacement image. More...

Detailed Description

An executable image.

Definition at line 24 of file image.h.

Field Documentation

◆ refcnt

struct refcnt image::refcnt

Reference count.

Definition at line 26 of file image.h.

Referenced by alloc_image(), image_get(), and image_put().

◆ list

struct list_head image::list

List of registered images.

Definition at line 29 of file image.h.

Referenced by first_image(), register_image(), and unregister_image().

◆ uri

struct uri* image::uri

URI of image.

Definition at line 32 of file image.h.

Referenced by create_downloader(), free_image(), image_exec(), image_extract(), image_set_uri(), and multiboot_add_cmdline().

◆ name

char* image::name

◆ flags

unsigned int image::flags

◆ cmdline

char* image::cmdline

◆ data

userptr_t image::data

◆ len

size_t image::len

◆ type

struct image_type* image::type

◆ replacement

struct image* image::replacement

Replacement image.

An image wishing to replace itself with another image (in a style similar to a Unix exec() call) should return from its exec() method with the replacement image set to point to the new image.

If an image unregisters itself as a result of being executed, it must make sure that its replacement image (if any) is registered, otherwise the replacement is likely to be freed before it can be executed.

Definition at line 60 of file image.h.

Referenced by com32_exec_loop(), comboot_exec_loop(), free_image(), image_exec(), and image_replace().

The documentation for this struct was generated from the following file: