]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ntp/kernel/sys/i8253.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ntp / kernel / sys / i8253.h
1 /* Copyright (c) 1995 Vixie Enterprises
2  *
3  * Permission to use, copy, modify, and distribute this software for any
4  * purpose with or without fee is hereby granted, provided that the above
5  * copyright notice and this permission notice appear in all copies, and that
6  * the name of Vixie Enterprises not be used in advertising or publicity
7  * pertaining to distribution of the document or software without specific,
8  * written prior permission.
9  * 
10  * THE SOFTWARE IS PROVIDED "AS IS" AND VIXIE ENTERPRISES DISCLAIMS ALL
11  * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL VIXIE ENTERPRISES
13  * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
14  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
15  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
16  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
17  * SOFTWARE.
18  */
19
20 #ifndef _I8253_DEFINED
21 #define _I8253_DEFINED
22
23 typedef union {
24         unsigned char   i;
25         struct {
26                 unsigned int    bcd     : 1;
27 #define                         i8253_binary    0
28 #define                         i8253_bcd       1
29                 unsigned int    mode    : 3;
30 #define                         i8253_termcnt   0
31 #define                         i8253_oneshot   1
32 #define                         i8253_rategen   2
33 #define                         i8253_sqrwave   3
34 #define                         i8253_softstb   4
35 #define                         i8253_hardstb   5
36                 unsigned int    rl      : 2;
37 #define                         i8253_latch     0
38 #define                         i8253_lsb       1
39 #define                         i8253_msb       2
40 #define                         i8253_lmb       3
41                 unsigned int    cntr    : 2;
42 #define                         i8253_cntr_0    0
43 #define                         i8253_cntr_1    1
44 #define                         i8253_cntr_2    2
45         } s;
46 } i8253_ctrl;
47
48 #endif /*_I8253_DEFINED*/