FreeRDP
tpdu.c File Reference
#include <stdio.h>
#include <winpr/print.h>
#include <freerdp/log.h>
#include "tpdu.h"

Macros

#define TAG   FREERDP_TAG("core")
 

Functions

BOOL tpdu_read_header (wStream *s, BYTE *code, BYTE *li)
 
void tpdu_write_header (wStream *s, UINT16 length, BYTE code)
 
BOOL tpdu_read_connection_request (wStream *s, BYTE *li)
 
void tpdu_write_connection_request (wStream *s, UINT16 length)
 
BOOL tpdu_read_connection_confirm (wStream *s, BYTE *li)
 
void tpdu_write_connection_confirm (wStream *s, UINT16 length)
 
void tpdu_write_disconnect_request (wStream *s, UINT16 length)
 
void tpdu_write_data (wStream *s)
 
BOOL tpdu_read_data (wStream *s, UINT16 *LI)
 

Macro Definition Documentation

#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

BOOL tpdu_read_connection_confirm ( wStream *  s,
BYTE li 
)

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:

BOOL tpdu_read_connection_request ( wStream *  s,
BYTE li 
)

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:

BOOL tpdu_read_data ( wStream *  s,
UINT16 LI 
)

Read Data TPDU.

Parameters
sstream

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL tpdu_read_header ( wStream *  s,
BYTE code,
BYTE li 
)

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 |____________________| | ... | 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:

void 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:

void 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:

void 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:

void tpdu_write_disconnect_request ( wStream *  s,
UINT16  length 
)

Write Disconnect Request TPDU.

Parameters
sstream
lengthTPDU length

Here is the call graph for this function:

void tpdu_write_header ( wStream *  s,
UINT16  length,
BYTE  code 
)

Write TDPU header.

Parameters
sstream
lengthlength
codeTPDU code

Here is the call graph for this function:

Here is the caller graph for this function: