void iso_disconnect(void);
/* licence.c */
void licence_process(STREAM s);
+void send_authreq();
/* mcs.c */
STREAM mcs_init(int length);
BOOL mcs_recv_connect_initial();
+void mcs_send_connect_response();
void mcs_send_to_channel(STREAM s, uint16 channel);
void mcs_send(STREAM s);
STREAM mcs_recv(uint16 * channel);
int load_licence(unsigned char **data);
void save_licence(unsigned char *data, int length);
/* rdp5.c */
+STREAM rdp5_init(int maxlen, BOOL encryption);
+void rdp5_send(STREAM s, BOOL encryption);
void rdp5_process(STREAM s, BOOL encryption);
/* rdp.c */
+STREAM rdp_recv(uint8 * type);
void rdp_out_unistr(STREAM s, char *string, int len);
-void rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1,
- uint16 param2);
+void rdp_recv_input(STREAM s, uint32 *time, uint16 *message_type, uint16 *device_flags, uint16 *param1, uint16 *param2);
void process_colour_pointer_pdu(STREAM s);
void process_cached_pointer_pdu(STREAM s);
void process_system_pointer_pdu(STREAM s);
BOOL rdp_connect(char *server, uint32 flags, char *domain, char *password, char *command,
char *directory);
void rdp_disconnect(void);
+void rdp_send_bitmap_update(unsigned x, unsigned y, unsigned width, unsigned height, unsigned char *data);
/* rdpdr.c */
void rdpdr_send_connect(void);
void rdpdr_send_name(void);
void wave_out_write(STREAM s, uint16 tick, uint8 index);
void wave_out_play(void);
/* secure.c */
+void sec_encrypt(uint8 * data, int length);
void sec_hash_48(uint8 * out, uint8 * in, uint8 * salt1, uint8 * salt2, uint8 salt);
void sec_hash_16(uint8 * out, uint8 * in, uint8 * salt1, uint8 * salt2);
void buf_out_uint32(uint8 * buffer, uint32 value);
void tcp_send(STREAM s);
STREAM tcp_recv(STREAM s, uint32 length);
BOOL tcp_recv_connect(int server_sock);
+int tcp_connect(char *server, int port);
void tcp_disconnect(void);
+int tcp_get_socket(void);
/* xclip.c */
void ui_clip_format_announce(uint8 * data, uint32 length);
void ui_clip_handle_data(uint8 * data, uint32 length);