1 |
/* |
2 |
rdesktop: A Remote Desktop Protocol client. |
3 |
Protocol services - ISO layer |
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 |
/* ISO PDU codes */ |
22 |
enum ISO_PDU_CODE |
23 |
{ |
24 |
ISO_PDU_CR = 0xE0, /* Connection Request */ |
25 |
ISO_PDU_CC = 0xD0, /* Connection Confirm */ |
26 |
ISO_PDU_DR = 0x80, /* Disconnect Request */ |
27 |
ISO_PDU_DT = 0xF0, /* Data */ |
28 |
ISO_PDU_ER = 0x70 /* Error */ |
29 |
}; |
30 |
|
31 |
/* ISO transport encapsulation over TCP (RFC2126) */ |
32 |
typedef struct _TPKT |
33 |
{ |
34 |
uint8 version; |
35 |
uint8 reserved; |
36 |
uint16 length; |
37 |
|
38 |
} TPKT; |
39 |
|
40 |
/* ISO transport protocol PDU (RFC905) */ |
41 |
typedef struct _TPDU |
42 |
{ |
43 |
uint8 hlen; |
44 |
uint8 code; |
45 |
|
46 |
/* CR, CC, DR PDUs */ |
47 |
uint16 dst_ref; |
48 |
uint16 src_ref; |
49 |
uint8 class; |
50 |
|
51 |
/* DT PDU */ |
52 |
uint8 eot; |
53 |
|
54 |
} TPDU; |