1 /* $NetBSD: grfioctl.h,v 1.10 2003/08/07 16:28:20 agc Exp $ */ 2 3 /* 4 * Copyright (c) 1990 The Regents of the University of California. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to Berkeley by 8 * the Systems Programming Group of the University of Utah Computer 9 * Science Department. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions and the following disclaimer. 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in the 18 * documentation and/or other materials provided with the distribution. 19 * 3. Neither the name of the University nor the names of its contributors 20 * may be used to endorse or promote products derived from this software 21 * without specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * 35 * from: Utah $Hdr: grfioctl.h 1.1 90/07/09$ 36 * 37 * @(#)grfioctl.h 7.2 (Berkeley) 11/4/90 38 */ 39 /* 40 * Copyright (c) 1988 University of Utah. 41 * 42 * This code is derived from software contributed to Berkeley by 43 * the Systems Programming Group of the University of Utah Computer 44 * Science Department. 45 * 46 * Redistribution and use in source and binary forms, with or without 47 * modification, are permitted provided that the following conditions 48 * are met: 49 * 1. Redistributions of source code must retain the above copyright 50 * notice, this list of conditions and the following disclaimer. 51 * 2. Redistributions in binary form must reproduce the above copyright 52 * notice, this list of conditions and the following disclaimer in the 53 * documentation and/or other materials provided with the distribution. 54 * 3. All advertising materials mentioning features or use of this software 55 * must display the following acknowledgement: 56 * This product includes software developed by the University of 57 * California, Berkeley and its contributors. 58 * 4. Neither the name of the University nor the names of its contributors 59 * may be used to endorse or promote products derived from this software 60 * without specific prior written permission. 61 * 62 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 63 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 64 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 65 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 66 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 67 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 68 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 69 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 70 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 71 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 72 * SUCH DAMAGE. 73 * 74 * from: Utah $Hdr: grfioctl.h 1.1 90/07/09$ 75 * 76 * @(#)grfioctl.h 7.2 (Berkeley) 11/4/90 77 */ 78 79 struct grfmode { 80 u_int8_t mode_id; /* Identifier for mode */ 81 u_int8_t pad0; 82 caddr_t fbbase; /* Base of page of frame buffer */ 83 u_int32_t fbsize; /* Size of frame buffer */ 84 u_int16_t fboff; /* Offset of frame buffer from base */ 85 u_int16_t rowbytes; /* Screen rowbytes */ 86 u_int16_t width; /* Screen width */ 87 u_int16_t height; /* Screen height */ 88 u_int16_t hres; /* Horizontal resolution (dpi) */ 89 u_int16_t vres; /* Vertical resolution (dpi) */ 90 u_int16_t ptype; /* 0 = indexed, 0x10 = direct */ 91 u_int16_t psize; /* Screen depth */ 92 char pad[32]; /* Space for expansion */ 93 } __attribute__((packed)); 94 95 struct grfmodes { 96 int nmodes; /* Number of modes in modelist */ 97 struct grfmode *modelist; /* Pointer to space for modes */ 98 }; 99 100 /* 101 * BSD ioctls (first few match HP/UX ioctl()s. In case we want 102 * compatibility later, start our own at 16). 103 */ 104 #define GRFIOCON _IO('G', 1) /* turn graphics on */ 105 #define GRFIOCOFF _IO('G', 2) /* turn graphics off */ 106 #if defined(GRF_COMPAT) || (NGRF > 0) 107 #define GRFIOCGINFO _IOR('G', 0, struct grfinfo) /* get info on device */ 108 #define GRFIOCMAP _IOWR('G', 5, int) /* map in regs+framebuffer */ 109 #define GRFIOCUNMAP _IOW('G', 6, int) /* unmap regs+framebuffer */ 110 #endif /* GRF_COMPAT || (NGRF > 0) */ 111 112 #define GRFIOCLISTMODES _IOWR('G', 16, struct grfmodes) /* Get list of modes */ 113 #define GRFIOCGETMODE _IOR('G', 17, int) /* Get list of modes */ 114 #define GRFIOCSETMODE _IOW('G', 18, int) /* Set to mode_id mode */ 115 #define GRFIOCGMODE _IOR('G', 19, struct grfmode) /* Get list of modes */ 116 117 #if defined(GRF_COMPAT) || (NGRF > 0) 118 /* 119 * Obsolete structure. 120 * Only used to return information to older programs that still 121 * depend on GRFIOCGINFO. 122 */ 123 struct grfinfo { 124 int gd_id; /* HPUX identifier */ 125 caddr_t gd_regaddr; /* control registers physaddr */ 126 int gd_regsize; /* control registers size */ 127 caddr_t gd_fbaddr; /* frame buffer physaddr */ 128 int gd_fbsize; /* frame buffer size */ 129 short gd_colors; /* number of colors */ 130 short gd_planes; /* number of planes */ 131 int gd_fbwidth; /* frame buffer width */ 132 int gd_fbheight; /* frame buffer height */ 133 int gd_fbrowbytes; /* frame buffer rowbytes */ 134 int gd_dwidth; /* displayed part width */ 135 int gd_dheight; /* displayed part height */ 136 int gd_pad[6]; /* for future expansion */ 137 }; 138 #endif /* GRF_COMPAT || (NGRF > 0) */ 139