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 */
40 /* authentication negotiation */
45 /* vnc auth negotiation */
51 /* server to client */
58 /* client to server */
67 /* image encoding methods */
73 EncZlib = 6, /* 6,7,8 have been used by others */
78 /* paramaters for hextile encoding */
88 * we're only using the ulong as a place to store bytes,
89 * and as something to compare against.
90 * the bytes are stored in little-endian format.
95 extern int vncauth(Vnc*, char*);
96 extern int vnchandshake(Vnc*);
97 extern int vncsrvauth(Vnc*);
98 extern int vncsrvhandshake(Vnc*);
101 extern Vnc* vncinit(int, int, Vnc*);
102 extern uchar vncrdchar(Vnc*);
103 extern ushort vncrdshort(Vnc*);
104 extern ulong vncrdlong(Vnc*);
105 extern Point vncrdpoint(Vnc*);
106 extern Rectangle vncrdrect(Vnc*);
107 extern Rectangle vncrdcorect(Vnc*);
108 extern Pixfmt vncrdpixfmt(Vnc*);
109 extern void vncrdbytes(Vnc*, void*, int);
110 extern char* vncrdstring(Vnc*);
111 extern char* vncrdstringx(Vnc*);
112 extern void vncwrstring(Vnc*, char*);
113 extern void vncgobble(Vnc*, long);
115 extern void vncflush(Vnc*);
116 extern void vncterm(Vnc*);
117 extern void vncwrbytes(Vnc*, void*, int);
118 extern void vncwrlong(Vnc*, ulong);
119 extern void vncwrshort(Vnc*, ushort);
120 extern void vncwrchar(Vnc*, uchar);
121 extern void vncwrpixfmt(Vnc*, Pixfmt*);
122 extern void vncwrrect(Vnc*, Rectangle);
123 extern void vncwrpoint(Vnc*, Point);
125 extern void vnclock(Vnc*); /* for writing */
126 extern void vncunlock(Vnc*);
128 extern void hexdump(void*, int);
130 /* implemented by clients of the io library */
131 extern void vnchungup(Vnc*);
134 extern char* serveraddr;