xref: /plan9-contrib/sys/src/cmd/aux/vmware/all.h (revision 06d2afa6aa61b39f2ff8184391f0458258bcc86a)
1*06d2afa6SDavid du Colombier #include <u.h>
2*06d2afa6SDavid du Colombier #include <libc.h>
3*06d2afa6SDavid du Colombier #include <ureg.h>
4*06d2afa6SDavid du Colombier #include <draw.h>
5*06d2afa6SDavid du Colombier 
6*06d2afa6SDavid du Colombier typedef struct Msgchan Msgchan;
7*06d2afa6SDavid du Colombier typedef struct Ureg Ureg;
8*06d2afa6SDavid du Colombier 
9*06d2afa6SDavid du Colombier typedef ulong uint32;
10*06d2afa6SDavid du Colombier typedef int       int32;
11*06d2afa6SDavid du Colombier typedef short     int16;
12*06d2afa6SDavid du Colombier typedef char      int8;
13*06d2afa6SDavid du Colombier typedef uvlong	uint64;
14*06d2afa6SDavid du Colombier typedef vlong 	int64;
15*06d2afa6SDavid du Colombier typedef char	Bool;
16*06d2afa6SDavid du Colombier 
17*06d2afa6SDavid du Colombier struct Msgchan
18*06d2afa6SDavid du Colombier {
19*06d2afa6SDavid du Colombier 	ushort id;
20*06d2afa6SDavid du Colombier 	uchar *a;
21*06d2afa6SDavid du Colombier 	int na;
22*06d2afa6SDavid du Colombier };
23*06d2afa6SDavid du Colombier 
24*06d2afa6SDavid du Colombier enum
25*06d2afa6SDavid du Colombier {
26*06d2afa6SDavid du Colombier 	/* low bits of u.cx */
27*06d2afa6SDavid du Colombier 	BackGetmhz		= 1,
28*06d2afa6SDavid du Colombier 	BackApm			= 2,
29*06d2afa6SDavid du Colombier 	BackGetdiskgeo	= 3,
30*06d2afa6SDavid du Colombier 	BackGetptrloc		= 4,
31*06d2afa6SDavid du Colombier 	BackSetptrloc		= 5,
32*06d2afa6SDavid du Colombier 	BackGetsellength	= 6,
33*06d2afa6SDavid du Colombier 	BackGetnextpiece	= 7,
34*06d2afa6SDavid du Colombier 	BackSetsellength	= 8,
35*06d2afa6SDavid du Colombier 	BackSetnextpiece	= 9,
36*06d2afa6SDavid du Colombier 	BackGetversion		= 10,
37*06d2afa6SDavid du Colombier 	BackGetdevlistel	= 11,
38*06d2afa6SDavid du Colombier 	BackToggledev		= 12,
39*06d2afa6SDavid du Colombier 	BackGetguiopt		= 13,
40*06d2afa6SDavid du Colombier 	BackSetguiopt		= 14,
41*06d2afa6SDavid du Colombier 	BackGetscreensize	= 15,
42*06d2afa6SDavid du Colombier 	BackGetpcisvgaen	= 16,
43*06d2afa6SDavid du Colombier 	BackSetpcisvgaen	= 17,
44*06d2afa6SDavid du Colombier 	/* 18-20 not used */
45*06d2afa6SDavid du Colombier 	BackHostcopy		= 21,
46*06d2afa6SDavid du Colombier 	BackGetos2intcurs	= 22,
47*06d2afa6SDavid du Colombier 	BackGettime		= 23,
48*06d2afa6SDavid du Colombier 	BackStopcatchup	= 24,
49*06d2afa6SDavid du Colombier 	BackPutchr		= 25,
50*06d2afa6SDavid du Colombier 	BackEnablemsg	= 26,
51*06d2afa6SDavid du Colombier 	BackGototcl		= 27,
52*06d2afa6SDavid du Colombier 	BackInitscsiprom	= 28,
53*06d2afa6SDavid du Colombier 	BackInt13			= 29,
54*06d2afa6SDavid du Colombier 	BackMessage		= 30,
55*06d2afa6SDavid du Colombier 
56*06d2afa6SDavid du Colombier 	BackMagic		= 0x564D5868,
57*06d2afa6SDavid du Colombier 	VersionMagic		= 6,
58*06d2afa6SDavid du Colombier 	BackPort			= 0x5658,
59*06d2afa6SDavid du Colombier 
60*06d2afa6SDavid du Colombier };
61*06d2afa6SDavid du Colombier 
62*06d2afa6SDavid du Colombier void		asmbackdoor(Ureg*);
63*06d2afa6SDavid du Colombier void		backdoor(Ureg*, int);
64*06d2afa6SDavid du Colombier int		backdoorbell(void*, char*);
65*06d2afa6SDavid du Colombier int		closemsg(Msgchan*);
66*06d2afa6SDavid du Colombier int		getdeviceinfo(uint, uint, uint*);
67*06d2afa6SDavid du Colombier Point		getmousepoint(void);
68*06d2afa6SDavid du Colombier int		getsnarflength(void);
69*06d2afa6SDavid du Colombier uint		getsnarfpiece(void);
70*06d2afa6SDavid du Colombier Msgchan*	openmsg(ulong);
71*06d2afa6SDavid du Colombier int		recvmsg(Msgchan*, void**);
72*06d2afa6SDavid du Colombier int		sendmsg(Msgchan*, void*, int);
73*06d2afa6SDavid du Colombier int		setdevicestate(uint, int);
74*06d2afa6SDavid du Colombier void		setmousepoint(Point);
75*06d2afa6SDavid du Colombier void		setsnarflength(uint);
76*06d2afa6SDavid du Colombier void		setsnarfpiece(uint);
77*06d2afa6SDavid du Colombier int		getversion(void);
78*06d2afa6SDavid du Colombier void		setguistate(uint);
79*06d2afa6SDavid du Colombier uint		getguistate(void);
80*06d2afa6SDavid du Colombier uint		copystep(uint);
81*06d2afa6SDavid du Colombier void		gettime(uint*, uint*, uint*);
82*06d2afa6SDavid du Colombier void		stopcatchup(void);
83*06d2afa6SDavid du Colombier 
84*06d2afa6SDavid du Colombier extern	jmp_buf	backdoorjmp;
85