root/morphix/trunk/ddcxinfo/lrmi.h

Revision 2, 1.6 kB (checked in by nextime, 2 years ago)

Initial import, branching from morphix svn

Line 
1 /*
2 Linux Real Mode Interface - A library of DPMI-like functions for Linux.
3
4 Copyright (C) 1998 by Josh Vanderhoof
5
6 You are free to distribute and modify this file, as long as you
7 do not remove this copyright notice and clearly label modified
8 versions as being modified.
9
10 This software has NO WARRANTY.  Use it at your own risk.
11 */
12
13 #ifndef LRMI_H
14 #define LRMI_H
15
16 struct LRMI_regs
17         {
18         unsigned int edi;
19         unsigned int esi;
20         unsigned int ebp;
21         unsigned int reserved;
22         unsigned int ebx;
23         unsigned int edx;
24         unsigned int ecx;
25         unsigned int eax;
26         unsigned short int flags;
27         unsigned short int es;
28         unsigned short int ds;
29         unsigned short int fs;
30         unsigned short int gs;
31         unsigned short int ip;
32         unsigned short int cs;
33         unsigned short int sp;
34         unsigned short int ss;
35         };
36
37
38 #ifndef LRMI_PREFIX
39 #define LRMI_PREFIX LRMI_
40 #endif
41
42 #define LRMI_CONCAT2(a, b)      a ## b
43 #define LRMI_CONCAT(a, b)       LRMI_CONCAT2(a, b)
44 #define LRMI_MAKENAME(a)        LRMI_CONCAT(LRMI_PREFIX, a)
45
46 /*
47  Initialize
48  returns 1 if sucessful, 0 for failure
49 */
50 #define LRMI_init LRMI_MAKENAME(init)
51 int
52 LRMI_init(void);
53
54 /*
55  Simulate a 16 bit far call
56  returns 1 if sucessful, 0 for failure
57 */
58 #define LRMI_call LRMI_MAKENAME(call)
59 int
60 LRMI_call(struct LRMI_regs *r);
61
62 /*
63  Simulate a 16 bit interrupt
64  returns 1 if sucessful, 0 for failure
65 */
66 #define LRMI_int LRMI_MAKENAME(int)
67 int
68 LRMI_int(int interrupt, struct LRMI_regs *r);
69
70 /*
71  Allocate real mode memory
72  The returned block is paragraph (16 byte) aligned
73 */
74 #define LRMI_alloc_real LRMI_MAKENAME(alloc_real)
75 void *
76 LRMI_alloc_real(int size);
77
78 /*
79  Free real mode memory
80 */
81 #define LRMI_free_real LRMI_MAKENAME(free_real)
82 void
83 LRMI_free_real(void *m);
84
85 #endif
86
Note: See TracBrowser for help on using the browser.