Subversion Repositories HelenOS-historic

Rev

Rev 1366 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1363 vana 1
 
2
 
3
#include <arch/types.h>
4
#include <types.h>
5
 
6
#ifndef __libc__FB_H__
7
#define __libc__FB_H__
8
 
9
#define FB_GET_VFB 1024
10
#define FB_PUTCHAR 1025
11
 
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
{
19
    unsigned m     : METHOD_WIDTH;
20
    unsigned item  : ITEM_WIDTH;
21
} __attribute__ ((packed));
22
 
23
union fb_method
24
{
25
    struct _fb_method m;
26
    __native fill;
27
}__attribute__ ((packed));
28
 
29
struct fb_call_args
30
{
31
    union fb_method method;
32
    union
33
    {
34
        struct
35
        {
36
            unsigned count :COUNT_WIDTH;
37
            char chars[3*sizeof(__native)-(COUNT_WIDTH>>3)];
38
        }putchar __attribute__ ((packed));
39
    }data ; //__attribute__ ((packed)); 
40
}__attribute__ ((packed));
41
 
42
struct fb_ipc_args
43
{
44
    __native method;
45
    __native arg1;
46
    __native arg2;
47
    __native arg3;
48
} __attribute__ ((packed));
49
 
50
union fb_args
51
{
52
    struct fb_call_args fb_args;
53
    struct fb_ipc_args ipc_args;
54
}__attribute__ ((packed));
55
 
56
typedef union fb_args fb_args_t;
57
 
58
#endif
59
 
60