--- sourceforge.net/trunk/rdesktop/types.h 2002/09/26 14:26:46 207 +++ sourceforge.net/trunk/rdesktop/types.h 2003/10/14 07:46:49 492 @@ -26,8 +26,11 @@ #endif typedef unsigned char uint8; +typedef signed char sint8; typedef unsigned short uint16; +typedef signed short sint16; typedef unsigned int uint32; +typedef signed int sint32; typedef void *HBITMAP; typedef void *HGLYPH; @@ -53,10 +56,10 @@ typedef struct _BOUNDS { - uint16 left; - uint16 top; - uint16 right; - uint16 bottom; + sint16 left; + sint16 top; + sint16 right; + sint16 bottom; } BOUNDS; @@ -65,7 +68,7 @@ { uint8 style; uint8 width; - uint8 colour; + uint32 colour; } PEN; @@ -82,8 +85,8 @@ typedef struct _FONTGLYPH { - uint16 offset; - uint16 baseline; + sint16 offset; + sint16 baseline; uint16 width; uint16 height; HBITMAP pixmap; @@ -105,3 +108,41 @@ uint16 modifiers; } key_translation; + +typedef struct _VCHANNEL +{ + uint16 mcs_id; + char name[8]; + uint32 flags; + struct stream in; + void (*process) (STREAM); +} +VCHANNEL; + +#define MAX_CBSIZE 256 + +/* RDPSND */ +typedef struct { + uint16 wFormatTag; + uint16 nChannels; + uint32 nSamplesPerSec; + uint32 nAvgBytesPerSec; + uint16 nBlockAlign; + uint16 wBitsPerSample; + uint16 cbSize; + uint8 cb[MAX_CBSIZE]; +} WAVEFORMATEX; + +/* RDPDR */ +typedef uint32 NTSTATUS; +typedef uint32 HANDLE; + +typedef struct _DEVICE_FNS +{ + NTSTATUS(*create) (HANDLE * handle); + NTSTATUS(*close) (HANDLE handle); + NTSTATUS(*read) (HANDLE handle, uint8 * data, uint32 length, uint32 * result); + NTSTATUS(*write) (HANDLE handle, uint8 * data, uint32 length, uint32 * result); + NTSTATUS(*device_control) (HANDLE handle, uint32 request, STREAM in, STREAM out); +} +DEVICE_FNS;