BSD 4_3_Net_2 development
[unix-history] / .ref-BSD-4_3_Reno / usr / src / sys / hpdev / grfvar.h
CommitLineData
60f56dfc
KM
1/*
2 * Copyright (c) 1988 University of Utah.
3 * Copyright (c) 1990 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * the Systems Programming Group of the University of Utah Computer
8 * Science Department.
9 *
1c15e888
C
10 * Redistribution is only permitted until one year after the first shipment
11 * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and
12 * binary forms are permitted provided that: (1) source distributions retain
13 * this entire copyright notice and comment, and (2) distributions including
14 * binaries display the following acknowledgement: This product includes
15 * software developed by the University of California, Berkeley and its
16 * contributors'' in the documentation or other materials provided with the
17 * distribution and in all advertising materials mentioning features or use
18 * of this software. Neither the name of the University nor the names of
19 * its contributors may be used to endorse or promote products derived from
20 * this software without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
22 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
23 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
60f56dfc 24 *
1c15e888 25 * from: Utah $Hdr: grfvar.h 1.8 89/01/18$
60f56dfc 26 *
1c15e888 27 * @(#)grfvar.h 7.1 (Berkeley) 5/8/90
60f56dfc
KM
28 */
29
30#define GRFMAXLCK 256
31
32/* per display info */
33struct grf_softc {
34 int g_flags; /* software flags */
35 int g_type; /* type of display */
36 struct grfinfo g_display; /* hardware description */
37 struct proc *g_lockp; /* process holding lock */
38 int g_lockpslot; /* g_pid entry of g_lockp */
39 u_char *g_locks; /* lock page associated with device */
40 short *g_pid; /* array of pids with device open */
41};
42
43/* flags */
44#define GF_ALIVE 0x01
45#define GF_OPEN 0x02
46#define GF_EXCLUDE 0x04
47#define GF_WANTED 0x08
48#define GF_BSDOPEN 0x10
49#define GF_HPUXOPEN 0x20
50
51/* display types - indices into grfdev */
52#define GT_TOPCAT 0
53#define GT_GATORBOX 1
54#define GT_RENAISSANCE 2
55#define GT_LRCATSEYE 3
56#define GT_HRCCATSEYE 4
57#define GT_HRMCATSEYE 5
58#define GT_DAVINCI 6
59
60struct grfdev {
61 int gd_hardid; /* secondary id returned by hardware */
62 int gd_softid; /* id returned by HP-UX */
63 int (*gd_init)(); /* boot time initialization */
64 int (*gd_mode)(); /* misc functions */
65 char *gd_desc; /* text description */
66};
67
68/* hardware ids */
69#define GID_GATORBOX 1
70#define GID_TOPCAT 2
71#define GID_RENAISSANCE 4
72#define GID_LRCATSEYE 5
73#define GID_HRCCATSEYE 6
74#define GID_HRMCATSEYE 7
75#define GID_DAVINCI 8
76
77/* software ids defined in grfioctl.h */
78
79/* requests to mode routine */
80#define GM_GRFON 1
81#define GM_GRFOFF 2
82#define GM_GRFOVON 3
83#define GM_GRFOVOFF 4
84
85struct grfreg {
86 char gr_pad0;
87 u_char gr_id; /* +0x01 */
88 char gr_pad1[0x13];
89 u_char gr_id2; /* +0x15 */
90 char gr_pad2[0x47];
91 u_char gr_fbomsb; /* +0x5d */
92 char gr_pad3;
93 u_char gr_fbolsb; /* +0x5f */
94};
95/* bitmapped display hardware id */
96#define GRFHWID 0x39
97
98/* internal bitmapped display address */
99#define GRFIADDR 0x560000
100
101/* minor device interpretation */
102#define GRFOVDEV 0x10 /* overlay planes */
103#define GRFIMDEV 0x20 /* images planes */
104#define GRFUNIT(d) ((d) & 0x7)
105
106#ifdef KERNEL
107extern struct grf_softc grf_softc[];
108#endif