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