source: rtems/cpukit/libmisc/fb/fb.h @ a163882

4.115
Last change on this file since a163882 was a163882, checked in by Ayush Awasthi <kolaveridi87@…>, on 01/04/13 at 19:09:14

libmisc: Doxygen Clean Up Task #1
Conflicts occured durning this patch and modifications in
the repo were favored over the patch.

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