summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/retry.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/include/ipxe/retry.h b/src/include/ipxe/retry.h
index ff26de252..d2ea27fb2 100644
--- a/src/include/ipxe/retry.h
+++ b/src/include/ipxe/retry.h
@@ -49,6 +49,12 @@ struct retry_timer {
* timeout has already exceeded @c MAX_TIMEOUT.
*/
void ( * expired ) ( struct retry_timer *timer, int over );
+ /** Reference counter
+ *
+ * If this interface is not part of a reference-counted
+ * object, this field may be NULL.
+ */
+ struct refcnt *refcnt;
};
/**
@@ -56,11 +62,14 @@ struct retry_timer {
*
* @v timer Retry timer
* @v expired Timer expired callback
+ * @v refcnt Reference counter, or NULL
*/
static inline __attribute__ (( always_inline )) void
timer_init ( struct retry_timer *timer,
- void ( * expired ) ( struct retry_timer *timer, int over ) ) {
+ void ( * expired ) ( struct retry_timer *timer, int over ),
+ struct refcnt *refcnt ) {
timer->expired = expired;
+ timer->refcnt = refcnt;
}
extern void start_timer ( struct retry_timer *timer );