FreeRDP
pf_channel_drdynvc.c File Reference

Macros

#define DTAG   PROXY_TAG("drdynvc")
 

Typedefs

typedef PfChannelResult(* dynamic_channel_on_data_fn) (pServerContext *ps, pServerDynamicChannelContext *channel, BOOL isBackData, ChannelStateTracker *tracker, BOOL firstPacket, BOOL lastPacket)
 
typedef void(* channel_data_dtor_fn) (void **user_data)
 

Enumerations

enum  PfDynChannelOpenStatus { CHANNEL_OPENSTATE_WAITING_OPEN_STATUS , CHANNEL_OPENSTATE_OPENED , CHANNEL_OPENSTATE_CLOSED }
 channel opened status More...
 
enum  DynvcReadResult { DYNCVC_READ_OK , DYNCVC_READ_ERROR , DYNCVC_READ_INCOMPLETE }
 result of dynamic channel packet treatment More...
 

Functions

static const char * openstatus2str (PfDynChannelOpenStatus status)
 
static PfChannelResult data_cb (pServerContext *ps, pServerDynamicChannelContext *channel, BOOL isBackData, ChannelStateTracker *tracker, BOOL firstPacket, BOOL lastPacket)
 
static pServerDynamicChannelContext * DynamicChannelContext_new (wLog *log, pServerContext *ps, const char *name, UINT32 id)
 
static void DynamicChannelContext_free (void *ptr)
 
static UINT32 ChannelId_Hash (const void *key)
 
static BOOL ChannelId_Compare (const void *objA, const void *objB)
 
static DynvcReadResult dynvc_read_varInt (wLog *log, wStream *s, size_t len, UINT64 *varInt, BOOL last)
 
static PfChannelResult DynvcTrackerPeekFn (ChannelStateTracker *tracker, BOOL firstPacket, BOOL lastPacket)
 
static void DynChannelContext_free (void *context)
 
static const char * dynamic_context (void *arg)
 
static DynChannelContext * DynChannelContext_new (proxyData *pdata, pServerStaticChannelContext *channel)
 
static PfChannelResult pf_dynvc_back_data (proxyData *pdata, const pServerStaticChannelContext *channel, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize)
 
static PfChannelResult pf_dynvc_front_data (proxyData *pdata, const pServerStaticChannelContext *channel, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize)
 
BOOL pf_channel_setup_drdynvc (proxyData *pdata, pServerStaticChannelContext *channel)
 

Macro Definition Documentation

◆ DTAG

#define DTAG   PROXY_TAG("drdynvc")

FreeRDP: A Remote Desktop Protocol Implementation pf_channel_drdynvc

Copyright 2022 David Fort conta.nosp@m.ct@h.nosp@m.arden.nosp@m.ing-.nosp@m.consu.nosp@m.ltin.nosp@m.g.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.

Typedef Documentation

◆ channel_data_dtor_fn

typedef void(* channel_data_dtor_fn) (void **user_data)

◆ dynamic_channel_on_data_fn

typedef PfChannelResult(* dynamic_channel_on_data_fn) (pServerContext *ps, pServerDynamicChannelContext *channel, BOOL isBackData, ChannelStateTracker *tracker, BOOL firstPacket, BOOL lastPacket)

Enumeration Type Documentation

◆ DynvcReadResult

result of dynamic channel packet treatment

Enumerator
DYNCVC_READ_OK 

read was OK

DYNCVC_READ_ERROR 

an error happened during read

DYNCVC_READ_INCOMPLETE 

missing bytes to read the complete packet

◆ PfDynChannelOpenStatus

channel opened status

Enumerator
CHANNEL_OPENSTATE_WAITING_OPEN_STATUS 

dynamic channel waiting for create response

CHANNEL_OPENSTATE_OPENED 

opened

CHANNEL_OPENSTATE_CLOSED 

dynamic channel has been opened then closed

Function Documentation

◆ ChannelId_Compare()

static BOOL ChannelId_Compare ( const void *  objA,
const void *  objB 
)
static
Here is the caller graph for this function:

◆ ChannelId_Hash()

static UINT32 ChannelId_Hash ( const void *  key)
static
Here is the caller graph for this function:

◆ data_cb()

static PfChannelResult data_cb ( pServerContext *  ps,
pServerDynamicChannelContext *  channel,
BOOL  isBackData,
ChannelStateTracker *  tracker,
BOOL  firstPacket,
BOOL  lastPacket 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dynamic_context()

static const char* dynamic_context ( void *  arg)
static
Here is the caller graph for this function:

◆ DynamicChannelContext_free()

static void DynamicChannelContext_free ( void *  ptr)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DynamicChannelContext_new()

static pServerDynamicChannelContext* DynamicChannelContext_new ( wLog *  log,
pServerContext *  ps,
const char *  name,
UINT32  id 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DynChannelContext_free()

static void DynChannelContext_free ( void *  context)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DynChannelContext_new()

static DynChannelContext* DynChannelContext_new ( proxyData *  pdata,
pServerStaticChannelContext *  channel 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dynvc_read_varInt()

static DynvcReadResult dynvc_read_varInt ( wLog *  log,
wStream s,
size_t  len,
UINT64 *  varInt,
BOOL  last 
)
static
Here is the caller graph for this function:

◆ DynvcTrackerPeekFn()

static PfChannelResult DynvcTrackerPeekFn ( ChannelStateTracker *  tracker,
BOOL  firstPacket,
BOOL  lastPacket 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ openstatus2str()

static const char* openstatus2str ( PfDynChannelOpenStatus  status)
static
Here is the caller graph for this function:

◆ pf_channel_setup_drdynvc()

BOOL pf_channel_setup_drdynvc ( proxyData *  pdata,
pServerStaticChannelContext *  channel 
)

FreeRDP: A Remote Desktop Protocol Implementation pf_channel_drdynvc

Copyright 2022 David Fort conta.nosp@m.ct@h.nosp@m.arden.nosp@m.ing-.nosp@m.consu.nosp@m.ltin.nosp@m.g.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.

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

◆ pf_dynvc_back_data()

static PfChannelResult pf_dynvc_back_data ( proxyData *  pdata,
const pServerStaticChannelContext *  channel,
const BYTE xdata,
size_t  xsize,
UINT32  flags,
size_t  totalSize 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_dynvc_front_data()

static PfChannelResult pf_dynvc_front_data ( proxyData *  pdata,
const pServerStaticChannelContext *  channel,
const BYTE xdata,
size_t  xsize,
UINT32  flags,
size_t  totalSize 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: