1 |
/* |
2 |
rdesktop: A Remote Desktop Protocol client. |
3 |
Protocol services - Multipoint Communications Service |
4 |
Copyright (C) Matthew Chapman 1999-2000 |
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 2 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, write to the Free Software |
18 |
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
19 |
*/ |
20 |
|
21 |
/* An ASN.1 octet string */ |
22 |
typedef struct _OCTET_STRING |
23 |
{ |
24 |
int length; |
25 |
unsigned char *data; |
26 |
|
27 |
} OCTET_STRING; |
28 |
|
29 |
/* MCS domain parameters */ |
30 |
typedef struct _DOMAIN_PARAMS |
31 |
{ |
32 |
uint16 max_channels; |
33 |
uint16 max_users; |
34 |
uint16 max_tokens; |
35 |
uint16 num_priorities; |
36 |
uint16 min_throughput; |
37 |
uint16 max_height; |
38 |
uint16 max_pdusize; |
39 |
uint16 ver_protocol; |
40 |
|
41 |
} DOMAIN_PARAMS; |
42 |
|
43 |
/* MCS-CONNECT-INITIAL request */ |
44 |
typedef struct _MCS_CONNECT_INITIAL |
45 |
{ |
46 |
int length; |
47 |
|
48 |
OCTET_STRING calling_domain; |
49 |
OCTET_STRING called_domain; |
50 |
uint8 upward_flag; |
51 |
DOMAIN_PARAMS target_params; |
52 |
DOMAIN_PARAMS minimum_params; |
53 |
DOMAIN_PARAMS maximum_params; |
54 |
OCTET_STRING user_data; |
55 |
|
56 |
} MCS_CONNECT_INITIAL; |
57 |
|
58 |
/* MCS-CONNECT-RESPONSE */ |
59 |
typedef struct _MCS_CONNECT_RESPONSE |
60 |
{ |
61 |
int length; |
62 |
|
63 |
uint8 result; |
64 |
uint16 connect_id; |
65 |
DOMAIN_PARAMS domain_params; |
66 |
OCTET_STRING user_data; |
67 |
|
68 |
} MCS_CONNECT_RESPONSE; |
69 |
|
70 |
/* EDrq - Erect Domain Request */ |
71 |
typedef struct _MCS_EDRQ |
72 |
{ |
73 |
uint16 height; |
74 |
uint16 interval; |
75 |
|
76 |
} MCS_EDRQ; |
77 |
|
78 |
/* AUrq - Attach User Request */ |
79 |
typedef struct _MCS_AURQ |
80 |
{ |
81 |
|
82 |
} MCS_AURQ; |
83 |
|
84 |
/* AUcf - Attach User Confirm */ |
85 |
typedef struct _MCS_AUCF |
86 |
{ |
87 |
uint8 result; |
88 |
uint16 userid; |
89 |
|
90 |
} MCS_AUCF; |
91 |
|
92 |
/* CJrq - Channel Join Request */ |
93 |
typedef struct _MCS_CJRQ |
94 |
{ |
95 |
uint16 userid; |
96 |
uint16 chanid; |
97 |
|
98 |
} MCS_CJRQ; |
99 |
|
100 |
/* CJcf - Channel Join Confirm */ |
101 |
typedef struct _MCS_CJCF |
102 |
{ |
103 |
uint8 result; |
104 |
uint16 userid; |
105 |
uint16 req_chanid; |
106 |
uint16 join_chanid; |
107 |
|
108 |
} MCS_CJCF; |
109 |
|
110 |
/* SDrq/SDin - Send Data */ |
111 |
typedef struct _MCS_DATA |
112 |
{ |
113 |
uint16 userid; |
114 |
uint16 chanid; |
115 |
uint8 flags; |
116 |
uint16 length; |
117 |
|
118 |
} MCS_DATA; |
119 |
|
120 |
#define MCS_GLOBAL_CHANNEL 1003 |