--- sourceforge.net/trunk/rdesktop/types.h 2004/03/04 08:24:40 627 +++ sourceforge.net/trunk/rdesktop/types.h 2005/03/08 00:23:02 830 @@ -1,7 +1,7 @@ /* rdesktop: A Remote Desktop Protocol client. Common data types - Copyright (C) Matthew Chapman 1999-2002 + Copyright (C) Matthew Chapman 1999-2005 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -119,6 +119,19 @@ } VCHANNEL; +/* PSTCACHE */ +typedef uint8 HASH_KEY[8]; + +/* Header for an entry in the persistent bitmap cache file */ +typedef struct _PSTCACHE_CELLHEADER +{ + HASH_KEY key; + uint8 width, height; + uint16 length; + uint32 stamp; +} +CELLHEADER; + #define MAX_CBSIZE 256 /* RDPSND */ @@ -134,21 +147,29 @@ uint8 cb[MAX_CBSIZE]; } WAVEFORMATEX; +typedef struct _RDPCOMP +{ + uint32 roff; + uint8 hist[RDP_MPPC_DICT_SIZE]; + struct stream ns; +} +RDPCOMP; + /* RDPDR */ typedef uint32 NTSTATUS; -typedef uint32 HANDLE; +typedef uint32 NTHANDLE; typedef struct _DEVICE_FNS { NTSTATUS(*create) (uint32 device, uint32 desired_access, uint32 share_mode, uint32 create_disposition, uint32 flags_and_attributes, char *filename, - HANDLE * handle); - NTSTATUS(*close) (HANDLE handle); - NTSTATUS(*read) (HANDLE handle, uint8 * data, uint32 length, uint32 offset, + NTHANDLE * handle); + NTSTATUS(*close) (NTHANDLE handle); + NTSTATUS(*read) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result); - NTSTATUS(*write) (HANDLE handle, uint8 * data, uint32 length, uint32 offset, + NTSTATUS(*write) (NTHANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result); - NTSTATUS(*device_control) (HANDLE handle, uint32 request, STREAM in, STREAM out); + NTSTATUS(*device_control) (NTHANDLE handle, uint32 request, STREAM in, STREAM out); } DEVICE_FNS; @@ -156,7 +177,7 @@ typedef struct rdpdr_device_info { uint32 device_type; - HANDLE handle; + NTHANDLE handle; char name[8]; char *local_path; void *pdevice_data; @@ -167,6 +188,7 @@ { int dtr; int rts; + uint32 control, xonoff, onlimit, offlimit; uint32 baud_rate, queue_in_size, queue_out_size, @@ -176,7 +198,9 @@ read_total_timeout_constant, write_total_timeout_multiplier, write_total_timeout_constant, posix_wait_mask; uint8 stop_bits, parity, word_length; + uint8 chars[6]; struct termios *ptermios, *pold_termios; + int event_txempty, event_cts, event_dsr, event_rlsd, event_pending; } SERIAL_DEVICE; @@ -205,13 +229,24 @@ } PRINTER; +typedef struct notify_data +{ + time_t modify_time; + time_t status_time; + time_t total_time; + unsigned int num_entries; +} +NOTIFY; + typedef struct fileinfo { - uint32 device_id, flags_and_attributes; + uint32 device_id, flags_and_attributes, accessmask; char path[256]; DIR *pdir; struct dirent *pdirent; char pattern[64]; BOOL delete_on_close; + NOTIFY notify; + uint32 info_class; } FILEINFO;