FreeRDP
cap_main.c File Reference
#include <errno.h>
#include <winpr/image.h>
#include <freerdp/gdi/gdi.h>
#include <winpr/winsock.h>
#include <freerdp/server/proxy/proxy_modules_api.h>
#include <freerdp/server/proxy/proxy_log.h>
#include <freerdp/server/proxy/proxy_context.h>
#include "cap_config.h"
#include "cap_protocol.h"

Macros

#define TAG   MODULE_TAG("capture")
 
#define PLUGIN_NAME   "capture"
 
#define PLUGIN_DESC   "stream egfx connections over tcp"
 
#define BUFSIZE   8092
 

Functions

static SOCKET capture_plugin_init_socket (const captureConfig *cconfig)
 
static BOOL capture_plugin_send_data (SOCKET sockfd, const BYTE *buffer, size_t len)
 
static BOOL capture_plugin_send_packet (SOCKET sockfd, wStream *packet)
 
static SOCKET capture_plugin_get_socket (proxyPlugin *plugin, proxyData *pdata)
 
static BOOL capture_plugin_session_end (proxyPlugin *plugin, proxyData *pdata, void *custom)
 
static BOOL capture_plugin_send_frame (pClientContext *pc, SOCKET socket, const BYTE *buffer)
 
static BOOL capture_plugin_client_end_paint (proxyPlugin *plugin, proxyData *pdata, void *custom)
 
static BOOL capture_plugin_client_post_connect (proxyPlugin *plugin, proxyData *pdata, void *custom)
 
static BOOL capture_plugin_server_post_connect (proxyPlugin *plugin, proxyData *pdata, void *custom)
 
static BOOL capture_plugin_unload (proxyPlugin *plugin)
 
FREERDP_API BOOL proxy_module_entry_point (proxyPluginsManager *plugins_manager, void *userdata)
 

Macro Definition Documentation

◆ BUFSIZE

#define BUFSIZE   8092

◆ PLUGIN_DESC

#define PLUGIN_DESC   "stream egfx connections over tcp"

◆ PLUGIN_NAME

#define PLUGIN_NAME   "capture"

◆ TAG

#define TAG   MODULE_TAG("capture")

FreeRDP: A Remote Desktop Protocol Implementation FreeRDP Proxy Server Session Capture Module

Copyright 2019 Kobi Mizrachi kmizr.nosp@m.achi.nosp@m.18@gm.nosp@m.ail..nosp@m.com Copyright 2021 Armin Novak anova.nosp@m.k@th.nosp@m.incas.nosp@m.t.co.nosp@m.m Copyright 2021 Thincast Technologies GmbH

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

◆ capture_plugin_client_end_paint()

static BOOL capture_plugin_client_end_paint ( proxyPlugin *  plugin,
proxyData *  pdata,
void *  custom 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ capture_plugin_client_post_connect()

static BOOL capture_plugin_client_post_connect ( proxyPlugin *  plugin,
proxyData *  pdata,
void *  custom 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ capture_plugin_get_socket()

static SOCKET capture_plugin_get_socket ( proxyPlugin *  plugin,
proxyData *  pdata 
)
static
Here is the caller graph for this function:

◆ capture_plugin_init_socket()

static SOCKET capture_plugin_init_socket ( const captureConfig cconfig)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ capture_plugin_send_data()

static BOOL capture_plugin_send_data ( SOCKET  sockfd,
const BYTE buffer,
size_t  len 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ capture_plugin_send_frame()

static BOOL capture_plugin_send_frame ( pClientContext *  pc,
SOCKET  socket,
const BYTE buffer 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ capture_plugin_send_packet()

static BOOL capture_plugin_send_packet ( SOCKET  sockfd,
wStream packet 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ capture_plugin_server_post_connect()

static BOOL capture_plugin_server_post_connect ( proxyPlugin *  plugin,
proxyData *  pdata,
void *  custom 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ capture_plugin_session_end()

static BOOL capture_plugin_session_end ( proxyPlugin *  plugin,
proxyData *  pdata,
void *  custom 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ capture_plugin_unload()

static BOOL capture_plugin_unload ( proxyPlugin *  plugin)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ proxy_module_entry_point()

FREERDP_API BOOL proxy_module_entry_point ( proxyPluginsManager *  plugins_manager,
void *  userdata 
)
Here is the call graph for this function: