X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=proto.h;h=20710c024069a3ab28b4409ae2b7d64359e11779;hp=b08a97721c2bd25c2ee60fad365ce33378c69a76;hb=1b88121b3e37f01bd226aa54f65f413f5d1fe49e;hpb=86ae6f2670e6d7a62d9fbb2243c8aae28b925645 diff --git a/proto.h b/proto.h index b08a977..20710c0 100644 --- a/proto.h +++ b/proto.h @@ -32,12 +32,15 @@ int get_current_workarea(uint32 * x, uint32 * y, uint32 * width, uint32 * height STREAM iso_init(int length); void iso_send(STREAM s); STREAM iso_recv(void); -BOOL iso_connect(char *server, char *username); +BOOL iso_recv_connect(int server_sock); 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); @@ -48,7 +51,6 @@ void process_orders(STREAM s, uint16 num_orders); void reset_order_state(void); /* printer.c */ /* rdesktop.c */ -int main(int argc, char *argv[]); void generate_random(uint8 * random); void *xmalloc(int size); void *xrealloc(void *oldmem, int size); @@ -60,11 +62,13 @@ void hexdump(unsigned char *p, int len); 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); @@ -74,6 +78,7 @@ BOOL rdp_main_loop(void); 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); @@ -98,6 +103,7 @@ void wave_out_volume(uint16 left, uint16 right); 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); @@ -116,8 +122,10 @@ void sec_disconnect(void); STREAM tcp_init(uint32 maxlen); void tcp_send(STREAM s); STREAM tcp_recv(STREAM s, uint32 length); -BOOL tcp_connect(char *server); +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);