Rev 1363 | Rev 1485 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1363 | Rev 1366 | ||
|---|---|---|---|
| Line 9... | Line 9... | ||
| 9 | #define FB_GET_VFB 1024 |
9 | #define FB_GET_VFB 1024 |
| 10 | #define FB_PUTCHAR 1025 |
10 | #define FB_PUTCHAR 1025 |
| 11 | 11 | ||
| 12 | #define METHOD_WIDTH 16 |
12 | #define METHOD_WIDTH 16 |
| 13 | #define ITEM_WIDTH 16 |
13 | #define ITEM_WIDTH 16 |
| 14 | #define COUNT_WIDTH 16 /*Should be 8 times integer*/ |
14 | #define COUNT_WIDTH 16 /* Should be 8 times integer */ |
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | struct _fb_method |
17 | struct _fb_method { |
| 18 | { |
- | |
| 19 | unsigned m : METHOD_WIDTH; |
18 | unsigned m : METHOD_WIDTH; |
| 20 | unsigned item : ITEM_WIDTH; |
19 | unsigned item : ITEM_WIDTH; |
| 21 | } __attribute__ ((packed)); |
20 | } __attribute__((packed)); |
| 22 | 21 | ||
| 23 | union fb_method |
22 | union fb_method { |
| 24 | { |
- | |
| 25 | struct _fb_method m; |
23 | struct _fb_method m; |
| 26 | __native fill; |
24 | __native fill; |
| 27 | }__attribute__ ((packed)); |
25 | } __attribute__((packed)); |
| 28 | 26 | ||
| 29 | struct fb_call_args |
27 | struct fb_call_args { |
| 30 | { |
- | |
| 31 | union fb_method method; |
28 | union fb_method method; |
| 32 | union |
29 | union { |
| 33 | { |
- | |
| 34 | struct |
30 | struct { |
| 35 | { |
- | |
| 36 | unsigned count :COUNT_WIDTH; |
31 | unsigned count : COUNT_WIDTH; |
| 37 | char chars[3*sizeof(__native)-(COUNT_WIDTH>>3)]; |
32 | char chars[3 * sizeof(__native) - (COUNT_WIDTH >> 3)]; |
| 38 | }putchar __attribute__ ((packed)); |
33 | } putchar __attribute__((packed)); |
| 39 | }data ; //__attribute__ ((packed)); |
34 | } data ; // __attribute__((packed)); |
| 40 | }__attribute__ ((packed)); |
35 | } __attribute__((packed)); |
| 41 | 36 | ||
| 42 | struct fb_ipc_args |
37 | struct fb_ipc_args { |
| 43 | { |
- | |
| 44 | __native method; |
38 | __native method; |
| 45 | __native arg1; |
39 | __native arg1; |
| 46 | __native arg2; |
40 | __native arg2; |
| 47 | __native arg3; |
41 | __native arg3; |
| 48 | } __attribute__ ((packed)); |
42 | } __attribute__((packed)); |
| 49 | 43 | ||
| 50 | union fb_args |
44 | union fb_args { |
| 51 | { |
- | |
| 52 | struct fb_call_args fb_args; |
45 | struct fb_call_args fb_args; |
| 53 | struct fb_ipc_args ipc_args; |
46 | struct fb_ipc_args ipc_args; |
| 54 | }__attribute__ ((packed)); |
47 | } __attribute__((packed)); |
| 55 | 48 | ||
| 56 | typedef union fb_args fb_args_t; |
49 | typedef union fb_args fb_args_t; |
| 57 | 50 | ||
| 58 | #endif |
51 | #endif |
| 59 | - | ||
| 60 | - | ||