FreeRDP
tpkt.h File Reference
#include "tpdu.h"
#include "transport.h"
#include <winpr/stream.h>
#include <freerdp/api.h>
This graph shows which files directly or indirectly include this file:

Macros

#define TPKT_HEADER_LENGTH   4
 

Functions

FREERDP_LOCAL BOOL tpkt_verify_header (wStream *s)
 
FREERDP_LOCAL BOOL tpkt_read_header (wStream *s, UINT16 *length)
 
FREERDP_LOCAL void tpkt_write_header (wStream *s, UINT16 length)
 

Macro Definition Documentation

#define TPKT_HEADER_LENGTH   4

FreeRDP: A Remote Desktop Protocol Implementation Transport Packets (TPKTs)

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

FREERDP_LOCAL BOOL tpkt_read_header ( wStream *  s,
UINT16 length 
)

Read a TPKT header.

Parameters
s
length
Returns
success

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_LOCAL BOOL tpkt_verify_header ( wStream *  s)

FreeRDP: A Remote Desktop Protocol Implementation Transport Packets (TPKTs)

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. TPKTs are defined in:

http://tools.ietf.org/html/rfc1006/ RFC 1006 - ISO Transport Service on top of the TCP

http://www.itu.int/rec/T-REC-T.123/ ITU-T T.123 (01/2007) - Network-specific data protocol stacks for multimedia conferencing

  TPKT Header

____________________ byte | | | 3 (version) | 1 |____________________| | | | Reserved | 2 |____________________| | | | Length (MSB) | 3 |____________________| | | | Length (LSB) | 4 |____________________| | | | X.224 TPDU | 5 - ? ....

A TPKT header is of fixed length 4, and the following X.224 TPDU is at least three bytes long. Therefore, the minimum TPKT length is 7, and the maximum TPKT length is 65535. Because the TPKT length includes the TPKT header (4 bytes), the maximum X.224 TPDU length is 65531. Verify if a packet has valid TPKT header.

Parameters
s
Returns
BOOL

Here is the caller graph for this function:

FREERDP_LOCAL void tpkt_write_header ( wStream *  s,
UINT16  length 
)

Write a TPKT header.

Parameters
s
length

Here is the call graph for this function:

Here is the caller graph for this function: