FreeRDP
proxy_modules.h File Reference
#include <winpr/wtypes.h>
#include <winpr/collections.h>
#include <freerdp/server/proxy/proxy_modules_api.h>
This graph shows which files directly or indirectly include this file:

Enumerations

enum  PF_FILTER_TYPE {
  FILTER_TYPE_KEYBOARD, FILTER_TYPE_MOUSE, FILTER_TYPE_CLIENT_PASSTHROUGH_CHANNEL_DATA, FILTER_TYPE_SERVER_PASSTHROUGH_CHANNEL_DATA,
  FILTER_TYPE_CLIENT_PASSTHROUGH_DYN_CHANNEL_CREATE, FILTER_TYPE_SERVER_FETCH_TARGET_ADDR, FILTER_TYPE_SERVER_PEER_LOGON, FILTER_TYPE_CLIENT_PASSTHROUGH_CHANNEL_CREATE,
  FILTER_LAST
}
 
enum  PF_HOOK_TYPE {
  HOOK_TYPE_CLIENT_INIT_CONNECT, HOOK_TYPE_CLIENT_UNINIT_CONNECT, HOOK_TYPE_CLIENT_PRE_CONNECT, HOOK_TYPE_CLIENT_POST_CONNECT,
  HOOK_TYPE_CLIENT_POST_DISCONNECT, HOOK_TYPE_CLIENT_REDIRECT, HOOK_TYPE_CLIENT_VERIFY_X509, HOOK_TYPE_CLIENT_LOGIN_FAILURE,
  HOOK_TYPE_CLIENT_END_PAINT, HOOK_TYPE_CLIENT_LOAD_CHANNELS, HOOK_TYPE_SERVER_POST_CONNECT, HOOK_TYPE_SERVER_ACTIVATE,
  HOOK_TYPE_SERVER_CHANNELS_INIT, HOOK_TYPE_SERVER_CHANNELS_FREE, HOOK_TYPE_SERVER_SESSION_END, HOOK_TYPE_SERVER_SESSION_INITIALIZE,
  HOOK_TYPE_SERVER_SESSION_STARTED, HOOK_LAST
}
 

Functions

proxyModule * pf_modules_new (const char *root_dir, const char **modules, size_t count)
 
BOOL pf_modules_add (proxyModule *module, proxyModuleEntryPoint ep, void *userdata)
 pf_modules_add Registers a new plugin More...
 
BOOL pf_modules_is_plugin_loaded (proxyModule *module, const char *plugin_name)
 
void pf_modules_list_loaded_plugins (proxyModule *module)
 
BOOL pf_modules_run_filter (proxyModule *module, PF_FILTER_TYPE type, proxyData *pdata, void *param)
 
BOOL pf_modules_run_hook (proxyModule *module, PF_HOOK_TYPE type, proxyData *pdata, void *custom)
 
void pf_modules_free (proxyModule *module)
 

Enumeration Type Documentation

◆ PF_FILTER_TYPE

FreeRDP: A Remote Desktop Protocol Implementation FreeRDP Proxy Server

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.

Enumerator
FILTER_TYPE_KEYBOARD 
FILTER_TYPE_MOUSE 
FILTER_TYPE_CLIENT_PASSTHROUGH_CHANNEL_DATA 
FILTER_TYPE_SERVER_PASSTHROUGH_CHANNEL_DATA 
FILTER_TYPE_CLIENT_PASSTHROUGH_DYN_CHANNEL_CREATE 
FILTER_TYPE_SERVER_FETCH_TARGET_ADDR 
FILTER_TYPE_SERVER_PEER_LOGON 
FILTER_TYPE_CLIENT_PASSTHROUGH_CHANNEL_CREATE 
FILTER_LAST 

◆ PF_HOOK_TYPE

Enumerator
HOOK_TYPE_CLIENT_INIT_CONNECT 
HOOK_TYPE_CLIENT_UNINIT_CONNECT 
HOOK_TYPE_CLIENT_PRE_CONNECT 
HOOK_TYPE_CLIENT_POST_CONNECT 
HOOK_TYPE_CLIENT_POST_DISCONNECT 
HOOK_TYPE_CLIENT_REDIRECT 
HOOK_TYPE_CLIENT_VERIFY_X509 
HOOK_TYPE_CLIENT_LOGIN_FAILURE 
HOOK_TYPE_CLIENT_END_PAINT 
HOOK_TYPE_CLIENT_LOAD_CHANNELS 
HOOK_TYPE_SERVER_POST_CONNECT 
HOOK_TYPE_SERVER_ACTIVATE 
HOOK_TYPE_SERVER_CHANNELS_INIT 
HOOK_TYPE_SERVER_CHANNELS_FREE 
HOOK_TYPE_SERVER_SESSION_END 
HOOK_TYPE_SERVER_SESSION_INITIALIZE 
HOOK_TYPE_SERVER_SESSION_STARTED 
HOOK_LAST 

Function Documentation

◆ pf_modules_add()

BOOL pf_modules_add ( proxyModule *  module,
proxyModuleEntryPoint  ep,
void *  userdata 
)

pf_modules_add Registers a new plugin

Parameters
epA module entry point function, must NOT be NULL
Returns
TRUE for success, FALSE otherwise
Here is the caller graph for this function:

◆ pf_modules_free()

void pf_modules_free ( proxyModule *  module)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_modules_is_plugin_loaded()

BOOL pf_modules_is_plugin_loaded ( proxyModule *  module,
const char *  plugin_name 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_modules_list_loaded_plugins()

void pf_modules_list_loaded_plugins ( proxyModule *  module)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_modules_new()

proxyModule* pf_modules_new ( const char *  root_dir,
const char **  modules,
size_t  count 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_modules_run_filter()

BOOL pf_modules_run_filter ( proxyModule *  module,
PF_FILTER_TYPE  type,
proxyData *  pdata,
void *  param 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pf_modules_run_hook()

BOOL pf_modules_run_hook ( proxyModule *  module,
PF_HOOK_TYPE  type,
proxyData *  pdata,
void *  custom 
)
Here is the call graph for this function:
Here is the caller graph for this function: