7 typedef struct Pixfmt Pixfmt;
8 typedef struct Colorfmt Colorfmt;
9 typedef struct Vnc Vnc;
28 int datafd; /* for network connection */
29 int ctlfd; /* control for network connection */
36 char *name; /* client only */
47 /* authentication negotiation */
52 /* vnc auth negotiation */
58 /* server to client */
65 /* client to server */
73 MSetDesktopSize = 251,
75 /* image encoding methods */
81 EncZlib = 6, /* 6,7,8 have been used by others */
86 EncDesktopSize = -223,
87 EncXDesktopSize = -308,
89 /* paramaters for hextile encoding */
99 * we're only using the ulong as a place to store bytes,
100 * and as something to compare against.
101 * the bytes are stored in little-endian format.
106 extern int vncauth(Vnc*, char*);
107 extern int vnchandshake(Vnc*);
108 extern int vncsrvauth(Vnc*);
109 extern int vncsrvhandshake(Vnc*);
112 extern Vnc* vncinit(int, int, Vnc*);
113 extern uchar vncrdchar(Vnc*);
114 extern ushort vncrdshort(Vnc*);
115 extern ulong vncrdlong(Vnc*);
116 extern Point vncrdpoint(Vnc*);
117 extern Rectangle vncrdrect(Vnc*);
118 extern Rectangle vncrdcorect(Vnc*);
119 extern Pixfmt vncrdpixfmt(Vnc*);
120 extern void vncrdbytes(Vnc*, void*, int);
121 extern char* vncrdstring(Vnc*);
122 extern char* vncrdstringx(Vnc*);
123 extern void vncwrstring(Vnc*, char*);
124 extern void vncgobble(Vnc*, long);
126 extern void vncflush(Vnc*);
127 extern void vncterm(Vnc*);
128 extern void vncwrbytes(Vnc*, void*, int);
129 extern void vncwrlong(Vnc*, ulong);
130 extern void vncwrshort(Vnc*, ushort);
131 extern void vncwrchar(Vnc*, uchar);
132 extern void vncwrpixfmt(Vnc*, Pixfmt*);
133 extern void vncwrrect(Vnc*, Rectangle);
134 extern void vncwrpoint(Vnc*, Point);
136 extern void vnclock(Vnc*); /* for writing */
137 extern void vncunlock(Vnc*);
139 extern void hexdump(void*, int);
141 /* implemented by clients of the io library */
142 extern void vnchungup(Vnc*);
145 extern char* serveraddr;