/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos720 src/bos/kernext/inet/timerwheel.h 1.2.1.4 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* Restricted Materials of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 2006,2014 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)98 1.2.1.4 src/bos/kernext/inet/timerwheel.h, sysxinet_tcp, bos720 2/18/14 09:47:40 */ #ifndef _TIMERWHEEL_H_ #define _TIMERWHEEL_H_ #include /* * timer structure used in timer-wheel implementation */ typedef struct twheel_timer { struct twheel_timer *next; /* next timer-wheel element in the slot chain */ struct twheel_timer *prev; /* previous timer-wheel element in the slot chain */ caddr_t func_arg; /* argument to function */ void (*func)(caddr_t);/* timeout processing routine */ short flags; /* flags */ short timertype; /* specifies timer type e.g. TCPT_REXMT */ short wheelslot; /* slot in which this timer is placed */ short ticks; /* ticks in units of 'timer_wheel_slot_interval' */ time_t starttime; /* when timer was started */ long reserved[2]; /* reserved fields for future use */ } twheel_timer; #endif