1 /* $NetBSD: grfioctl.h,v 1.13 2007/03/04 06:00:08 christos 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 #ifndef _MAC68K_GRFIOCTL_H_ 80 #define _MAC68K_GRFIOCTL_H_ 81 82 struct grfmode { 83 u_int8_t mode_id; /* Identifier for mode */ 84 u_int8_t pad0; 85 void * fbbase; /* Base of page of frame buffer */ 86 u_int32_t fbsize; /* Size of frame buffer */ 87 u_int16_t fboff; /* Offset of frame buffer from base */ 88 u_int16_t rowbytes; /* Screen rowbytes */ 89 u_int16_t width; /* Screen width */ 90 u_int16_t height; /* Screen height */ 91 u_int16_t hres; /* Horizontal resolution (dpi) */ 92 u_int16_t vres; /* Vertical resolution (dpi) */ 93 u_int16_t ptype; /* 0 = indexed, 0x10 = direct */ 94 u_int16_t psize; /* Screen depth */ 95 char pad[32]; /* Space for expansion */ 96 } __attribute__((packed)); 97 98 struct grfmodes { 99 int nmodes; /* Number of modes in modelist */ 100 struct grfmode *modelist; /* Pointer to space for modes */ 101 }; 102 103 /* 104 * BSD ioctls (first few match HP/UX ioctl()s. In case we want 105 * compatibility later, start our own at 16). 106 */ 107 #define GRFIOCON _IO('G', 1) /* turn graphics on */ 108 #define GRFIOCOFF _IO('G', 2) /* turn graphics off */ 109 #if defined(GRF_COMPAT) || (NGRF > 0) 110 #define GRFIOCGINFO _IOR('G', 0, struct grfinfo) /* get info on device */ 111 #define GRFIOCMAP _IOWR('G', 5, int) /* map in regs+framebuffer */ 112 #define GRFIOCUNMAP _IOW('G', 6, int) /* unmap regs+framebuffer */ 113 #endif /* GRF_COMPAT || (NGRF > 0) */ 114 115 #define GRFIOCLISTMODES _IOWR('G', 16, struct grfmodes) /* Get list of modes */ 116 #define GRFIOCGETMODE _IOR('G', 17, int) /* Get list of modes */ 117 #define GRFIOCSETMODE _IOW('G', 18, int) /* Set to mode_id mode */ 118 #define GRFIOCGMODE _IOR('G', 19, struct grfmode) /* Get list of modes */ 119 120 #if defined(GRF_COMPAT) || (NGRF > 0) 121 /* 122 * Obsolete structure. 123 * Only used to return information to older programs that still 124 * depend on GRFIOCGINFO. 125 */ 126 struct grfinfo { 127 int gd_id; /* HPUX identifier */ 128 void * gd_regaddr; /* control registers physaddr */ 129 int gd_regsize; /* control registers size */ 130 void * gd_fbaddr; /* frame buffer physaddr */ 131 int gd_fbsize; /* frame buffer size */ 132 short gd_colors; /* number of colors */ 133 short gd_planes; /* number of planes */ 134 int gd_fbwidth; /* frame buffer width */ 135 int gd_fbheight; /* frame buffer height */ 136 int gd_fbrowbytes; /* frame buffer rowbytes */ 137 int gd_dwidth; /* displayed part width */ 138 int gd_dheight; /* displayed part height */ 139 int gd_pad[6]; /* for future expansion */ 140 }; 141 #endif /* GRF_COMPAT || (NGRF > 0) */ 142 143 #endif /* _MAC68K_GRFIOCTL_H_ */ 144