FreeRDP
|
#include <freerdp/config.h>
#include <stdio.h>
#include <winpr/print.h>
#include <freerdp/log.h>
#include "tpdu.h"
Macros | |
#define | TAG FREERDP_TAG("core") |
Functions | |
static BOOL | tpdu_write_header (wStream *s, UINT16 length, BYTE code) |
BOOL | tpdu_read_header (wStream *s, BYTE *code, BYTE *li, UINT16 tpktlength) |
BOOL | tpdu_read_connection_request (wStream *s, BYTE *li, UINT16 tpktlength) |
BOOL | tpdu_write_connection_request (wStream *s, UINT16 length) |
BOOL | tpdu_read_connection_confirm (wStream *s, BYTE *li, UINT16 tpktlength) |
BOOL | tpdu_write_connection_confirm (wStream *s, UINT16 length) |
BOOL | tpdu_write_disconnect_request (wStream *s, UINT16 length) |
BOOL | tpdu_write_data (wStream *s) |
BOOL | tpdu_read_data (wStream *s, UINT16 *LI, UINT16 tpktlength) |
const char * | tpdu_type_to_string (int type) |
#define TAG FREERDP_TAG("core") |
FreeRDP: A Remote Desktop Protocol Implementation X.224 Transport Protocol Data Units (TPDUs)
Copyright 2011 Marc-Andre Moreau marca ndre .more au@g mail. com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Read Connection Confirm TPDU.
s | stream |
Read Connection Request TPDU
s | stream |
Read Data TPDU.
s | stream |
Read TPDU header.
s | stream |
code | variable pointer to receive TPDU code |
const char* tpdu_type_to_string | ( | int | type | ) |
Write Connection Confirm TPDU.
s | stream |
length | TPDU length |
Write Connection Request TPDU.
s | stream |
length | TPDU length |
BOOL tpdu_write_data | ( | wStream * | s | ) |
Write Data TPDU.
s | stream |
Write Disconnect Request TPDU.
s | stream |
length | TPDU length |
TPDUs are defined in:
http://www.itu.int/rec/T-REC-X.224-199511-I/ X.224: Information technology - Open Systems Interconnection - Protocol for providing the connection-mode transport service
RDP uses only TPDUs of class 0, the "simple class" defined in section 8 of X.224
TPDU Header
____________________ byte | | | LI | 1 |____________________| | | | Code | 2 |____________________| | | | | 3 |_______DST-REF______| | | | | 4 |____________________| | | | | 5 |_______SRC-REF______| | | | | 6 |____________________| | | | Class | 7 |____________________| | ... |
Write TDPU header.
s | stream |
length | length |
code | TPDU code |