3 * This file is subject to the terms and conditions of the GNU General Public
4 * License. See the file "COPYING" in the main directory of this archive
7 * This is the user-visible SGI GFX interface.
9 * This must be used verbatim into the GNU libc. It does not include
10 * any kernel-only bits on it.
12 * miguel@nuclecu.unam.mx
17 /* The iocls, yes, they do not make sense, but such is life */
19 #define GFX_GETNUM_BOARDS (GFX_BASE + 1)
20 #define GFX_GETBOARD_INFO (GFX_BASE + 2)
21 #define GFX_ATTACH_BOARD (GFX_BASE + 3)
22 #define GFX_DETACH_BOARD (GFX_BASE + 4)
23 #define GFX_IS_MANAGED (GFX_BASE + 5)
25 #define GFX_MAPALL (GFX_BASE + 10)
26 #define GFX_LABEL (GFX_BASE + 11)
28 #define GFX_INFO_NAME_SIZE 16
29 #define GFX_INFO_LABEL_SIZE 16
32 char name
[GFX_INFO_NAME_SIZE
]; /* board name */
33 char label
[GFX_INFO_LABEL_SIZE
]; /* label name */
34 unsigned short int xpmax
, ypmax
; /* screen resolution */
35 unsigned int lenght
; /* size of a complete gfx_info for this board */
38 struct gfx_getboardinfo_args
{
39 unsigned int board
; /* board number. starting from zero */
40 void *buf
; /* pointer to gfx_info */
41 unsigned int len
; /* buffer size of buf */
44 struct gfx_attach_board_args
{
45 unsigned int board
; /* board number, starting from zero */
46 void *vaddr
; /* address where the board registers should be mapped */
51 extern void remove_mapping (struct task_struct
*, unsigned long, unsigned long);
52 extern void *vmalloc_uncached (unsigned long size
);
53 extern int vmap_page_range (unsigned long from
, unsigned long size
, unsigned long vaddr
);
56 #endif /* _ASM_GFX_H */