diff options
author | Michael Brown <mcb30@etherboot.org> | 2007-05-01 00:11:34 +0000 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2007-05-01 00:11:34 +0000 |
commit | 123a98db26041d7c6a3ff3c8d7b6140a068be482 (patch) | |
tree | 1bc3141504df82d5a885c32d227fa711a7e19ec1 /src/include/gpxe/image.h | |
parent | 53da1f14023d435a952484ed02a44a965d1f5ac2 (diff) | |
download | ipxe-123a98db26041d7c6a3ff3c8d7b6140a068be482.tar.gz |
Added (non-functional) reference count to struct image
Diffstat (limited to 'src/include/gpxe/image.h')
-rw-r--r-- | src/include/gpxe/image.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/include/gpxe/image.h b/src/include/gpxe/image.h index 6875a204..08a1dd90 100644 --- a/src/include/gpxe/image.h +++ b/src/include/gpxe/image.h @@ -11,6 +11,7 @@ #include <gpxe/tables.h> #include <gpxe/list.h> #include <gpxe/uaccess.h> +#include <gpxe/refcnt.h> struct image_type; @@ -19,6 +20,9 @@ struct image_type; /** An executable or loadable image */ struct image { + /** Reference count */ + struct refcnt refcnt; + /** Name */ char name[16]; /** List of registered images */ @@ -117,4 +121,24 @@ extern int image_load ( struct image *image ); extern int image_autoload ( struct image *image ); extern int image_exec ( struct image *image ); +/** + * Increment reference count on an image + * + * @v image Image + * @ret image Image + */ +static inline struct image * image_get ( struct image *image ) { + ref_get ( &image->refcnt ); + return image; +} + +/** + * Decrement reference count on an image + * + * @v image Image + */ +static inline void image_put ( struct image *image ) { + ref_put ( &image->refcnt ); +} + #endif /* _GPXE_IMAGE_H */ |