From 123a98db26041d7c6a3ff3c8d7b6140a068be482 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 1 May 2007 00:11:34 +0000 Subject: [PATCH] Added (non-functional) reference count to struct image --- src/include/gpxe/image.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) 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 #include #include +#include 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 */