cfdev.h revision 1.5 1 1.5 aymeric /* $NetBSD: cfdev.h,v 1.5 2002/04/25 09:20:27 aymeric Exp $ */
2 1.2 cgd
3 1.1 chopps /*
4 1.1 chopps * Copyright (c) 1994 Christian E. Hopps
5 1.1 chopps * All rights reserved.
6 1.1 chopps *
7 1.1 chopps * Redistribution and use in source and binary forms, with or without
8 1.1 chopps * modification, are permitted provided that the following conditions
9 1.1 chopps * are met:
10 1.1 chopps * 1. Redistributions of source code must retain the above copyright
11 1.1 chopps * notice, this list of conditions and the following disclaimer.
12 1.1 chopps * 2. Redistributions in binary form must reproduce the above copyright
13 1.1 chopps * notice, this list of conditions and the following disclaimer in the
14 1.1 chopps * documentation and/or other materials provided with the distribution.
15 1.1 chopps * 3. All advertising materials mentioning features or use of this software
16 1.1 chopps * must display the following acknowledgement:
17 1.1 chopps * This product includes software developed by Christian E. Hopps.
18 1.1 chopps * 4. The name of the author may not be used to endorse or promote products
19 1.1 chopps * derived from this software without specific prior written permission
20 1.1 chopps *
21 1.1 chopps * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 1.1 chopps * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 1.1 chopps * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 1.1 chopps * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 1.1 chopps * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 1.1 chopps * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 1.1 chopps * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 1.1 chopps * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 1.1 chopps * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 1.1 chopps * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 1.1 chopps */
32 1.1 chopps #ifndef _CFDEV_H_
33 1.1 chopps #define _CFDEV_H_
34 1.1 chopps
35 1.1 chopps struct expanrom {
36 1.1 chopps u_char type;
37 1.1 chopps u_char prodid;
38 1.1 chopps u_char flags;
39 1.1 chopps u_char pad;
40 1.1 chopps u_short manid;
41 1.1 chopps u_long serno;
42 1.1 chopps u_short idiagvec;
43 1.1 chopps u_long resv;
44 1.4 is } __attribute__((packed));
45 1.3 chopps
46 1.3 chopps #define ERT_TYPEMASK 0xc0 /* Board type mask */
47 1.3 chopps #define ERT_ZORROII 0xc0 /* Zorro II type */
48 1.3 chopps #define ERT_ZORROIII 0x80 /* Zorro III type */
49 1.3 chopps #define ERTF_MEMLIST (1 << 5) /* Add board to free memory list */
50 1.3 chopps #define ERT_MEMMASK 0x07 /* Board size */
51 1.3 chopps
52 1.3 chopps #define ERFF_EXTENDED (1 << 5) /* Used extended size table */
53 1.3 chopps #define ERT_Z3_SSMASK 0x0f /* Zorro III Sub-Size */
54 1.1 chopps
55 1.1 chopps struct cfdev {
56 1.1 chopps u_char resv0[14];
57 1.1 chopps u_char flags;
58 1.1 chopps u_char pad;
59 1.4 is struct expanrom rom; /* 16 */
60 1.4 is caddr_t addr; /* 32 */
61 1.4 is u_long size; /* 36 */
62 1.4 is u_char resv1[28]; /* 40 */
63 1.1 chopps };
64 1.1 chopps
65 1.5 aymeric extern struct cfdev *cfdev;
66 1.5 aymeric extern int ncfdev;
67 1.1 chopps
68 1.1 chopps #endif /* _CFDEV_H_ */
69