FreeRDP
pf_channel.c File Reference
#include <winpr/assert.h>
#include <freerdp/freerdp.h>
#include <freerdp/server/proxy/proxy_log.h>
#include "proxy_modules.h"
#include "pf_channel.h"

Macros

#define TAG   PROXY_TAG("channel")
 

Functions

static BOOL channelTracker_resetCurrentPacket (ChannelStateTracker *tracker)
 
ChannelStateTracker * channelTracker_new (pServerStaticChannelContext *channel, ChannelTrackerPeekFn fn, void *data)
 
PfChannelResult channelTracker_update (ChannelStateTracker *tracker, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize)
 
void channelTracker_free (ChannelStateTracker *t)
 
PfChannelResult channelTracker_flushCurrent (ChannelStateTracker *t, BOOL first, BOOL last, BOOL toBack)
 
static PfChannelResult pf_channel_generic_back_data (proxyData *pdata, const pServerStaticChannelContext *channel, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize)
 
static PfChannelResult pf_channel_generic_front_data (proxyData *pdata, const pServerStaticChannelContext *channel, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize)
 
BOOL pf_channel_setup_generic (pServerStaticChannelContext *channel)
 
BOOL channelTracker_setMode (ChannelStateTracker *tracker, ChannelTrackerMode mode)
 
ChannelTrackerMode channelTracker_getMode (ChannelStateTracker *tracker)
 
BOOL channelTracker_setPData (ChannelStateTracker *tracker, proxyData *pdata)
 
proxyData * channelTracker_getPData (ChannelStateTracker *tracker)
 
wStreamchannelTracker_getCurrentPacket (ChannelStateTracker *tracker)
 
BOOL channelTracker_setCustomData (ChannelStateTracker *tracker, void *data)
 
void * channelTracker_getCustomData (ChannelStateTracker *tracker)
 
size_t channelTracker_getCurrentPacketSize (ChannelStateTracker *tracker)
 
BOOL channelTracker_setCurrentPacketSize (ChannelStateTracker *tracker, size_t size)
 

Macro Definition Documentation

◆ TAG

#define TAG   PROXY_TAG("channel")

FreeRDP: A Remote Desktop Protocol Implementation

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.

Function Documentation

◆ channelTracker_flushCurrent()

PfChannelResult channelTracker_flushCurrent ( ChannelStateTracker *  t,
BOOL  first,
BOOL  last,
BOOL  toBack 
)

Flushes the current accumulated tracker content, if it's the first packet, then when can just return that the packet shall be passed, otherwise to have to refragment the accumulated current packet.

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

◆ channelTracker_free()

void channelTracker_free ( ChannelStateTracker *  t)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ channelTracker_getCurrentPacket()

wStream* channelTracker_getCurrentPacket ( ChannelStateTracker *  tracker)
Here is the caller graph for this function:

◆ channelTracker_getCurrentPacketSize()

size_t channelTracker_getCurrentPacketSize ( ChannelStateTracker *  tracker)
Here is the caller graph for this function:

◆ channelTracker_getCustomData()

void* channelTracker_getCustomData ( ChannelStateTracker *  tracker)
Here is the caller graph for this function:

◆ channelTracker_getMode()

ChannelTrackerMode channelTracker_getMode ( ChannelStateTracker *  tracker)
Here is the caller graph for this function:

◆ channelTracker_getPData()

proxyData* channelTracker_getPData ( ChannelStateTracker *  tracker)
Here is the caller graph for this function:

◆ channelTracker_new()

ChannelStateTracker* channelTracker_new ( pServerStaticChannelContext *  channel,
ChannelTrackerPeekFn  fn,
void *  data 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ channelTracker_resetCurrentPacket()

static BOOL channelTracker_resetCurrentPacket ( ChannelStateTracker *  tracker)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ channelTracker_setCurrentPacketSize()

BOOL channelTracker_setCurrentPacketSize ( ChannelStateTracker *  tracker,
size_t  size 
)
Here is the caller graph for this function:

◆ channelTracker_setCustomData()

BOOL channelTracker_setCustomData ( ChannelStateTracker *  tracker,
void *  data 
)
Here is the caller graph for this function:

◆ channelTracker_setMode()

BOOL channelTracker_setMode ( ChannelStateTracker *  tracker,
ChannelTrackerMode  mode 
)
Here is the caller graph for this function:

◆ channelTracker_setPData()

BOOL channelTracker_setPData ( ChannelStateTracker *  tracker,
proxyData *  pdata 
)
Here is the caller graph for this function:

◆ channelTracker_update()

PfChannelResult channelTracker_update ( ChannelStateTracker *  tracker,
const BYTE xdata,
size_t  xsize,
UINT32  flags,
size_t  totalSize 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_channel_generic_back_data()

static PfChannelResult pf_channel_generic_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_channel_generic_front_data()

static PfChannelResult pf_channel_generic_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:

◆ pf_channel_setup_generic()

BOOL pf_channel_setup_generic ( pServerStaticChannelContext *  channel)
Here is the call graph for this function:
Here is the caller graph for this function: