xref: /plan9/sys/src/cmd/vnc/vncs.h (revision 0b459c2cb92b7c9d88818e9a2f72e678e5bc4553)
1 typedef struct	Rlist Rlist;
2 typedef struct	Vncs	Vncs;
3 
4 struct Rlist
5 {
6 	Rectangle	bbox;
7 	int	maxrect;
8 	int	nrect;
9 	Rectangle *rect;
10 };
11 
12 struct Vncs
13 {
14 	Vnc;
15 
16 	Vncs	*next;
17 	char		remote[NETPATHLEN];
18 	char		netpath[NETPATHLEN];
19 
20 	char		*encname;
21 	int		(*countrect)(Vncs*, Rectangle);
22 	int		(*sendrect)(Vncs*, Rectangle);
23 	int		copyrect;
24 	int		canwarp;
25 	int		needwarp;
26 	Point		warppt;
27 
28 	int		updaterequest;
29 	Rlist		rlist;
30 	int		ndead;
31 	int		nproc;
32 	int		cursorver;
33 	Point		cursorpos;
34 	Rectangle	cursorr;
35 	int		snarfvers;
36 
37 	Memimage	*image;
38 	ulong	imagechan;
39 };
40 
41 /* rre.c */
42 int	countcorre(Vncs*, Rectangle);
43 int	counthextile(Vncs*, Rectangle);
44 int	countraw(Vncs*, Rectangle);
45 int	countrre(Vncs*, Rectangle);
46 int	sendcorre(Vncs*, Rectangle);
47 int	sendhextile(Vncs*, Rectangle);
48 int	sendraw(Vncs*, Rectangle);
49 int	sendrre(Vncs*, Rectangle);
50 
51 /* rlist.c */
52 void addtorlist(Rlist*, Rectangle);
53 void freerlist(Rlist*);
54