Subversion Repositories HelenOS-historic

Rev

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