FreeRDP
pf_modules.c File Reference
#include <assert.h>
#include <winpr/wlog.h>
#include <winpr/library.h>
#include <freerdp/api.h>
#include "pf_log.h"
#include "pf_modules.h"
#include "pf_context.h"

Macros

#define TAG   PROXY_TAG("modules")
 
#define MODULE_INIT_METHOD   "module_init"
 
#define MODULE_EXIT_METHOD   "module_exit"
 

Typedefs

typedef BOOL(* moduleInitFn) (moduleOperations *ops)
 
typedef BOOL(* moduleExitFn) (moduleOperations *ops)
 

Functions

static const char * pf_modules_get_filter_type_string (PF_FILTER_TYPE result)
 
static const char * pf_modules_get_hook_type_string (PF_HOOK_TYPE result)
 
BOOL pf_modules_init (void)
 
BOOL pf_modules_run_hook (PF_HOOK_TYPE type, rdpContext *context)
 
BOOL pf_modules_run_filter (PF_FILTER_TYPE type, rdpContext *server, void *param)
 
static void pf_modules_module_free (proxyModule *module)
 
void pf_modules_free (void)
 
static BOOL pf_modules_set_session_data (moduleOperations *module, rdpContext *context, void *data)
 
static voidpf_modules_get_session_data (moduleOperations *module, rdpContext *context)
 
static void pf_modules_abort_connect (moduleOperations *module, rdpContext *context)
 
BOOL pf_modules_register_new (const char *module_path, const char *module_name)
 

Variables

static modules_listproxy_modules = NULL
 
static const char * FILTER_TYPE_STRINGS []
 
static const char * HOOK_TYPE_STRINGS []
 

Macro Definition Documentation

#define MODULE_EXIT_METHOD   "module_exit"
#define MODULE_INIT_METHOD   "module_init"
#define TAG   PROXY_TAG("modules")

FreeRDP: A Remote Desktop Protocol Implementation FreeRDP Proxy Server modules API

Copyright 2019 Kobi Mizrachi kmizr.nosp@m.achi.nosp@m.18@gm.nosp@m.ail..nosp@m.com Copyright 2019 Idan Freiberg speid.nosp@m.y@gm.nosp@m.ail.c.nosp@m.om

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

typedef BOOL(* moduleExitFn) (moduleOperations *ops)
typedef BOOL(* moduleInitFn) (moduleOperations *ops)

Function Documentation

static void pf_modules_abort_connect ( moduleOperations *  module,
rdpContext *  context 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void pf_modules_free ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

static const char* pf_modules_get_filter_type_string ( PF_FILTER_TYPE  result)
static

Here is the caller graph for this function:

static const char* pf_modules_get_hook_type_string ( PF_HOOK_TYPE  result)
static

Here is the caller graph for this function:

static void* pf_modules_get_session_data ( moduleOperations *  module,
rdpContext *  context 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL pf_modules_init ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

static void pf_modules_module_free ( proxyModule *  module)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL pf_modules_register_new ( const char *  module_path,
const char *  module_name 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL pf_modules_run_filter ( PF_FILTER_TYPE  type,
rdpContext *  server,
void param 
)

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL pf_modules_run_hook ( PF_HOOK_TYPE  type,
rdpContext *  context 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL pf_modules_set_session_data ( moduleOperations *  module,
rdpContext *  context,
void data 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

const char* FILTER_TYPE_STRINGS[]
static
Initial value:
= {
"KEYBOARD_EVENT",
"MOUSE_EVENT",
}
const char* HOOK_TYPE_STRINGS[]
static
Initial value:
= {
"CLIENT_PRE_CONNECT",
"SERVER_CHANNELS_INIT",
"SERVER_CHANNELS_FREE",
}
modules_list* proxy_modules = NULL
static