1 |
/* |
/* |
2 |
rdesktop: A Remote Desktop Protocol client. |
rdesktop: A Remote Desktop Protocol client. |
3 |
Miscellaneous protocol constants |
Miscellaneous protocol constants |
4 |
Copyright (C) Matthew Chapman 1999-2002 |
Copyright (C) Matthew Chapman 1999-2005 |
5 |
|
|
6 |
This program is free software; you can redistribute it and/or modify |
This program is free software; you can redistribute it and/or modify |
7 |
it under the terms of the GNU General Public License as published by |
it under the terms of the GNU General Public License as published by |
21 |
/* TCP port for Remote Desktop Protocol */ |
/* TCP port for Remote Desktop Protocol */ |
22 |
#define TCP_PORT_RDP 3389 |
#define TCP_PORT_RDP 3389 |
23 |
|
|
24 |
|
#define DEFAULT_CODEPAGE "UTF-8" |
25 |
|
#define WINDOWS_CODEPAGE "UTF-16LE" |
26 |
|
|
27 |
/* ISO PDU codes */ |
/* ISO PDU codes */ |
28 |
enum ISO_PDU_CODE |
enum ISO_PDU_CODE |
29 |
{ |
{ |
69 |
#define SEC_ENCRYPT 0x0008 |
#define SEC_ENCRYPT 0x0008 |
70 |
#define SEC_LOGON_INFO 0x0040 |
#define SEC_LOGON_INFO 0x0040 |
71 |
#define SEC_LICENCE_NEG 0x0080 |
#define SEC_LICENCE_NEG 0x0080 |
72 |
|
#define SEC_REDIRECT_ENCRYPT 0x0C00 |
73 |
|
|
74 |
#define SEC_TAG_SRV_INFO 0x0c01 |
#define SEC_TAG_SRV_INFO 0x0c01 |
75 |
#define SEC_TAG_SRV_CRYPT 0x0c02 |
#define SEC_TAG_SRV_CRYPT 0x0c02 |
107 |
{ |
{ |
108 |
RDP_PDU_DEMAND_ACTIVE = 1, |
RDP_PDU_DEMAND_ACTIVE = 1, |
109 |
RDP_PDU_CONFIRM_ACTIVE = 3, |
RDP_PDU_CONFIRM_ACTIVE = 3, |
110 |
|
RDP_PDU_REDIRECT = 4, /* MS Server 2003 Session Redirect */ |
111 |
RDP_PDU_DEACTIVATE = 6, |
RDP_PDU_DEACTIVATE = 6, |
112 |
RDP_PDU_DATA = 7 |
RDP_PDU_DATA = 7 |
113 |
}; |
}; |
120 |
RDP_DATA_PDU_INPUT = 28, |
RDP_DATA_PDU_INPUT = 28, |
121 |
RDP_DATA_PDU_SYNCHRONISE = 31, |
RDP_DATA_PDU_SYNCHRONISE = 31, |
122 |
RDP_DATA_PDU_BELL = 34, |
RDP_DATA_PDU_BELL = 34, |
123 |
|
RDP_DATA_PDU_CLIENT_WINDOW_STATUS = 35, |
124 |
RDP_DATA_PDU_LOGON = 38, |
RDP_DATA_PDU_LOGON = 38, |
125 |
RDP_DATA_PDU_FONT2 = 39, |
RDP_DATA_PDU_FONT2 = 39, |
126 |
|
RDP_DATA_PDU_KEYBOARD_INDICATORS = 41, |
127 |
RDP_DATA_PDU_DISCONNECT = 47 |
RDP_DATA_PDU_DISCONNECT = 47 |
128 |
}; |
}; |
129 |
|
|
206 |
#define TEXT2_VERTICAL 0x04 |
#define TEXT2_VERTICAL 0x04 |
207 |
#define TEXT2_IMPLICIT_X 0x20 |
#define TEXT2_IMPLICIT_X 0x20 |
208 |
|
|
209 |
|
#define ALTERNATE 1 |
210 |
|
#define WINDING 2 |
211 |
|
|
212 |
/* RDP bitmap cache (version 2) constants */ |
/* RDP bitmap cache (version 2) constants */ |
213 |
#define BMPCACHE2_C0_CELLS 0x78 |
#define BMPCACHE2_C0_CELLS 0x78 |
214 |
#define BMPCACHE2_C1_CELLS 0x78 |
#define BMPCACHE2_C1_CELLS 0x78 |
252 |
|
|
253 |
#define RDP_CAPSET_BMPCACHE2 19 |
#define RDP_CAPSET_BMPCACHE2 19 |
254 |
#define RDP_CAPLEN_BMPCACHE2 0x28 |
#define RDP_CAPLEN_BMPCACHE2 0x28 |
255 |
#define BMPCACHE2_FLAG_PERSIST (1<<31) |
#define BMPCACHE2_FLAG_PERSIST ((uint32)1<<31) |
256 |
|
|
257 |
#define RDP_SOURCE "MSTSC" |
#define RDP_SOURCE "MSTSC" |
258 |
|
|
259 |
/* Logon flags */ |
/* Logon flags */ |
260 |
#define RDP_LOGON_AUTO 0x0008 |
#define RDP_LOGON_AUTO 0x0008 |
261 |
#define RDP_LOGON_NORMAL 0x0033 |
#define RDP_LOGON_NORMAL 0x0033 |
262 |
#define RDP_COMPRESSION 0x0080 |
#define RDP_LOGON_COMPRESSION 0x0080 /* mppc compression with 8kB histroy buffer */ |
263 |
#define RDP_LOGON_BLOB 0x0100 |
#define RDP_LOGON_BLOB 0x0100 |
264 |
|
#define RDP_LOGON_COMPRESSION2 0x0200 /* rdp5 mppc compression with 64kB history buffer */ |
265 |
#define RDP_LOGON_LEAVE_AUDIO 0x2000 |
#define RDP_LOGON_LEAVE_AUDIO 0x2000 |
266 |
|
|
267 |
#define RDP5_DISABLE_NOTHING 0x00 |
#define RDP5_DISABLE_NOTHING 0x00 |
273 |
#define RDP5_NO_CURSORSETTINGS 0x40 /* disables cursor blinking */ |
#define RDP5_NO_CURSORSETTINGS 0x40 /* disables cursor blinking */ |
274 |
|
|
275 |
/* compression types */ |
/* compression types */ |
276 |
|
#define RDP_MPPC_BIG 0x01 |
277 |
#define RDP_MPPC_COMPRESSED 0x20 |
#define RDP_MPPC_COMPRESSED 0x20 |
278 |
#define RDP_MPPC_RESET 0x40 |
#define RDP_MPPC_RESET 0x40 |
279 |
#define RDP_MPPC_FLUSH 0x80 |
#define RDP_MPPC_FLUSH 0x80 |
280 |
#define RDP_MPPC_DICT_SIZE 8192 |
#define RDP_MPPC_DICT_SIZE 65536 |
281 |
|
|
282 |
|
#define RDP5_COMPRESSED 0x80 |
283 |
|
|
284 |
/* Keymap flags */ |
/* Keymap flags */ |
285 |
#define MapRightShiftMask (1<<0) |
#define MapRightShiftMask (1<<0) |
354 |
|
|
355 |
/* NT status codes for RDPDR */ |
/* NT status codes for RDPDR */ |
356 |
#define STATUS_SUCCESS 0x00000000 |
#define STATUS_SUCCESS 0x00000000 |
357 |
|
#define STATUS_NOT_IMPLEMENTED 0x00000001 |
358 |
#define STATUS_PENDING 0x00000103 |
#define STATUS_PENDING 0x00000103 |
359 |
|
|
360 |
#define STATUS_NO_MORE_FILES 0x80000006 |
#define STATUS_NO_MORE_FILES 0x80000006 |
373 |
#define STATUS_FILE_IS_A_DIRECTORY 0xc00000ba |
#define STATUS_FILE_IS_A_DIRECTORY 0xc00000ba |
374 |
#define STATUS_NOT_SUPPORTED 0xc00000bb |
#define STATUS_NOT_SUPPORTED 0xc00000bb |
375 |
#define STATUS_TIMEOUT 0xc0000102 |
#define STATUS_TIMEOUT 0xc0000102 |
376 |
|
#define STATUS_NOTIFY_ENUM_DIR 0xc000010c |
377 |
#define STATUS_CANCELLED 0xc0000120 |
#define STATUS_CANCELLED 0xc0000120 |
378 |
|
|
379 |
|
|
387 |
|
|
388 |
#define FILE_DIRECTORY_FILE 0x00000001 |
#define FILE_DIRECTORY_FILE 0x00000001 |
389 |
#define FILE_NON_DIRECTORY_FILE 0x00000040 |
#define FILE_NON_DIRECTORY_FILE 0x00000040 |
390 |
|
#define FILE_COMPLETE_IF_OPLOCKED 0x00000100 |
391 |
|
#define FILE_DELETE_ON_CLOSE 0x00001000 |
392 |
#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000 |
#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000 |
393 |
|
|
394 |
/* RDP5 disconnect PDU */ |
/* RDP5 disconnect PDU */ |
412 |
#define exDiscReasonLicenseErrClientEncryption 0x0108 |
#define exDiscReasonLicenseErrClientEncryption 0x0108 |
413 |
#define exDiscReasonLicenseCantUpgradeLicense 0x0109 |
#define exDiscReasonLicenseCantUpgradeLicense 0x0109 |
414 |
#define exDiscReasonLicenseNoRemoteConnections 0x010a |
#define exDiscReasonLicenseNoRemoteConnections 0x010a |
415 |
|
|
416 |
|
/* SeamlessRDP constants */ |
417 |
|
#define SEAMLESSRDP_NOTYETMAPPED -1 |
418 |
|
#define SEAMLESSRDP_NORMAL 0 |
419 |
|
#define SEAMLESSRDP_MINIMIZED 1 |
420 |
|
#define SEAMLESSRDP_MAXIMIZED 2 |
421 |
|
#define SEAMLESSRDP_POSITION_TIMER 200000 |
422 |
|
|
423 |
|
#define SEAMLESSRDP_CREATE_MODAL 0x0001 |
424 |
|
|
425 |
|
#define SEAMLESSRDP_HELLO_RECONNECT 0x0001 |
426 |
|
#define SEAMLESSRDP_HELLO_HIDDEN 0x0002 |