Add support for filtering log levels.
[v86d.git] / v86.h
blob1972505bfbab4d42968c11f1f27d11b731feb3c2
1 #ifndef __H_V86
2 #define __H_V86
4 #include <stdio.h>
5 #include <syslog.h>
6 #include <sys/types.h>
7 #include <linux/connector.h>
9 #undef u8
10 #undef u16
11 #undef u32
12 #undef u64
14 #define u8 __u8
15 #define u16 __u16
16 #define u32 __u32
17 #define u64 __u64
19 struct completion;
21 #include <video/uvesafb.h>
23 //#define ulog(args...) do {} while (0)
24 //#define ulog(args...) fprintf(stdout, ##args)
26 #define MAX_LOG_LEVEL LOG_WARNING
28 #define ulog(level, args...) if (level <= MAX_LOG_LEVEL) { syslog(level, ##args); }
30 int v86_init();
31 int v86_int(int num, struct v86_regs *regs);
32 int v86_task(struct uvesafb_task *tsk, u8 *buf);
33 void v86_cleanup();
35 #define MEM_SIZE 0x10ffef
36 #define IVTBDA_BASE 0x00000
37 #define IVTBDA_SIZE 0x01000
38 #define DEFAULT_STACK_SIZE 0x02000
39 #define REAL_MEM_BASE 0x10000
40 #define REAL_MEM_SIZE (0x30000 - REAL_MEM_BASE)
41 #define BIOS_BASE 0xa0000
42 #define BIOS_SIZE (MEM_SIZE - BIOS_BASE)
44 u32 v86_mem_alloc(int size);
45 void v86_mem_free(u32 m);
46 int v86_mem_init(void);
47 void v86_mem_cleanup(void);
49 u8 v_rdb(u32 addr);
50 u16 v_rdw(u32 addr);
51 u32 v_rdl(u32 addr);
52 void v_wrb(u32 addr, u8 val);
53 void v_wrw(u32 addr, u16 val);
54 void v_wrl(u32 addr, u32 val);
55 void *vptr(u32 addr);
57 extern int iopl (int __level);
58 extern int ioperm (unsigned long int __from, unsigned long int __num,
59 int __turn_on);
61 #endif /* __H_V86 */