FreeRDP
autodetect.c File Reference
#include <winpr/crypto.h>
#include "autodetect.h"

Macros

#define RDP_RTT_REQUEST_TYPE_CONTINUOUS   0x0001
 
#define RDP_RTT_REQUEST_TYPE_CONNECTTIME   0x1001
 
#define RDP_RTT_RESPONSE_TYPE   0x0000
 
#define RDP_BW_START_REQUEST_TYPE_CONTINUOUS   0x0014
 
#define RDP_BW_START_REQUEST_TYPE_TUNNEL   0x0114
 
#define RDP_BW_START_REQUEST_TYPE_CONNECTTIME   0x1014
 
#define RDP_BW_PAYLOAD_REQUEST_TYPE   0x0002
 
#define RDP_BW_STOP_REQUEST_TYPE_CONNECTTIME   0x002B
 
#define RDP_BW_STOP_REQUEST_TYPE_CONTINUOUS   0x0429
 
#define RDP_BW_STOP_REQUEST_TYPE_TUNNEL   0x0629
 
#define RDP_BW_RESULTS_RESPONSE_TYPE_CONNECTTIME   0x0003
 
#define RDP_BW_RESULTS_RESPONSE_TYPE_CONTINUOUS   0x000B
 
#define RDP_NETCHAR_SYNC_RESPONSE_TYPE   0x0018
 

Functions

static BOOL autodetect_send_rtt_measure_request (rdpContext *context, UINT16 sequenceNumber, UINT16 requestType)
 
static BOOL autodetect_send_continuous_rtt_measure_request (rdpContext *context, UINT16 sequenceNumber)
 
BOOL autodetect_send_connecttime_rtt_measure_request (rdpContext *context, UINT16 sequenceNumber)
 
static BOOL autodetect_send_rtt_measure_response (rdpRdp *rdp, UINT16 sequenceNumber)
 
static BOOL autodetect_send_bandwidth_measure_start (rdpContext *context, UINT16 sequenceNumber, UINT16 requestType)
 
static BOOL autodetect_send_continuous_bandwidth_measure_start (rdpContext *context, UINT16 sequenceNumber)
 
BOOL autodetect_send_connecttime_bandwidth_measure_start (rdpContext *context, UINT16 sequenceNumber)
 
BOOL autodetect_send_bandwidth_measure_payload (rdpContext *context, UINT16 payloadLength, UINT16 sequenceNumber)
 
static BOOL autodetect_send_bandwidth_measure_stop (rdpContext *context, UINT16 payloadLength, UINT16 sequenceNumber, UINT16 requestType)
 
static BOOL autodetect_send_continuous_bandwidth_measure_stop (rdpContext *context, UINT16 sequenceNumber)
 
BOOL autodetect_send_connecttime_bandwidth_measure_stop (rdpContext *context, UINT16 payloadLength, UINT16 sequenceNumber)
 
static BOOL autodetect_send_bandwidth_measure_results (rdpRdp *rdp, UINT16 responseType, UINT16 sequenceNumber)
 
static BOOL autodetect_send_netchar_result (rdpContext *context, UINT16 sequenceNumber)
 
BOOL autodetect_send_netchar_sync (rdpRdp *rdp, UINT16 sequenceNumber)
 
static BOOL autodetect_recv_rtt_measure_request (rdpRdp *rdp, wStream *s, AUTODETECT_REQ_PDU *autodetectReqPdu)
 
static BOOL autodetect_recv_rtt_measure_response (rdpRdp *rdp, wStream *s, AUTODETECT_RSP_PDU *autodetectRspPdu)
 
static BOOL autodetect_recv_bandwidth_measure_start (rdpRdp *rdp, wStream *s, AUTODETECT_REQ_PDU *autodetectReqPdu)
 
static BOOL autodetect_recv_bandwidth_measure_payload (rdpRdp *rdp, wStream *s, AUTODETECT_REQ_PDU *autodetectReqPdu)
 
static BOOL autodetect_recv_bandwidth_measure_stop (rdpRdp *rdp, wStream *s, AUTODETECT_REQ_PDU *autodetectReqPdu)
 
static BOOL autodetect_recv_bandwidth_measure_results (rdpRdp *rdp, wStream *s, AUTODETECT_RSP_PDU *autodetectRspPdu)
 
static BOOL autodetect_recv_netchar_result (rdpRdp *rdp, wStream *s, AUTODETECT_REQ_PDU *autodetectReqPdu)
 
int rdp_recv_autodetect_request_packet (rdpRdp *rdp, wStream *s)
 
int rdp_recv_autodetect_response_packet (rdpRdp *rdp, wStream *s)
 
rdpAutoDetect * autodetect_new (void)
 
void autodetect_free (rdpAutoDetect *autoDetect)
 
void autodetect_register_server_callbacks (rdpAutoDetect *autodetect)
 

Macro Definition Documentation

#define RDP_BW_PAYLOAD_REQUEST_TYPE   0x0002
#define RDP_BW_RESULTS_RESPONSE_TYPE_CONNECTTIME   0x0003
#define RDP_BW_RESULTS_RESPONSE_TYPE_CONTINUOUS   0x000B
#define RDP_BW_START_REQUEST_TYPE_CONNECTTIME   0x1014
#define RDP_BW_START_REQUEST_TYPE_CONTINUOUS   0x0014
#define RDP_BW_START_REQUEST_TYPE_TUNNEL   0x0114
#define RDP_BW_STOP_REQUEST_TYPE_CONNECTTIME   0x002B
#define RDP_BW_STOP_REQUEST_TYPE_CONTINUOUS   0x0429
#define RDP_BW_STOP_REQUEST_TYPE_TUNNEL   0x0629
#define RDP_NETCHAR_SYNC_RESPONSE_TYPE   0x0018
#define RDP_RTT_REQUEST_TYPE_CONNECTTIME   0x1001
#define RDP_RTT_REQUEST_TYPE_CONTINUOUS   0x0001

FreeRDP: A Remote Desktop Protocol Implementation Auto-Detect PDUs

Copyright 2014 Dell Software Mike..nosp@m.McDo.nosp@m.nald@.nosp@m.soft.nosp@m.ware..nosp@m.dell.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.

#define RDP_RTT_RESPONSE_TYPE   0x0000

Function Documentation

void autodetect_free ( rdpAutoDetect *  autoDetect)

Here is the caller graph for this function:

rdpAutoDetect* autodetect_new ( void  )

Here is the caller graph for this function:

static BOOL autodetect_recv_bandwidth_measure_payload ( rdpRdp *  rdp,
wStream *  s,
AUTODETECT_REQ_PDU *  autodetectReqPdu 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_recv_bandwidth_measure_results ( rdpRdp *  rdp,
wStream *  s,
AUTODETECT_RSP_PDU *  autodetectRspPdu 
)
static

Here is the caller graph for this function:

static BOOL autodetect_recv_bandwidth_measure_start ( rdpRdp *  rdp,
wStream *  s,
AUTODETECT_REQ_PDU *  autodetectReqPdu 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_recv_bandwidth_measure_stop ( rdpRdp *  rdp,
wStream *  s,
AUTODETECT_REQ_PDU *  autodetectReqPdu 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_recv_netchar_result ( rdpRdp *  rdp,
wStream *  s,
AUTODETECT_REQ_PDU *  autodetectReqPdu 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_recv_rtt_measure_request ( rdpRdp *  rdp,
wStream *  s,
AUTODETECT_REQ_PDU *  autodetectReqPdu 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_recv_rtt_measure_response ( rdpRdp *  rdp,
wStream *  s,
AUTODETECT_RSP_PDU *  autodetectRspPdu 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void autodetect_register_server_callbacks ( rdpAutoDetect *  autodetect)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL autodetect_send_bandwidth_measure_payload ( rdpContext *  context,
UINT16  payloadLength,
UINT16  sequenceNumber 
)

Here is the call graph for this function:

static BOOL autodetect_send_bandwidth_measure_results ( rdpRdp *  rdp,
UINT16  responseType,
UINT16  sequenceNumber 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_send_bandwidth_measure_start ( rdpContext *  context,
UINT16  sequenceNumber,
UINT16  requestType 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_send_bandwidth_measure_stop ( rdpContext *  context,
UINT16  payloadLength,
UINT16  sequenceNumber,
UINT16  requestType 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL autodetect_send_connecttime_bandwidth_measure_start ( rdpContext *  context,
UINT16  sequenceNumber 
)

Here is the call graph for this function:

BOOL autodetect_send_connecttime_bandwidth_measure_stop ( rdpContext *  context,
UINT16  payloadLength,
UINT16  sequenceNumber 
)

Here is the call graph for this function:

BOOL autodetect_send_connecttime_rtt_measure_request ( rdpContext *  context,
UINT16  sequenceNumber 
)

Here is the call graph for this function:

static BOOL autodetect_send_continuous_bandwidth_measure_start ( rdpContext *  context,
UINT16  sequenceNumber 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_send_continuous_bandwidth_measure_stop ( rdpContext *  context,
UINT16  sequenceNumber 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_send_continuous_rtt_measure_request ( rdpContext *  context,
UINT16  sequenceNumber 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_send_netchar_result ( rdpContext *  context,
UINT16  sequenceNumber 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL autodetect_send_netchar_sync ( rdpRdp *  rdp,
UINT16  sequenceNumber 
)

Here is the call graph for this function:

static BOOL autodetect_send_rtt_measure_request ( rdpContext *  context,
UINT16  sequenceNumber,
UINT16  requestType 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL autodetect_send_rtt_measure_response ( rdpRdp *  rdp,
UINT16  sequenceNumber 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

int rdp_recv_autodetect_request_packet ( rdpRdp *  rdp,
wStream *  s 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int rdp_recv_autodetect_response_packet ( rdpRdp *  rdp,
wStream *  s 
)

Here is the call graph for this function:

Here is the caller graph for this function: