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