RTEMS  5.0.0
fb.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (c) 2000 - Rosimildo da Silva
11  */
12 
13 #ifndef _MW_FB_H
14 #define _MW_FB_H
15 
16 #include <stdint.h>
17 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 /* ioctls
30  0x46 is 'F' */
31 #define FBIOGET_VSCREENINFO 0x4600
32 #define FBIOPUT_VSCREENINFO 0x4601
33 #define FBIOGET_FSCREENINFO 0x4602
34 #define FBIOGETCMAP 0x4604
35 #define FBIOPUTCMAP 0x4605
36 #define FB_EXEC_FUNCTION 0x4606
37 #define FBIOSWAPBUFFERS 0x4607
38 #define FBIOSETBUFFERMODE 0x4608
39 #define FBIOSETVIDEOMODE 0x4609
40 
41 #define FB_SINGLE_BUFFERED 0
42 #define FB_TRIPLE_BUFFERED 1
43 
44 #define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
45 #define FB_TYPE_PLANES 1 /* Non interleaved planes */
46 #define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */
47 #define FB_TYPE_TEXT 3 /* Text/attributes */
48 #define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */
49 #define FB_TYPE_VIRTUAL_BUFFER 5 /* Virtual Buffer */
50 
51 
52 #define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */
53 #define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */
54 #define FB_VISUAL_TRUECOLOR 2 /* True color */
55 #define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */
56 #define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */
57 #define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */
58 
59 #define FB_ACCEL_NONE 0 /* no hardware accelerator */
60 
61 struct fb_bitfield {
62  uint32_t offset; /* beginning of bitfield */
63  uint32_t length; /* length of bitfield */
64  uint32_t msb_right; /* != 0 : Most significant bit is */
65  /* right */
66 };
67 
69  uint32_t xres; /* visible resolution */
70  uint32_t yres;
71  uint32_t bits_per_pixel; /* guess what */
72  struct fb_bitfield red; /* bitfield in fb mem if true color, */
73  struct fb_bitfield green; /* else only length is significant */
74  struct fb_bitfield blue;
75  struct fb_bitfield transp; /* transparency */
76 };
77 
79  volatile char *smem_start; /* Start of frame buffer mem */
80  /* (physical address) */
81  uint32_t smem_len; /* Length of frame buffer mem */
82  uint32_t type; /* see FB_TYPE_* */
83  uint32_t visual; /* see FB_VISUAL_* */
84  uint32_t line_length; /* number of chars per line */
85 };
86 
87 struct fb_cmap {
88  uint32_t start; /* First entry */
89  uint32_t len; /* Number of entries */
90  uint16_t *red; /* Red values */
91  uint16_t *green;
92  uint16_t *blue;
93  uint16_t *transp; /* transparency, can be NULL */
94 };
95 
96 #ifdef __cplusplus
97 }
98 #endif
99 
101 #endif /* _MW_FB_H */
Definition: fb.h:68
Definition: fb.h:61
Definition: fb.h:87
Definition: fb.h:78