|
|
1.1 root 1: /*
2: * Copyright (c) 1995-1994 The University of Utah and
3: * the Computer Systems Laboratory at the University of Utah (CSL).
4: * All rights reserved.
5: *
6: * Permission to use, copy, modify and distribute this software is hereby
7: * granted provided that (1) source code retains these copyright, permission,
8: * and disclaimer notices, and (2) redistributions including binaries
9: * reproduce the notices in supporting documentation, and (3) all advertising
10: * materials mentioning features or use of this software display the following
11: * acknowledgement: ``This product includes software developed by the
12: * Computer Systems Laboratory at the University of Utah.''
13: *
14: * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
15: * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
16: * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
17: *
18: * CSL requests users of this software to return to [email protected] any
19: * improvements that they make and grant CSL redistribution rights.
20: *
21: * Author: Bryan Ford, University of Utah CSL
22: */
23: #ifndef _I386_PC_REAL_CALL_H_
24: #define _I386_PC_REAL_CALL_H_
25:
26: /* This structure happens to correspond to the DPMI real-call structure. */
27: struct real_call_data
28: {
29: unsigned edi;
30: unsigned esi;
31: unsigned ebp;
32: unsigned reserved;
33: unsigned ebx;
34: unsigned edx;
35: unsigned ecx;
36: unsigned eax;
37: unsigned short flags;
38: unsigned short es;
39: unsigned short ds;
40: unsigned short fs;
41: unsigned short gs;
42: unsigned short ip;
43: unsigned short cs;
44: unsigned short sp;
45: unsigned short ss;
46: };
47:
48: /* Code segment we originally had when we started in real mode. */
49: extern unsigned short real_cs;
50:
51: extern void (*real_int)(int intnum, struct real_call_data *rcd);
52: extern void (*real_exit)(int rc);
53:
54: #define real_call_data_init(rcd) \
55: ({ (rcd)->flags = 0; \
56: (rcd)->ss = 0; \
57: (rcd)->sp = 0; \
58: })
59:
60: #endif /* _I386_PC_REAL_CALL_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.