ReactOS
0.4.15-dev-2092-gf04890c
constants.h
Go to the documentation of this file.
1
/*
2
rdesktop: A Remote Desktop Protocol client.
3
Miscellaneous protocol constants
4
Copyright (C) Matthew Chapman 1999-2008
5
6
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
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
/* TCP port for Remote Desktop Protocol */
21
#define TCP_PORT_RDP 3389
22
23
#define DEFAULT_CODEPAGE "UTF-8"
24
#define WINDOWS_CODEPAGE "UTF-16LE"
25
26
/* ISO PDU codes */
27
enum
ISO_PDU_CODE
28
{
29
ISO_PDU_CR
= 0xE0,
/* Connection Request */
30
ISO_PDU_CC
= 0xD0,
/* Connection Confirm */
31
ISO_PDU_DR
= 0x80,
/* Disconnect Request */
32
ISO_PDU_DT
= 0xF0,
/* Data */
33
ISO_PDU_ER
= 0x70
/* Error */
34
};
35
36
/* RDP protocol negotiating constants */
37
enum
RDP_NEG_TYPE_CODE
38
{
39
RDP_NEG_REQ
= 1,
40
RDP_NEG_RSP
= 2,
41
RDP_NEG_FAILURE
= 3
42
};
43
44
enum
RDP_NEG_REQ_CODE
45
{
46
PROTOCOL_RDP
= 0,
47
PROTOCOL_SSL
= 1,
48
PROTOCOL_HYBRID
= 2
49
};
50
51
enum
RDP_NEG_FAILURE_CODE
52
{
53
SSL_REQUIRED_BY_SERVER
= 1,
54
SSL_NOT_ALLOWED_BY_SERVER
= 2,
55
SSL_CERT_NOT_ON_SERVER
= 3,
56
INCONSISTENT_FLAGS
= 4,
57
HYBRID_REQUIRED_BY_SERVER
= 5,
58
SSL_WITH_USER_AUTH_REQUIRED_BY_SERVER
= 6
59
};
60
61
/* MCS PDU codes */
62
enum
MCS_PDU_TYPE
63
{
64
MCS_EDRQ
= 1,
/* Erect Domain Request */
65
MCS_DPUM
= 8,
/* Disconnect Provider Ultimatum */
66
MCS_AURQ
= 10,
/* Attach User Request */
67
MCS_AUCF
= 11,
/* Attach User Confirm */
68
MCS_CJRQ
= 14,
/* Channel Join Request */
69
MCS_CJCF
= 15,
/* Channel Join Confirm */
70
MCS_SDRQ
= 25,
/* Send Data Request */
71
MCS_SDIN
= 26
/* Send Data Indication */
72
};
73
74
#define MCS_CONNECT_INITIAL 0x7f65
75
#define MCS_CONNECT_RESPONSE 0x7f66
76
77
#define BER_TAG_BOOLEAN 1
78
#define BER_TAG_INTEGER 2
79
#define BER_TAG_OCTET_STRING 4
80
#define BER_TAG_RESULT 10
81
#define BER_TAG_SEQUENCE 16
82
#define BER_TAG_CONSTRUCTED 0x20
83
#define BER_TAG_CTXT_SPECIFIC 0x80
84
85
#define MCS_TAG_DOMAIN_PARAMS 0x30
86
87
#define MCS_GLOBAL_CHANNEL 1003
88
#define MCS_USERCHANNEL_BASE 1001
89
90
/* RDP secure transport constants */
91
#define SEC_RANDOM_SIZE 32
92
#define SEC_MODULUS_SIZE 64
93
#define SEC_MAX_MODULUS_SIZE 256
94
#define SEC_PADDING_SIZE 8
95
#define SEC_EXPONENT_SIZE 4
96
97
/* TS_SECURITY_HEADER.flags */
98
#define SEC_EXCHANGE_PKT 0x0001
99
#define SEC_TRANSPORT_REQ 0x0002
100
#define RDP_SEC_TRANSPORT_RSP 0x0004
101
#define SEC_ENCRYPT 0x0008
102
#define SEC_RESET_SEQNO 0x0010
103
#define SEC_IGNORE_SEQNO 0x0020
104
#define SEC_INFO_PKT 0x0040
105
#define SEC_LICENSE_PKT 0x0080
106
#define SEC_LICENSE_ENCRYPT_CS 0x0200
107
#define SEC_LICENSE_ENCRYPT_SC 0x0200
108
#define SEC_REDIRECTION_PKT 0x0400
109
#define SEC_SECURE_CHECKSUM 0x0800
110
#define SEC_AUTODETECT_REQ 0x1000
111
#define SEC_AUTODETECT_RSP 0x2000
112
#define SEC_HEARTBEAT 0x4000
113
#define SEC_FLAGSHI_VALID 0x8000
114
115
#define SEC_TAG_SRV_INFO 0x0c01
116
#define SEC_TAG_SRV_CRYPT 0x0c02
117
#define SEC_TAG_SRV_CHANNELS 0x0c03
118
119
#define SEC_TAG_CLI_INFO 0xc001
120
#define SEC_TAG_CLI_CRYPT 0xc002
121
#define SEC_TAG_CLI_CHANNELS 0xc003
122
#define SEC_TAG_CLI_CLUSTER 0xc004
123
124
#define SEC_TAG_PUBKEY 0x0006
125
#define SEC_TAG_KEYSIG 0x0008
126
127
#define SEC_RSA_MAGIC 0x31415352
/* RSA1 */
128
129
/* Client cluster constants */
130
#define SEC_CC_REDIRECTION_SUPPORTED 0x00000001
131
#define SEC_CC_REDIRECT_SESSIONID_FIELD_VALID 0x00000002
132
#define SEC_CC_REDIRECTED_SMARTCARD 0x00000040
133
#define SEC_CC_REDIRECT_VERSION_MASK 0x0000003c
134
135
#define SEC_CC_REDIRECT_VERSION_3 0x02
136
#define SEC_CC_REDIRECT_VERSION_4 0x03
137
#define SEC_CC_REDIRECT_VERSION_5 0x04
138
#define SEC_CC_REDIRECT_VERSION_6 0x05
139
140
/* RDP licensing constants */
141
#define LICENCE_TOKEN_SIZE 10
142
#define LICENCE_HWID_SIZE 20
143
#define LICENCE_SIGNATURE_SIZE 16
144
145
#define LICENCE_TAG_REQUEST 0x01
146
#define LICENCE_TAG_PLATFORM_CHALLANGE 0x02
147
#define LICENCE_TAG_NEW_LICENCE 0x03
148
#define LICENCE_TAG_UPGRADE_LICENCE 0x04
149
#define LICENCE_TAG_LICENCE_INFO 0x12
150
#define LICENCE_TAG_NEW_LICENCE_REQUEST 0x13
151
#define LICENCE_TAG_PLATFORM_CHALLANGE_RESPONSE 0x15
152
#define LICENCE_TAG_ERROR_ALERT 0xff
153
154
#define BB_CLIENT_USER_NAME_BLOB 0x000f
155
#define BB_CLIENT_MACHINE_NAME_BLOB 0x0010
156
157
/* RDP PDU codes */
158
enum
RDP_PDU_TYPE
159
{
160
RDP_PDU_DEMAND_ACTIVE
= 1,
161
RDP_PDU_CONFIRM_ACTIVE
= 3,
162
RDP_PDU_REDIRECT
= 4,
/* Standard Server Redirect */
163
RDP_PDU_DEACTIVATE
= 6,
164
RDP_PDU_DATA
= 7,
165
RDP_PDU_ENHANCED_REDIRECT
= 10
/* Enhanced Server Redirect */
166
};
167
168
enum
RDP_DATA_PDU_TYPE
169
{
170
RDP_DATA_PDU_UPDATE
= 2,
171
RDP_DATA_PDU_CONTROL
= 20,
172
RDP_DATA_PDU_POINTER
= 27,
173
RDP_DATA_PDU_INPUT
= 28,
174
RDP_DATA_PDU_SYNCHRONISE
= 31,
175
RDP_DATA_PDU_BELL
= 34,
176
RDP_DATA_PDU_CLIENT_WINDOW_STATUS
= 35,
177
RDP_DATA_PDU_LOGON
= 38,
/* PDUTYPE2_SAVE_SESSION_INFO */
178
RDP_DATA_PDU_FONT2
= 39,
179
RDP_DATA_PDU_KEYBOARD_INDICATORS
= 41,
180
RDP_DATA_PDU_DISCONNECT
= 47,
181
RDP_DATA_PDU_AUTORECONNECT_STATUS
= 50
182
};
183
184
enum
RDP_SAVE_SESSION_PDU_TYPE
185
{
186
INFOTYPE_LOGON
= 0,
187
INFOTYPE_LOGON_LONG
= 1,
188
INFOTYPE_LOGON_PLAINNOTIFY
= 2,
189
INFOTYPE_LOGON_EXTENDED_INF
= 3
190
};
191
192
enum
RDP_LOGON_INFO_EXTENDED_TYPE
193
{
194
LOGON_EX_AUTORECONNECTCOOKIE
= 1,
195
LOGON_EX_LOGONERRORS
= 2
196
};
197
198
enum
RDP_CONTROL_PDU_TYPE
199
{
200
RDP_CTL_REQUEST_CONTROL
= 1,
201
RDP_CTL_GRANT_CONTROL
= 2,
202
RDP_CTL_DETACH
= 3,
203
RDP_CTL_COOPERATE
= 4
204
};
205
206
enum
RDP_UPDATE_PDU_TYPE
207
{
208
RDP_UPDATE_ORDERS
= 0,
209
RDP_UPDATE_BITMAP
= 1,
210
RDP_UPDATE_PALETTE
= 2,
211
RDP_UPDATE_SYNCHRONIZE
= 3
212
};
213
214
enum
RDP_POINTER_PDU_TYPE
215
{
216
RDP_POINTER_SYSTEM
= 1,
217
RDP_POINTER_MOVE
= 3,
218
RDP_POINTER_COLOR
= 6,
219
RDP_POINTER_CACHED
= 7,
220
RDP_POINTER_NEW
= 8
221
};
222
223
enum
RDP_SYSTEM_POINTER_TYPE
224
{
225
RDP_NULL_POINTER
= 0,
226
RDP_DEFAULT_POINTER
= 0x7F00
227
};
228
229
enum
RDP_INPUT_DEVICE
230
{
231
RDP_INPUT_SYNCHRONIZE
= 0,
232
RDP_INPUT_CODEPOINT
= 1,
233
RDP_INPUT_VIRTKEY
= 2,
234
RDP_INPUT_SCANCODE
= 4,
235
RDP_INPUT_MOUSE
= 0x8001
236
};
237
238
/* Device flags */
239
#define KBD_FLAG_RIGHT 0x0001
240
#define KBD_FLAG_EXT 0x0100
241
#define KBD_FLAG_QUIET 0x1000
242
#define KBD_FLAG_DOWN 0x4000
243
#define KBD_FLAG_UP 0x8000
244
245
/* These are for synchronization; not for keystrokes */
246
#define KBD_FLAG_SCROLL 0x0001
247
#define KBD_FLAG_NUMLOCK 0x0002
248
#define KBD_FLAG_CAPITAL 0x0004
249
250
/* See T.128 */
251
#define RDP_KEYPRESS 0
252
#define RDP_KEYRELEASE (KBD_FLAG_DOWN | KBD_FLAG_UP)
253
254
#define MOUSE_FLAG_MOVE 0x0800
255
#define MOUSE_FLAG_BUTTON1 0x1000
256
#define MOUSE_FLAG_BUTTON2 0x2000
257
#define MOUSE_FLAG_BUTTON3 0x4000
258
#define MOUSE_FLAG_BUTTON4 0x0280
259
#define MOUSE_FLAG_BUTTON5 0x0380
260
#define MOUSE_FLAG_DOWN 0x8000
261
262
/* Raster operation masks */
263
#define ROP2_S(rop3) (rop3 & 0xf)
264
#define ROP2_P(rop3) ((rop3 & 0x3) | ((rop3 & 0x30) >> 2))
265
266
#define ROP2_COPY 0xc
267
#define ROP2_XOR 0x6
268
#define ROP2_AND 0x8
269
#define ROP2_NXOR 0x9
270
#define ROP2_OR 0xe
271
272
#define MIX_TRANSPARENT 0
273
#define MIX_OPAQUE 1
274
275
#define TEXT2_VERTICAL 0x04
276
#define TEXT2_IMPLICIT_X 0x20
277
278
#define ALTERNATE 1
279
#define WINDING 2
280
281
/* RDP bitmap cache (version 2) constants */
282
#define BMPCACHE2_C0_CELLS 0x78
283
#define BMPCACHE2_C1_CELLS 0x78
284
#define BMPCACHE2_C2_CELLS 0x150
285
#define BMPCACHE2_NUM_PSTCELLS 0x9f6
286
287
#define PDU_FLAG_FIRST 0x01
288
#define PDU_FLAG_LAST 0x02
289
290
/* RDP capabilities */
291
#define RDP_CAPSET_GENERAL 1
/* Maps to generalCapabilitySet in T.128 page 138 */
292
#define RDP_CAPLEN_GENERAL 0x18
293
#define OS_MAJOR_TYPE_UNIX 4
294
#define OS_MINOR_TYPE_XSERVER 7
295
296
#define RDP_CAPSET_BITMAP 2
297
#define RDP_CAPLEN_BITMAP 0x1C
298
299
#define RDP_CAPSET_ORDER 3
300
#define RDP_CAPLEN_ORDER 0x58
301
#define ORDER_CAP_NEGOTIATE 2
302
#define ORDER_CAP_NOSUPPORT 4
303
304
#define RDP_CAPSET_BMPCACHE 4
305
#define RDP_CAPLEN_BMPCACHE 0x28
306
307
#define RDP_CAPSET_CONTROL 5
308
#define RDP_CAPLEN_CONTROL 0x0C
309
310
#define RDP_CAPSET_ACTIVATE 7
311
#define RDP_CAPLEN_ACTIVATE 0x0C
312
313
#define RDP_CAPSET_POINTER 8
314
#define RDP_CAPLEN_POINTER 0x08
315
#define RDP_CAPLEN_NEWPOINTER 0x0a
316
317
#define RDP_CAPSET_SHARE 9
318
#define RDP_CAPLEN_SHARE 0x08
319
320
#define RDP_CAPSET_COLCACHE 10
321
#define RDP_CAPLEN_COLCACHE 0x08
322
323
#define RDP_CAPSET_BRUSHCACHE 15
324
#define RDP_CAPLEN_BRUSHCACHE 0x08
325
326
#define RDP_CAPSET_BMPCACHE2 19
327
#define RDP_CAPLEN_BMPCACHE2 0x28
328
#define BMPCACHE2_FLAG_PERSIST ((uint32)1<<31)
329
330
#define RDP_SOURCE "MSTSC"
331
332
/* Logon flags */
333
#define RDP_INFO_MOUSE 0x00000001
334
#define RDP_INFO_DISABLECTRLALTDEL 0x00000002
335
#define RDP_INFO_AUTOLOGON 0x00000008
336
#define RDP_INFO_UNICODE 0x00000010
337
#define RDP_INFO_MAXIMIZESHELL 0x00000020
338
#define RDP_INFO_COMPRESSION 0x00000080
/* mppc compression with 8kB histroy buffer */
339
#define RDP_INFO_ENABLEWINDOWSKEY 0x00000100
340
#define RDP_INFO_COMPRESSION2 0x00000200
/* rdp5 mppc compression with 64kB history buffer */
341
#define RDP_INFO_REMOTE_CONSOLE_AUDIO 0x00002000
342
#define RDP_INFO_PASSWORD_IS_SC_PIN 0x00040000
343
344
/* TS_EXTENDED_INFO_PACKET.performanceFlags */
345
#define PERF_DISABLE_WALLPAPER 0x01
346
#define PERF_DISABLE_FULLWINDOWDRAG 0x02
347
#define PERF_DISABLE_MENUANIMATIONS 0x04
348
#define PERF_DISABLE_THEMING 0x08
349
#define PERF_DISABLE_CURSOR_SHADOW 0x20
350
#define PERF_DISABLE_CURSORSETTINGS 0x40
/* disables cursor blinking */
351
#define PERF_ENABLE_FONT_SMOOTHING 0x80
352
353
/* compression types */
354
#define RDP_MPPC_BIG 0x01
355
#define RDP_MPPC_COMPRESSED 0x20
356
#define RDP_MPPC_RESET 0x40
357
#define RDP_MPPC_FLUSH 0x80
358
#define RDP_MPPC_DICT_SIZE 65536
359
360
#define RDP5_COMPRESSED 0x80
361
362
/* Keymap flags */
363
#define MapRightShiftMask (1<<0)
364
#define MapLeftShiftMask (1<<1)
365
#define MapShiftMask (MapRightShiftMask | MapLeftShiftMask)
366
367
#define MapRightAltMask (1<<2)
368
#define MapLeftAltMask (1<<3)
369
#define MapAltGrMask MapRightAltMask
370
371
#define MapRightCtrlMask (1<<4)
372
#define MapLeftCtrlMask (1<<5)
373
#define MapCtrlMask (MapRightCtrlMask | MapLeftCtrlMask)
374
375
#define MapRightWinMask (1<<6)
376
#define MapLeftWinMask (1<<7)
377
#define MapWinMask (MapRightWinMask | MapLeftWinMask)
378
379
#define MapNumLockMask (1<<8)
380
#define MapCapsLockMask (1<<9)
381
382
#define MapLocalStateMask (1<<10)
383
384
#define MapInhibitMask (1<<11)
385
386
#define MASK_ADD_BITS(var, mask) (var |= mask)
387
#define MASK_REMOVE_BITS(var, mask) (var &= ~mask)
388
#define MASK_HAS_BITS(var, mask) ((var & mask)>0)
389
#define MASK_CHANGE_BIT(var, mask, active) (var = ((var & ~mask) | (active ? mask : 0)))
390
391
/* Clipboard constants, "borrowed" from GCC system headers in
392
the w32 cross compiler
393
this is the CF_ set when WINVER is 0x0400 */
394
395
#ifndef CF_TEXT
396
#define CF_TEXT 1
397
#define CF_BITMAP 2
398
#define CF_METAFILEPICT 3
399
#define CF_SYLK 4
400
#define CF_DIF 5
401
#define CF_TIFF 6
402
#define CF_OEMTEXT 7
403
#define CF_DIB 8
404
#define CF_PALETTE 9
405
#define CF_PENDATA 10
406
#define CF_RIFF 11
407
#define CF_WAVE 12
408
#define CF_UNICODETEXT 13
409
#define CF_ENHMETAFILE 14
410
#define CF_HDROP 15
411
#define CF_LOCALE 16
412
#define CF_MAX 17
413
#define CF_OWNERDISPLAY 128
414
#define CF_DSPTEXT 129
415
#define CF_DSPBITMAP 130
416
#define CF_DSPMETAFILEPICT 131
417
#define CF_DSPENHMETAFILE 142
418
#define CF_PRIVATEFIRST 512
419
#define CF_PRIVATELAST 767
420
#define CF_GDIOBJFIRST 768
421
#define CF_GDIOBJLAST 1023
422
#endif
423
424
/* Sound format constants */
425
#define WAVE_FORMAT_PCM 1
426
#define WAVE_FORMAT_ADPCM 2
427
#define WAVE_FORMAT_ALAW 6
428
#define WAVE_FORMAT_MULAW 7
429
430
/* Virtual channel options */
431
#define CHANNEL_OPTION_INITIALIZED 0x80000000
432
#define CHANNEL_OPTION_ENCRYPT_RDP 0x40000000
433
#define CHANNEL_OPTION_COMPRESS_RDP 0x00800000
434
#define CHANNEL_OPTION_SHOW_PROTOCOL 0x00200000
435
436
/* NT status codes for RDPDR */
437
#define RD_STATUS_SUCCESS 0x00000000
438
#define RD_STATUS_NOT_IMPLEMENTED 0x00000001
439
#define RD_STATUS_PENDING 0x00000103
440
441
#define RD_STATUS_NO_MORE_FILES 0x80000006
442
#define RD_STATUS_DEVICE_PAPER_EMPTY 0x8000000e
443
#define RD_STATUS_DEVICE_POWERED_OFF 0x8000000f
444
#define RD_STATUS_DEVICE_OFF_LINE 0x80000010
445
#define RD_STATUS_DEVICE_BUSY 0x80000011
446
447
#define RD_STATUS_INVALID_HANDLE 0xc0000008
448
#define RD_STATUS_INVALID_PARAMETER 0xc000000d
449
#define RD_STATUS_NO_SUCH_FILE 0xc000000f
450
#define RD_STATUS_INVALID_DEVICE_REQUEST 0xc0000010
451
#define RD_STATUS_ACCESS_DENIED 0xc0000022
452
#define RD_STATUS_OBJECT_NAME_COLLISION 0xc0000035
453
#define RD_STATUS_DISK_FULL 0xc000007f
454
#define RD_STATUS_FILE_IS_A_DIRECTORY 0xc00000ba
455
#define RD_STATUS_NOT_SUPPORTED 0xc00000bb
456
#define RD_STATUS_TIMEOUT 0xc0000102
457
#define RD_STATUS_NOTIFY_ENUM_DIR 0xc000010c
458
#define RD_STATUS_CANCELLED 0xc0000120
459
#define RD_STATUS_DIRECTORY_NOT_EMPTY 0xc0000101
460
461
/* RDPSND constants */
462
#define TSSNDCAPS_ALIVE 0x00000001
463
#define TSSNDCAPS_VOLUME 0x00000002
464
465
/* RDPDR constants */
466
467
#define RDPDR_CTYP_CORE 0x4472
468
#define RDPDR_CTYP_PRN 0x5052
469
470
#define PAKID_CORE_SERVER_ANNOUNCE 0x496e
471
#define PAKID_CORE_CLIENTID_CONFIRM 0x4343
472
#define PAKID_CORE_CLIENT_NAME 0x434e
473
#define PAKID_CORE_DEVICE_LIST_ANNOUNCE 0x4441
474
#define PAKID_CORE_DEVICE_REPLY 0x6472
475
#define PAKID_CORE_DEVICE_IOREQUEST 0x4952
476
#define PAKID_CORE_DEVICE_IOCOMPLETION 0x4943
477
#define PAKID_CORE_SERVER_CAPABILITY 0x5350
478
#define PAKID_CORE_CLIENT_CAPABILITY 0x4350
479
#define PAKID_CORE_DEVICELIST_REMOVE 0x444d
480
#define PAKID_PRN_CACHE_DATA 0x5043
481
#define PAKID_CORE_USER_LOGGEDON 0x554c
482
#define PAKID_PRN_USING_XPS 0x5543
483
484
#define RDPDR_MAX_DEVICES 0x10
485
#define DEVICE_TYPE_SERIAL 0x01
486
#define DEVICE_TYPE_PARALLEL 0x02
487
#define DEVICE_TYPE_PRINTER 0x04
488
#define DEVICE_TYPE_DISK 0x08
489
#define DEVICE_TYPE_SCARD 0x20
490
491
#define FILE_DIRECTORY_FILE 0x00000001
492
#define FILE_NON_DIRECTORY_FILE 0x00000040
493
#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
494
#define FILE_DELETE_ON_CLOSE 0x00001000
495
#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
496
497
#define CAP_GENERAL_TYPE 0x0001
498
#define CAP_PRINTER_TYPE 0x0002
499
#define CAP_PORT_TYPE 0x0003
500
#define CAP_DRIVE_TYPE 0x0004
501
#define CAP_SMARTCARD_TYPE 0x0005
502
503
#define GENERAL_CAPABILITY_VERSION_01 0x00000001
504
#define GENERAL_CAPABILITY_VERSION_02 0x00000002
505
#define PRINT_CAPABILITY_VERSION_01 0x00000001
506
#define PORT_CAPABILITY_VERSION_01 0x00000001
507
#define DRIVE_CAPABILITY_VERSION_01 0x00000001
508
#define DRIVE_CAPABILITY_VERSION_02 0x00000002
509
#define SMARTCARD_CAPABILITY_VERSION_01 0x00000001
510
511
#define RDPDR_IRP_MJ_CREATE 0x00000001
512
#define RDPDR_IRP_MJ_CLEANUP 0x00000002
513
#define RDPDR_IRP_MJ_CLOSE 0x00000004
514
#define RDPDR_IRP_MJ_READ 0x00000008
515
#define RDPDR_IRP_MJ_WRITE 0x00000010
516
#define RDPDR_IRP_MJ_FLUSH_BUFFERS 0x00000020
517
#define RDPDR_IRP_MJ_SHUTDOWN 0x00000040
518
#define RDPDR_IRP_MJ_DEVICE_CONTROL 0x00000080
519
#define RDPDR_IRP_MJ_QUERY_VOLUME_INFORMATION 0x00000100
520
#define RDPDR_IRP_MJ_SET_VOLUME_INFORMATION 0x00000200
521
#define RDPDR_IRP_MJ_QUERY_INFORMATION 0x00000400
522
#define RDPDR_IRP_MJ_SET_INFORMATION 0x00000800
523
#define RDPDR_IRP_MJ_DIRECTORY_CONTROL 0x00001000
524
#define RDPDR_IRP_MJ_LOCK_CONTROL 0x00002000
525
#define RDPDR_IRP_MJ_QUERY_SECURITY 0x00004000
526
#define RDPDR_IRP_MJ_SET_SECURITY 0x00008000
527
#define ALL_RDPDR_IRP_MJ 0x0000FFFF
528
529
#define RDPDR_PRINTER_ANNOUNCE_FLAG_ASCII 0x00000001
530
#define RDPDR_PRINTER_ANNOUNCE_FLAG_DEFAULTPRINTER 0x00000002
531
#define RDPDR_PRINTER_ANNOUNCE_FLAG_NETWORKPRINTER 0x00000004
532
#define RDPDR_PRINTER_ANNOUNCE_FLAG_TSPRINTER 0x00000008
533
#define RDPDR_PRINTER_ANNOUNCE_FLAG_XPSFORMAT 0x00000010
534
535
#define RDPDR_DEVICE_REMOVE_PDUS 0x00000001
536
#define RDPDR_CLIENT_DISPLAY_NAME_PDU 0x00000002
537
#define RDPDR_USER_LOGGEDON_PDU 0x00000004
538
539
/* RDP5 disconnect PDU */
540
#define exDiscReasonNoInfo 0x0000
541
#define exDiscReasonAPIInitiatedDisconnect 0x0001
542
#define exDiscReasonAPIInitiatedLogoff 0x0002
543
#define exDiscReasonServerIdleTimeout 0x0003
544
#define exDiscReasonServerLogonTimeout 0x0004
545
#define exDiscReasonReplacedByOtherConnection 0x0005
546
#define exDiscReasonOutOfMemory 0x0006
547
#define exDiscReasonServerDeniedConnection 0x0007
548
#define exDiscReasonServerDeniedConnectionFips 0x0008
549
#define exDiscReasonServerInsufficientPrivileges 0x0009
550
#define exDiscReasonServerFreshCredentialsRequired 0x000a
551
#define exDiscReasonRPCInitiatedDisconnectByUser 0x000b
552
#define exDiscReasonByUser 0x000c
553
#define exDiscReasonLicenseInternal 0x0100
554
#define exDiscReasonLicenseNoLicenseServer 0x0101
555
#define exDiscReasonLicenseNoLicense 0x0102
556
#define exDiscReasonLicenseErrClientMsg 0x0103
557
#define exDiscReasonLicenseHwidDoesntMatchLicense 0x0104
558
#define exDiscReasonLicenseErrClientLicense 0x0105
559
#define exDiscReasonLicenseCantFinishProtocol 0x0106
560
#define exDiscReasonLicenseClientEndedProtocol 0x0107
561
#define exDiscReasonLicenseErrClientEncryption 0x0108
562
#define exDiscReasonLicenseCantUpgradeLicense 0x0109
563
#define exDiscReasonLicenseNoRemoteConnections 0x010a
564
565
/* SeamlessRDP constants */
566
#define SEAMLESSRDP_NOTYETMAPPED -1
567
#define SEAMLESSRDP_NORMAL 0
568
#define SEAMLESSRDP_MINIMIZED 1
569
#define SEAMLESSRDP_MAXIMIZED 2
570
#define SEAMLESSRDP_POSITION_TIMER 200000
571
572
#define SEAMLESSRDP_CREATE_MODAL 0x0001
573
#define SEAMLESSRDP_CREATE_TOPMOST 0x0002
574
575
#define SEAMLESSRDP_HELLO_RECONNECT 0x0001
576
#define SEAMLESSRDP_HELLO_HIDDEN 0x0002
577
578
/* Smartcard constants */
579
#define SCARD_LOCK_TCP 0
580
#define SCARD_LOCK_SEC 1
581
#define SCARD_LOCK_CHANNEL 2
582
#define SCARD_LOCK_RDPDR 3
583
#define SCARD_LOCK_LAST 4
584
585
586
/* redirect flags, from [MS-RDPBCGR] 2.2.13.1 */
587
enum
RDP_PDU_REDIRECT_FLAGS
588
{
589
LB_TARGET_NET_ADDRESS
= 0x1,
590
LB_LOAD_BALANCE_INFO
= 0x2,
591
LB_USERNAME
= 0x4,
592
LB_DOMAIN
= 0x8,
593
LB_PASSWORD
= 0x10,
594
LB_DONTSTOREUSERNAME
= 0x20,
595
LB_SMARTCARD_LOGON
= 0x40,
596
LB_NOREDIRECT
= 0x80,
597
LB_TARGET_FQDN
= 0x100,
598
LB_TARGET_NETBIOS
= 0x200,
599
LB_TARGET_NET_ADDRESSES
= 0x800,
600
LB_CLIENT_TSV_URL
= 0x1000,
601
LB_SERVER_TSV_CAPABLE
= 0x2000,
602
LB_PASSWORD_IS_PK_ENCRYPTED
= 0x4000,
603
LB_REDIRECTION_GUID
= 0x8000,
604
LB_TARGET_CERTIFICATE
= 0x10000
605
};
RDP_POINTER_SYSTEM
Definition:
constants.h:216
RDP_NEG_RSP
Definition:
constants.h:40
PROTOCOL_HYBRID
Definition:
constants.h:48
PROTOCOL_SSL
Definition:
constants.h:47
RDP_UPDATE_BITMAP
Definition:
constants.h:209
MCS_EDRQ
Definition:
constants.h:64
LOGON_EX_AUTORECONNECTCOOKIE
Definition:
constants.h:194
RDP_UPDATE_ORDERS
Definition:
constants.h:208
ISO_PDU_DR
Definition:
constants.h:31
SSL_NOT_ALLOWED_BY_SERVER
Definition:
constants.h:54
MCS_CJRQ
Definition:
constants.h:68
RDP_PDU_REDIRECT_FLAGS
RDP_PDU_REDIRECT_FLAGS
Definition:
constants.h:587
RDP_DATA_PDU_DISCONNECT
Definition:
constants.h:180
MCS_AURQ
Definition:
constants.h:66
RDP_INPUT_CODEPOINT
Definition:
constants.h:232
INFOTYPE_LOGON_LONG
Definition:
constants.h:187
LB_TARGET_CERTIFICATE
Definition:
constants.h:604
MCS_SDIN
Definition:
constants.h:71
RDP_LOGON_INFO_EXTENDED_TYPE
RDP_LOGON_INFO_EXTENDED_TYPE
Definition:
constants.h:192
RDP_NEG_REQ_CODE
RDP_NEG_REQ_CODE
Definition:
constants.h:44
RDP_DATA_PDU_CLIENT_WINDOW_STATUS
Definition:
constants.h:176
RDP_PDU_DATA
Definition:
constants.h:164
RDP_PDU_REDIRECT
Definition:
constants.h:162
LB_SERVER_TSV_CAPABLE
Definition:
constants.h:601
LB_TARGET_FQDN
Definition:
constants.h:597
RDP_NEG_FAILURE
Definition:
constants.h:41
RDP_POINTER_NEW
Definition:
constants.h:220
LB_REDIRECTION_GUID
Definition:
constants.h:603
RDP_DATA_PDU_BELL
Definition:
constants.h:175
RDP_DATA_PDU_KEYBOARD_INDICATORS
Definition:
constants.h:179
RDP_POINTER_CACHED
Definition:
constants.h:219
RDP_SYSTEM_POINTER_TYPE
RDP_SYSTEM_POINTER_TYPE
Definition:
constants.h:223
RDP_INPUT_SYNCHRONIZE
Definition:
constants.h:231
LB_TARGET_NET_ADDRESS
Definition:
constants.h:589
RDP_DEFAULT_POINTER
Definition:
constants.h:226
RDP_INPUT_DEVICE
RDP_INPUT_DEVICE
Definition:
constants.h:229
MCS_SDRQ
Definition:
constants.h:70
SSL_WITH_USER_AUTH_REQUIRED_BY_SERVER
Definition:
constants.h:58
INFOTYPE_LOGON_EXTENDED_INF
Definition:
constants.h:189
ISO_PDU_CR
Definition:
constants.h:29
INCONSISTENT_FLAGS
Definition:
constants.h:56
ISO_PDU_CODE
ISO_PDU_CODE
Definition:
constants.h:27
MCS_PDU_TYPE
MCS_PDU_TYPE
Definition:
constants.h:62
RDP_PDU_ENHANCED_REDIRECT
Definition:
constants.h:165
LB_PASSWORD_IS_PK_ENCRYPTED
Definition:
constants.h:602
LB_TARGET_NET_ADDRESSES
Definition:
constants.h:599
RDP_PDU_DEMAND_ACTIVE
Definition:
constants.h:160
RDP_NEG_FAILURE_CODE
RDP_NEG_FAILURE_CODE
Definition:
constants.h:51
RDP_DATA_PDU_UPDATE
Definition:
constants.h:170
RDP_UPDATE_PALETTE
Definition:
constants.h:210
INFOTYPE_LOGON_PLAINNOTIFY
Definition:
constants.h:188
RDP_DATA_PDU_LOGON
Definition:
constants.h:177
MCS_CJCF
Definition:
constants.h:69
LB_CLIENT_TSV_URL
Definition:
constants.h:600
RDP_PDU_TYPE
RDP_PDU_TYPE
Definition:
constants.h:158
PROTOCOL_RDP
Definition:
constants.h:46
SSL_CERT_NOT_ON_SERVER
Definition:
constants.h:55
RDP_CTL_DETACH
Definition:
constants.h:202
RDP_DATA_PDU_INPUT
Definition:
constants.h:173
RDP_UPDATE_PDU_TYPE
RDP_UPDATE_PDU_TYPE
Definition:
constants.h:206
RDP_NULL_POINTER
Definition:
constants.h:225
RDP_INPUT_SCANCODE
Definition:
constants.h:234
RDP_UPDATE_SYNCHRONIZE
Definition:
constants.h:211
RDP_INPUT_MOUSE
Definition:
constants.h:235
LB_TARGET_NETBIOS
Definition:
constants.h:598
LOGON_EX_LOGONERRORS
Definition:
constants.h:195
RDP_CONTROL_PDU_TYPE
RDP_CONTROL_PDU_TYPE
Definition:
constants.h:198
MCS_DPUM
Definition:
constants.h:65
RDP_PDU_CONFIRM_ACTIVE
Definition:
constants.h:161
MCS_AUCF
Definition:
constants.h:67
ISO_PDU_DT
Definition:
constants.h:32
RDP_POINTER_COLOR
Definition:
constants.h:218
RDP_PDU_DEACTIVATE
Definition:
constants.h:163
LB_DOMAIN
Definition:
constants.h:592
LB_NOREDIRECT
Definition:
constants.h:596
INFOTYPE_LOGON
Definition:
constants.h:186
ISO_PDU_CC
Definition:
constants.h:30
RDP_DATA_PDU_FONT2
Definition:
constants.h:178
RDP_POINTER_MOVE
Definition:
constants.h:217
LB_USERNAME
Definition:
constants.h:591
RDP_DATA_PDU_AUTORECONNECT_STATUS
Definition:
constants.h:181
RDP_INPUT_VIRTKEY
Definition:
constants.h:233
SSL_REQUIRED_BY_SERVER
Definition:
constants.h:53
HYBRID_REQUIRED_BY_SERVER
Definition:
constants.h:57
ISO_PDU_ER
Definition:
constants.h:33
RDP_CTL_GRANT_CONTROL
Definition:
constants.h:201
RDP_DATA_PDU_POINTER
Definition:
constants.h:172
LB_LOAD_BALANCE_INFO
Definition:
constants.h:590
RDP_CTL_COOPERATE
Definition:
constants.h:203
LB_SMARTCARD_LOGON
Definition:
constants.h:595
RDP_SAVE_SESSION_PDU_TYPE
RDP_SAVE_SESSION_PDU_TYPE
Definition:
constants.h:184
LB_DONTSTOREUSERNAME
Definition:
constants.h:594
RDP_DATA_PDU_TYPE
RDP_DATA_PDU_TYPE
Definition:
constants.h:168
RDP_DATA_PDU_CONTROL
Definition:
constants.h:171
RDP_NEG_TYPE_CODE
RDP_NEG_TYPE_CODE
Definition:
constants.h:37
RDP_NEG_REQ
Definition:
constants.h:39
RDP_POINTER_PDU_TYPE
RDP_POINTER_PDU_TYPE
Definition:
constants.h:214
RDP_CTL_REQUEST_CONTROL
Definition:
constants.h:200
RDP_DATA_PDU_SYNCHRONISE
Definition:
constants.h:174
LB_PASSWORD
Definition:
constants.h:593
base
applications
mstsc
constants.h
Generated on Fri Feb 26 2021 06:03:45 for ReactOS by
1.8.15