/[rdesktop]/sourceforge.net/trunk/rdesktop/constants.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /sourceforge.net/trunk/rdesktop/constants.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 10 by matty, Tue Aug 15 10:23:24 2000 UTC revision 360 by forsberg, Thu Apr 3 13:56:51 2003 UTC
# Line 1  Line 1 
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-2000     Copyright (C) Matthew Chapman 1999-2002
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
# Line 24  Line 24 
24  /* ISO PDU codes */  /* ISO PDU codes */
25  enum ISO_PDU_CODE  enum ISO_PDU_CODE
26  {  {
27          ISO_PDU_CR = 0xE0, /* Connection Request */          ISO_PDU_CR = 0xE0,      /* Connection Request */
28          ISO_PDU_CC = 0xD0, /* Connection Confirm */          ISO_PDU_CC = 0xD0,      /* Connection Confirm */
29          ISO_PDU_DR = 0x80, /* Disconnect Request */          ISO_PDU_DR = 0x80,      /* Disconnect Request */
30          ISO_PDU_DT = 0xF0, /* Data */          ISO_PDU_DT = 0xF0,      /* Data */
31          ISO_PDU_ER = 0x70  /* Error */          ISO_PDU_ER = 0x70       /* Error */
32  };  };
33    
34  /* MCS PDU codes */  /* MCS PDU codes */
35  enum MCS_PDU_TYPE  enum MCS_PDU_TYPE
36  {  {
37          MCS_EDRQ = 1,   /* Erect Domain Request */          MCS_EDRQ = 1,           /* Erect Domain Request */
38          MCS_DPUM = 8,   /* Disconnect Provider Ultimatum */          MCS_DPUM = 8,           /* Disconnect Provider Ultimatum */
39          MCS_AURQ = 10,  /* Attach User Request */          MCS_AURQ = 10,          /* Attach User Request */
40          MCS_AUCF = 11,  /* Attach User Confirm */          MCS_AUCF = 11,          /* Attach User Confirm */
41          MCS_CJRQ = 14,  /* Channel Join Request */          MCS_CJRQ = 14,          /* Channel Join Request */
42          MCS_CJCF = 15,  /* Channel Join Confirm */          MCS_CJCF = 15,          /* Channel Join Confirm */
43          MCS_SDRQ = 25,  /* Send Data Request */          MCS_SDRQ = 25,          /* Send Data Request */
44          MCS_SDIN = 26   /* Send Data Indication */          MCS_SDIN = 26           /* Send Data Indication */
45  };  };
46    
47  #define MCS_CONNECT_INITIAL     0x7f65  #define MCS_CONNECT_INITIAL     0x7f65
# Line 72  enum MCS_PDU_TYPE Line 72  enum MCS_PDU_TYPE
72    
73  #define SEC_TAG_CLI_INFO        0xc001  #define SEC_TAG_CLI_INFO        0xc001
74  #define SEC_TAG_CLI_CRYPT       0xc002  #define SEC_TAG_CLI_CRYPT       0xc002
75    #define SEC_TAG_CLI_4           0xc004
76    #define SEC_TAG_CLI_CHANNELS    0xc003
77    
78  #define SEC_TAG_PUBKEY          0x0006  #define SEC_TAG_PUBKEY          0x0006
79  #define SEC_TAG_KEYSIG          0x0008  #define SEC_TAG_KEYSIG          0x0008
80    
81  #define SEC_RSA_MAGIC           0x31415352 /* RSA1 */  #define SEC_RSA_MAGIC           0x31415352      /* RSA1 */
82    
83  /* RDP licensing constants */  /* RDP licensing constants */
84  #define LICENCE_TOKEN_SIZE      10  #define LICENCE_TOKEN_SIZE      10
# Line 86  enum MCS_PDU_TYPE Line 88  enum MCS_PDU_TYPE
88  #define LICENCE_TAG_DEMAND      0x0201  #define LICENCE_TAG_DEMAND      0x0201
89  #define LICENCE_TAG_AUTHREQ     0x0202  #define LICENCE_TAG_AUTHREQ     0x0202
90  #define LICENCE_TAG_ISSUE       0x0203  #define LICENCE_TAG_ISSUE       0x0203
91    #define LICENCE_TAG_REISSUE     0x0204
92    #define LICENCE_TAG_PRESENT     0x0212
93  #define LICENCE_TAG_REQUEST     0x0213  #define LICENCE_TAG_REQUEST     0x0213
94  #define LICENCE_TAG_AUTHRESP    0x0215  #define LICENCE_TAG_AUTHRESP    0x0215
95  #define LICENCE_TAG_RESULT      0x02ff  #define LICENCE_TAG_RESULT      0x02ff
96    
97    /* RDP5 licensing constants - thanks goes to Steve Fosdick for finding them! */
98    #define LICENCE_TAG_DEMAND_5    0x0301
99    #define LICENCE_TAG_AUTHREQ_5   0x0302
100    #define LICENCE_TAG_ISSUE_5     0x0303
101    #define LICENCE_TAG_REISSUE_5   0x0304
102    #define LICENCE_TAG_PRESENT_5   0x0312
103    #define LICENCE_TAG_REQUEST_5   0x0313
104    #define LICENCE_TAG_AUTHRESP_5  0x0315
105    #define LICENCE_TAG_RESULT_5    0x03ff
106    
107    
108    
109  #define LICENCE_TAG_USER        0x000f  #define LICENCE_TAG_USER        0x000f
110  #define LICENCE_TAG_HOST        0x0010  #define LICENCE_TAG_HOST        0x0010
111    
# Line 132  enum RDP_UPDATE_PDU_TYPE Line 148  enum RDP_UPDATE_PDU_TYPE
148    
149  enum RDP_POINTER_PDU_TYPE  enum RDP_POINTER_PDU_TYPE
150  {  {
151          RDP_POINTER_MOVE = 3          RDP_POINTER_MOVE = 3,
152            RDP_POINTER_COLOR = 6,
153            RDP_POINTER_CACHED = 7
154  };  };
155    
156  enum RDP_INPUT_DEVICE  enum RDP_INPUT_DEVICE
# Line 146  enum RDP_INPUT_DEVICE Line 164  enum RDP_INPUT_DEVICE
164    
165  /* Device flags */  /* Device flags */
166  #define KBD_FLAG_RIGHT          0x0001  #define KBD_FLAG_RIGHT          0x0001
167    #define KBD_FLAG_EXT            0x0100
168  #define KBD_FLAG_QUIET          0x1000  #define KBD_FLAG_QUIET          0x1000
169  #define KBD_FLAG_DOWN           0x4000  #define KBD_FLAG_DOWN           0x4000
170  #define KBD_FLAG_UP             0x8000  #define KBD_FLAG_UP             0x8000
171    
172    /* These are for synchronization; not for keystrokes */
173    #define KBD_FLAG_SCROLL   0x0001
174    #define KBD_FLAG_NUMLOCK  0x0002
175    #define KBD_FLAG_CAPITAL  0x0004
176    
177    /* See T.128 */
178    #define RDP_KEYPRESS 0
179    #define RDP_KEYRELEASE (KBD_FLAG_DOWN | KBD_FLAG_UP)
180    
181  #define MOUSE_FLAG_MOVE         0x0800  #define MOUSE_FLAG_MOVE         0x0800
182  #define MOUSE_FLAG_BUTTON1      0x1000  #define MOUSE_FLAG_BUTTON1      0x1000
183  #define MOUSE_FLAG_BUTTON2      0x2000  #define MOUSE_FLAG_BUTTON2      0x2000
184  #define MOUSE_FLAG_BUTTON3      0x4000  #define MOUSE_FLAG_BUTTON3      0x4000
185    #define MOUSE_FLAG_BUTTON4      0x0280
186    #define MOUSE_FLAG_BUTTON5      0x0380
187  #define MOUSE_FLAG_DOWN         0x8000  #define MOUSE_FLAG_DOWN         0x8000
188    
189  /* Raster operation masks */  /* Raster operation masks */
# Line 163  enum RDP_INPUT_DEVICE Line 193  enum RDP_INPUT_DEVICE
193  #define ROP2_COPY       0xc  #define ROP2_COPY       0xc
194  #define ROP2_XOR        0x6  #define ROP2_XOR        0x6
195  #define ROP2_AND        0x8  #define ROP2_AND        0x8
196    #define ROP2_NXOR       0x9
197  #define ROP2_OR         0xe  #define ROP2_OR         0xe
198    
199  #define MIX_TRANSPARENT 0  #define MIX_TRANSPARENT 0
200  #define MIX_OPAQUE      1  #define MIX_OPAQUE      1
201    
202  #define TEXT2_IMPLICIT_X 0x20  #define TEXT2_VERTICAL          0x04
203    #define TEXT2_IMPLICIT_X        0x20
204    
205  /* RDP capabilities */  /* RDP capabilities */
206  #define RDP_CAPSET_GENERAL      1  #define RDP_CAPSET_GENERAL      1       /* Maps to generalCapabilitySet in T.128 page 138 */
207  #define RDP_CAPLEN_GENERAL      0x18  #define RDP_CAPLEN_GENERAL      0x18
208  #define OS_MAJOR_TYPE_UNIX      4  #define OS_MAJOR_TYPE_UNIX      4
209  #define OS_MINOR_TYPE_XSERVER   7  #define OS_MINOR_TYPE_XSERVER   7
# Line 206  enum RDP_INPUT_DEVICE Line 238  enum RDP_INPUT_DEVICE
238  #define RDP_CAPLEN_UNKNOWN      0x9C  #define RDP_CAPLEN_UNKNOWN      0x9C
239    
240  #define RDP_SOURCE              "MSTSC"  #define RDP_SOURCE              "MSTSC"
241    
242    /* Logon flags */
243    #define RDP_LOGON_NORMAL        0x33
244    #define RDP_LOGON_AUTO          0x8
245    
246    /* Keymap flags */
247    #define MapRightShiftMask   (1<<0)
248    #define MapLeftShiftMask    (1<<1)
249    #define MapShiftMask (MapRightShiftMask | MapLeftShiftMask)
250    
251    #define MapRightAltMask     (1<<2)
252    #define MapLeftAltMask      (1<<3)
253    #define MapAltGrMask MapRightAltMask
254    
255    #define MapRightCtrlMask    (1<<4)
256    #define MapLeftCtrlMask     (1<<5)
257    #define MapCtrlMask (MapRightCtrlMask | MapLeftCtrlMask)
258    
259    #define MapRightWinMask     (1<<6)
260    #define MapLeftWinMask      (1<<7)
261    #define MapWinMask (MapRightWinMask | MapLeftWinMask)
262    
263    #define MapNumLockMask      (1<<8)
264    #define MapCapsLockMask     (1<<9)
265    
266    #define MapLocalStateMask   (1<<10)
267    
268    #define MapInhibitMask      (1<<11)
269    
270    #define MASK_ADD_BITS(var, mask) (var |= mask)
271    #define MASK_REMOVE_BITS(var, mask) (var &= ~mask)
272    #define MASK_HAS_BITS(var, mask) ((var & mask)>0)
273    #define MASK_CHANGE_BIT(var, mask, active) (var = ((var & ~mask) | (active ? mask : 0)))

Legend:
Removed from v.10  
changed lines
  Added in v.360

  ViewVC Help
Powered by ViewVC 1.1.26