/* kafstimod.h: AFS 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_AFS_KAFSTIMOD_H #define _LINUX_AFS_KAFSTIMOD_H #include "types.h" struct afs_timer; struct afs_timer_ops { /* called when the front of the timer queue has timed out */ void (*timed_out)(struct afs_timer *timer); }; /*****************************************************************************/ /* * AFS timer/timeout record */ struct afs_timer { struct list_head link; /* link in timer queue */ unsigned long timo_jif; /* timeout time */ const struct afs_timer_ops *ops; /* timeout expiry function */ }; static inline void afs_timer_init(struct afs_timer *timer, const struct afs_timer_ops *ops) { INIT_LIST_HEAD(&timer->link); timer->ops = ops; } extern int afs_kafstimod_start(void); extern void afs_kafstimod_stop(void); extern void afs_kafstimod_add_timer(struct afs_timer *timer, unsigned long timeout); extern int afs_kafstimod_del_timer(struct afs_timer *timer); #endif /* _LINUX_AFS_KAFSTIMOD_H */