1: /*
2: * Copyright (c) 1986 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)callout.h 1.1 (2.10BSD Berkeley) 12/1/86
7: */
8:
9: /*
10: * The callout structure is for
11: * a routine arranging
12: * to be called by the clock interrupt
13: * (clock.c) with a specified argument,
14: * in a specified amount of time.
15: * Used, for example, to time tab
16: * delays on typewriters.
17: *
18: * The c_time field is stored in terms of ticks. Therefore, no callout
19: * may be scheduled past around 8 minutes on a 60 HZ machine. This is
20: * good as it avoids long operations on clock ticks. If you are ever
21: * forced to use a long, you might as well start doing the real-time
22: * timer as a timeout like 4.3BSD.
23: */
24:
25: struct callout {
26: int c_time; /* incremental time */
27: caddr_t c_arg; /* argument to routine */
28: int (*c_func)(); /* routine */
29: struct callout *c_next;
30: };
31: #if defined(KERNEL) && !defined(SUPERVISOR)
32: struct callout *callfree, callout[], calltodo;
33: int ncallout;
34: #endif
Defined variables
Defined struct's
Usage of this include