FreeRDP
channels/remdesk.h
1 
20 #ifndef FREERDP_CHANNEL_REMDESK_H
21 #define FREERDP_CHANNEL_REMDESK_H
22 
23 #include <freerdp/api.h>
24 #include <freerdp/types.h>
25 
26 #ifdef __cplusplus
27 extern "C"
28 {
29 #endif
30 
35 #define REMDESK_CHANNEL_NAME "remdesk"
36 #define REMDESK_SVC_CHANNEL_NAME "remdesk"
37 
38 #define REMDESK_ERROR_NOERROR 0
39 #define REMDESK_ERROR_NOINFO 1
40 #define REMDESK_ERROR_LOCALNOTERROR 3
41 #define REMDESK_ERROR_REMOTEBYUSER 4
42 #define REMDESK_ERROR_BYSERVER 5
43 #define REMDESK_ERROR_DNSLOOKUPFAILED 6
44 #define REMDESK_ERROR_OUTOFMEMORY 7
45 #define REMDESK_ERROR_CONNECTIONTIMEDOUT 8
46 #define REMDESK_ERROR_SOCKETCONNECTFAILED 9
47 #define REMDESK_ERROR_HOSTNOTFOUND 11
48 #define REMDESK_ERROR_WINSOCKSENDFAILED 12
49 #define REMDESK_ERROR_INVALIDIPADDR 14
50 #define REMDESK_ERROR_SOCKETRECVFAILED 15
51 #define REMDESK_ERROR_INVALIDENCRYPTION 18
52 #define REMDESK_ERROR_GETHOSTBYNAMEFAILED 20
53 #define REMDESK_ERROR_LICENSINGFAILED 21
54 #define REMDESK_ERROR_ENCRYPTIONERROR 22
55 #define REMDESK_ERROR_DECRYPTIONERROR 23
56 #define REMDESK_ERROR_INVALIDPARAMETERSTRING 24
57 #define REMDESK_ERROR_HELPSESSIONNOTFOUND 25
58 #define REMDESK_ERROR_INVALIDPASSWORD 26
59 #define REMDESK_ERROR_HELPSESSIONEXPIRED 27
60 #define REMDESK_ERROR_CANTOPENRESOLVER 28
61 #define REMDESK_ERROR_UNKNOWNSESSMGRERROR 29
62 #define REMDESK_ERROR_CANTFORMLINKTOUSERSESSION 30
63 #define REMDESK_ERROR_RCPROTOCOLERROR 32
64 #define REMDESK_ERROR_RCUNKNOWNERROR 33
65 #define REMDESK_ERROR_INTERNALERROR 34
66 #define REMDESK_ERROR_HELPEERESPONSEPENDING 35
67 #define REMDESK_ERROR_HELPEESAIDYES 36
68 #define REMDESK_ERROR_HELPEEALREADYBEINGHELPED 37
69 #define REMDESK_ERROR_HELPEECONSIDERINGHELP 38
70 #define REMDESK_ERROR_HELPEENEVERRESPONDED 40
71 #define REMDESK_ERROR_HELPEESAIDNO 41
72 #define REMDESK_ERROR_HELPSESSIONACCESSDENIED 42
73 #define REMDESK_ERROR_USERNOTFOUND 43
74 #define REMDESK_ERROR_SESSMGRERRORNOTINIT 44
75 #define REMDESK_ERROR_SELFHELPNOTSUPPORTED 45
76 #define REMDESK_ERROR_INCOMPATIBLEVERSION 47
77 #define REMDESK_ERROR_SESSIONNOTCONNECTED 48
78 #define REMDESK_ERROR_SYSTEMSHUTDOWN 50
79 #define REMDESK_ERROR_STOPLISTENBYUSER 51
80 #define REMDESK_ERROR_WINSOCK_FAILED 52
81 #define REMDESK_ERROR_MISMATCHPARMS 53
82 #define REMDESK_ERROR_PASSWORDS_DONT_MATCH 61
83 #define REMDESK_ERROR_SHADOWEND_BASE 300
84 #define REMDESK_ERROR_SHADOWEND_CONFIGCHANGE 301
85 #define REMDESK_ERROR_SHADOWEND_UNKNOWN 302
86 
87 typedef struct
88 {
89  UINT32 DataLength;
90  char ChannelName[32];
92 
93 #define REMDESK_CHANNEL_CTL_NAME "RC_CTL"
94 #define REMDESK_CHANNEL_CTL_SIZE 22
95 
96 typedef struct
97 {
99 
100  UINT32 msgType;
102 
103 #define REMDESK_CTL_REMOTE_CONTROL_DESKTOP 1
104 #define REMDESK_CTL_RESULT 2
105 #define REMDESK_CTL_AUTHENTICATE 3
106 #define REMDESK_CTL_SERVER_ANNOUNCE 4
107 #define REMDESK_CTL_DISCONNECT 5
108 #define REMDESK_CTL_VERSIONINFO 6
109 #define REMDESK_CTL_ISCONNECTED 7
110 #define REMDESK_CTL_VERIFY_PASSWORD 8
111 #define REMDESK_CTL_EXPERT_ON_VISTA 9
112 #define REMDESK_CTL_RANOVICE_NAME 10
113 #define REMDESK_CTL_RAEXPERT_NAME 11
114 #define REMDESK_CTL_TOKEN 12
115 
116 typedef struct
117 {
118  REMDESK_CTL_HEADER ctlHeader;
119 
120  UINT32 result;
122 
123 typedef struct
124 {
125  REMDESK_CTL_HEADER ctlHeader;
126 
127  UINT32 versionMajor;
128  UINT32 versionMinor;
130 
131 typedef struct
132 {
133  REMDESK_CTL_HEADER ctlHeader;
134 
135  char* raConnectionString;
136  char* expertBlob;
138 
139 typedef struct
140 {
141  REMDESK_CTL_HEADER ctlHeader;
142 
143  char* raConnectionString;
145 
146 typedef struct
147 {
148  REMDESK_CTL_HEADER ctlHeader;
149 
150  char* expertBlob;
152 
153 typedef struct
154 {
155  REMDESK_CTL_HEADER ctlHeader;
156 
157  BYTE* EncryptedPassword;
158  UINT32 EncryptedPasswordLength;
160 
161 #ifdef __cplusplus
162 }
163 #endif
164 
165 #endif /* FREERDP_CHANNEL_REMDESK_H */