FreeRDP
cap_main.c File Reference
#include <errno.h>
#include <winpr/image.h>
#include <freerdp/gdi/gdi.h>
#include <winpr/winsock.h>
#include "pf_log.h"
#include "modules_api.h"
#include "pf_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 (void)
 
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 (proxyData *pdata)
 
static BOOL capture_plugin_session_end (proxyData *pdata)
 
static BOOL capture_plugin_send_frame (pClientContext *pc, SOCKET socket, const BYTE *buffer)
 
static BOOL capture_plugin_client_end_paint (proxyData *pdata)
 
static BOOL capture_plugin_client_post_connect (proxyData *pdata)
 
static BOOL capture_plugin_server_post_connect (proxyData *pdata)
 
static BOOL capture_plugin_unload (void)
 
BOOL proxy_module_entry_point (proxyPluginsManager *plugins_manager)
 

Variables

static proxyPluginsManager * g_plugins_manager = NULL
 
static captureConfig config = { 0 }
 
static proxyPlugin demo_plugin
 

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

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 ( proxyData *  pdata)
static
Here is the call graph for this function:

◆ capture_plugin_client_post_connect()

static BOOL capture_plugin_client_post_connect ( proxyData *  pdata)
static
Here is the call graph for this function:

◆ capture_plugin_get_socket()

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

◆ capture_plugin_init_socket()

static SOCKET capture_plugin_init_socket ( void  )
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 ( proxyData *  pdata)
static

◆ capture_plugin_session_end()

static BOOL capture_plugin_session_end ( proxyData *  pdata)
static
Here is the call graph for this function:

◆ capture_plugin_unload()

static BOOL capture_plugin_unload ( void  )
static
Here is the call graph for this function:

◆ proxy_module_entry_point()

BOOL proxy_module_entry_point ( proxyPluginsManager *  plugins_manager)

Variable Documentation

◆ config

captureConfig config = { 0 }
static

◆ demo_plugin

◆ g_plugins_manager

proxyPluginsManager* g_plugins_manager = NULL
static
PLUGIN_DESC
#define PLUGIN_DESC
Definition: cap_main.c:23
capture_plugin_session_end
static BOOL capture_plugin_session_end(proxyData *pdata)
Definition: cap_main.c:123
capture_plugin_client_end_paint
static BOOL capture_plugin_client_end_paint(proxyData *pdata)
Definition: cap_main.c:181
capture_plugin_unload
static BOOL capture_plugin_unload(void)
Definition: cap_main.c:251
PLUGIN_NAME
#define PLUGIN_NAME
Definition: cap_main.c:22
NULL
if availableBytes return NULL
Definition: TPCircularBuffer.h:109
capture_plugin_server_post_connect
static BOOL capture_plugin_server_post_connect(proxyData *pdata)
Definition: cap_main.c:229
capture_plugin_client_post_connect
static BOOL capture_plugin_client_post_connect(proxyData *pdata)
Definition: cap_main.c:208