/* krxtimod.h: RxRPC timeout daemon * * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved. * Written by David Howells (dhowells@redhat.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ #ifndef _LINUX_RXRPC_KRXTIMOD_H #define _LINUX_RXRPC_KRXTIMOD_H #include struct rxrpc_timer_ops { /* called when the front of the timer queue has timed out */ void (*timed_out)(struct rxrpc_timer *timer); }; /*****************************************************************************/ /* * RXRPC timer/timeout record */ struct rxrpc_timer { struct list_head link; /* link in timer queue */ unsigned long timo_jif; /* timeout time */ const struct rxrpc_timer_ops *ops; /* timeout expiry function */ }; static inline void rxrpc_timer_init(rxrpc_timer_t *timer, const struct rxrpc_timer_ops *ops) { INIT_LIST_HEAD(&timer->link); timer->ops = ops; } extern int rxrpc_krxtimod_start(void); extern void rxrpc_krxtimod_kill(void); extern void rxrpc_krxtimod_add_timer(rxrpc_timer_t *timer, unsigned long timeout); extern int rxrpc_krxtimod_del_timer(rxrpc_timer_t *timer); #endif /* _LINUX_RXRPC_KRXTIMOD_H */