diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/ipxe/retry.h | 11 |
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 ); |
