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 |