0,0 → 1,60 |
|
|
#include <arch/types.h> |
#include <types.h> |
|
#ifndef __libc__FB_H__ |
#define __libc__FB_H__ |
|
#define FB_GET_VFB 1024 |
#define FB_PUTCHAR 1025 |
|
#define METHOD_WIDTH 16 |
#define ITEM_WIDTH 16 |
#define COUNT_WIDTH 16 /*Should be 8 times integer*/ |
|
|
struct _fb_method |
{ |
unsigned m : METHOD_WIDTH; |
unsigned item : ITEM_WIDTH; |
} __attribute__ ((packed)); |
|
union fb_method |
{ |
struct _fb_method m; |
__native fill; |
}__attribute__ ((packed)); |
|
struct fb_call_args |
{ |
union fb_method method; |
union |
{ |
struct |
{ |
unsigned count :COUNT_WIDTH; |
char chars[3*sizeof(__native)-(COUNT_WIDTH>>3)]; |
}putchar __attribute__ ((packed)); |
}data ; //__attribute__ ((packed)); |
}__attribute__ ((packed)); |
|
struct fb_ipc_args |
{ |
__native method; |
__native arg1; |
__native arg2; |
__native arg3; |
} __attribute__ ((packed)); |
|
union fb_args |
{ |
struct fb_call_args fb_args; |
struct fb_ipc_args ipc_args; |
}__attribute__ ((packed)); |
|
typedef union fb_args fb_args_t; |
|
#endif |
|
|