FreeRDP
tpdu.c File Reference
#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)
 

Macro Definition Documentation

◆ TAG

#define TAG   FREERDP_TAG("core")

FreeRDP: A Remote Desktop Protocol Implementation X.224 Transport Protocol Data Units (TPDUs)

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.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.

Function Documentation

◆ tpdu_read_connection_confirm()

BOOL tpdu_read_connection_confirm ( wStream s,
BYTE li,
UINT16  tpktlength 
)

Read Connection Confirm TPDU.

Parameters
sstream
Returns
length indicator (LI)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tpdu_read_connection_request()

BOOL tpdu_read_connection_request ( wStream s,
BYTE li,
UINT16  tpktlength 
)

Read Connection Request TPDU

Parameters
sstream
Returns
length indicator (LI)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tpdu_read_data()

BOOL tpdu_read_data ( wStream s,
UINT16 LI,
UINT16  tpktlength 
)

Read Data TPDU.

Parameters
sstream
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tpdu_read_header()

BOOL tpdu_read_header ( wStream s,
BYTE code,
BYTE li,
UINT16  tpktlength 
)

Read TPDU header.

Parameters
sstream
codevariable pointer to receive TPDU code
Returns
TPDU length indicator (LI)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tpdu_type_to_string()

const char* tpdu_type_to_string ( int  type)
Here is the caller graph for this function:

◆ tpdu_write_connection_confirm()

BOOL tpdu_write_connection_confirm ( wStream s,
UINT16  length 
)

Write Connection Confirm TPDU.

Parameters
sstream
lengthTPDU length
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tpdu_write_connection_request()

BOOL tpdu_write_connection_request ( wStream s,
UINT16  length 
)

Write Connection Request TPDU.

Parameters
sstream
lengthTPDU length
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tpdu_write_data()

BOOL tpdu_write_data ( wStream s)

Write Data TPDU.

Parameters
sstream
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tpdu_write_disconnect_request()

BOOL tpdu_write_disconnect_request ( wStream s,
UINT16  length 
)

Write Disconnect Request TPDU.

Parameters
sstream
lengthTPDU length
Here is the call graph for this function:

◆ tpdu_write_header()

BOOL tpdu_write_header ( wStream s,
UINT16  length,
BYTE  code 
)
static

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.

Parameters
sstream
lengthlength
codeTPDU code
Here is the call graph for this function:
Here is the caller graph for this function: