--- sourceforge.net/trunk/rdesktop/constants.h 2004/04/20 07:01:21 676 +++ sourceforge.net/trunk/rdesktop/constants.h 2005/05/20 22:09:32 905 @@ -1,7 +1,7 @@ /* rdesktop: A Remote Desktop Protocol client. Miscellaneous protocol constants - 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 @@ -21,6 +21,9 @@ /* TCP port for Remote Desktop Protocol */ #define TCP_PORT_RDP 3389 +#define DEFAULT_CODEPAGE "UTF-8" +#define WINDOWS_CODEPAGE "UTF-16LE" + /* ISO PDU codes */ enum ISO_PDU_CODE { @@ -115,8 +118,10 @@ RDP_DATA_PDU_INPUT = 28, RDP_DATA_PDU_SYNCHRONISE = 31, RDP_DATA_PDU_BELL = 34, + RDP_DATA_PDU_CLIENT_WINDOW_STATUS = 35, RDP_DATA_PDU_LOGON = 38, RDP_DATA_PDU_FONT2 = 39, + RDP_DATA_PDU_KEYBOARD_INDICATORS = 41, RDP_DATA_PDU_DISCONNECT = 47 }; @@ -199,6 +204,18 @@ #define TEXT2_VERTICAL 0x04 #define TEXT2_IMPLICIT_X 0x20 +#define ALTERNATE 1 +#define WINDING 2 + +/* RDP bitmap cache (version 2) constants */ +#define BMPCACHE2_C0_CELLS 0x78 +#define BMPCACHE2_C1_CELLS 0x78 +#define BMPCACHE2_C2_CELLS 0x150 +#define BMPCACHE2_NUM_PSTCELLS 0x9f6 + +#define PDU_FLAG_FIRST 0x01 +#define PDU_FLAG_LAST 0x02 + /* RDP capabilities */ #define RDP_CAPSET_GENERAL 1 /* Maps to generalCapabilitySet in T.128 page 138 */ #define RDP_CAPLEN_GENERAL 0x18 @@ -231,16 +248,18 @@ #define RDP_CAPSET_COLCACHE 10 #define RDP_CAPLEN_COLCACHE 0x08 -#define RDP_CAPSET_UNKNOWN 13 -#define RDP_CAPLEN_UNKNOWN 0x9C +#define RDP_CAPSET_BMPCACHE2 19 +#define RDP_CAPLEN_BMPCACHE2 0x28 +#define BMPCACHE2_FLAG_PERSIST ((uint32)1<<31) #define RDP_SOURCE "MSTSC" /* Logon flags */ #define RDP_LOGON_AUTO 0x0008 #define RDP_LOGON_NORMAL 0x0033 -#define RDP_COMPRESSION 0x0080 +#define RDP_LOGON_COMPRESSION 0x0080 /* mppc compression with 8kB histroy buffer */ #define RDP_LOGON_BLOB 0x0100 +#define RDP_LOGON_COMPRESSION2 0x0200 /* rdp5 mppc compression with 64kB history buffer */ #define RDP_LOGON_LEAVE_AUDIO 0x2000 #define RDP5_DISABLE_NOTHING 0x00 @@ -251,6 +270,15 @@ #define RDP5_NO_CURSOR_SHADOW 0x20 #define RDP5_NO_CURSORSETTINGS 0x40 /* disables cursor blinking */ +/* compression types */ +#define RDP_MPPC_BIG 0x01 +#define RDP_MPPC_COMPRESSED 0x20 +#define RDP_MPPC_RESET 0x40 +#define RDP_MPPC_FLUSH 0x80 +#define RDP_MPPC_DICT_SIZE 65536 + +#define RDP5_COMPRESSED 0x80 + /* Keymap flags */ #define MapRightShiftMask (1<<0) #define MapLeftShiftMask (1<<1) @@ -324,6 +352,7 @@ /* NT status codes for RDPDR */ #define STATUS_SUCCESS 0x00000000 +#define STATUS_NOT_IMPLEMENTED 0x00000001 #define STATUS_PENDING 0x00000103 #define STATUS_NO_MORE_FILES 0x80000006 @@ -342,6 +371,7 @@ #define STATUS_FILE_IS_A_DIRECTORY 0xc00000ba #define STATUS_NOT_SUPPORTED 0xc00000bb #define STATUS_TIMEOUT 0xc0000102 +#define STATUS_NOTIFY_ENUM_DIR 0xc000010c #define STATUS_CANCELLED 0xc0000120 @@ -355,6 +385,8 @@ #define FILE_DIRECTORY_FILE 0x00000001 #define FILE_NON_DIRECTORY_FILE 0x00000040 +#define FILE_COMPLETE_IF_OPLOCKED 0x00000100 +#define FILE_DELETE_ON_CLOSE 0x00001000 #define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000 /* RDP5 disconnect PDU */