Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Avoid strict-aliasing related issues when compiling with optimization
[palacios.git] / linux_usr / v3_fb.h
1 #ifndef __v3_fb_h__
2 #define __v3_fb_h__
3
4 #ifdef __cplusplus
5 #define EXTERNC extern "C"
6 #else
7 #define EXTERNC
8 #endif
9
10 #include <stdint.h>
11
12
13 EXTERNC struct v3_frame_buffer_spec {
14     uint32_t height;
15     uint32_t width;
16     uint8_t  bytes_per_pixel; 
17     uint8_t  bits_per_channel;
18     uint8_t  red_offset;   // byte offset in pixel to get to red channel
19     uint8_t  green_offset; // byte offset in pixel to get to green channel
20     uint8_t  blue_offset;  // byte offset in pixel to get to blue channel
21 };
22
23 EXTERNC int v3_get_fb_spec(int fd, struct v3_frame_buffer_spec *spec);
24 EXTERNC int v3_have_update(int fd);
25 EXTERNC int v3_get_fb_data(int fd, struct v3_frame_buffer_spec *spec, void *data);
26
27
28 EXTERNC int v3_send_key(int fd, uint8_t scan_code);
29 EXTERNC int v3_send_mouse(int fd, 
30                           uint8_t sx, uint8_t dx, // dx sign and dx
31                           uint8_t sy, uint8_t dy, // dy sign and dy
32                           uint8_t buttons);       // button state
33
34
35
36 #endif