FreeRDP
channels/client/addin.c File Reference
#include <freerdp/config.h>
#include <winpr/crt.h>
#include <winpr/assert.h>
#include <winpr/path.h>
#include <winpr/string.h>
#include <winpr/file.h>
#include <winpr/synch.h>
#include <winpr/library.h>
#include <winpr/collections.h>
#include <freerdp/freerdp.h>
#include <freerdp/addin.h>
#include <freerdp/build-config.h>
#include <freerdp/client/channels.h>
#include "tables.h"
#include "addin.h"
#include <freerdp/channels/log.h>

Macros

#define TAG   CHANNELS_TAG("addin")
 

Functions

static void * freerdp_channels_find_static_entry_in_table (const STATIC_ENTRY_TABLE *table, const char *identifier)
 
void * freerdp_channels_client_find_static_entry (const char *name, const char *identifier)
 
static FREERDP_ADDIN ** freerdp_channels_list_client_static_addins (LPCSTR pszName, LPCSTR pszSubsystem, LPCSTR pszType, DWORD dwFlags)
 
static HANDLE FindFirstFileUTF8 (LPCSTR pszSearchPath, WIN32_FIND_DATAW *FindData)
 
static FREERDP_ADDIN ** freerdp_channels_list_dynamic_addins (LPCSTR pszName, LPCSTR pszSubsystem, LPCSTR pszType, DWORD dwFlags)
 
FREERDP_ADDIN ** freerdp_channels_list_addins (LPCSTR pszName, LPCSTR pszSubsystem, LPCSTR pszType, DWORD dwFlags)
 
void freerdp_channels_addin_list_free (FREERDP_ADDIN **ppAddins)
 
static BOOL freerdp_channels_is_virtual_channel_entry_ex (LPCSTR pszName)
 
PVIRTUALCHANNELENTRY freerdp_channels_load_static_addin_entry (LPCSTR pszName, LPCSTR pszSubsystem, LPCSTR pszType, DWORD dwFlags)
 
static DWORD WINAPI channel_client_thread_proc (LPVOID userdata)
 
static void free_msg (void *obj)
 
static void channel_client_handler_free (msg_proc_internals *internals)
 
void * channel_client_create_handler (rdpContext *ctx, LPVOID userdata, MsgHandler msg_handler, const char *channel_name)
 
UINT channel_client_post_message (void *MsgsHandle, LPVOID pData, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags)
 
UINT channel_client_quit_handler (void *MsgsHandle)
 

Variables

const STATIC_ENTRY_TABLE CLIENT_STATIC_ENTRY_TABLES []
 
const STATIC_ADDIN_TABLE CLIENT_STATIC_ADDIN_TABLE []
 
const STATIC_ENTRY CLIENT_VirtualChannelEntryEx_TABLE []
 

Macro Definition Documentation

◆ TAG

#define TAG   CHANNELS_TAG("addin")

FreeRDP: A Remote Desktop Protocol Implementation Channel Addins

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2015 Thincast Technologies GmbH Copyright 2015 DI (FH) Martin Haimberger marti.nosp@m.n.ha.nosp@m.imber.nosp@m.ger@.nosp@m.thinc.nosp@m.ast..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

◆ channel_client_create_handler()

void* channel_client_create_handler ( rdpContext *  ctx,
LPVOID  userdata,
MsgHandler  msg_handler,
const char *  channel_name 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ channel_client_handler_free()

static void channel_client_handler_free ( msg_proc_internals *  internals)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ channel_client_post_message()

UINT channel_client_post_message ( void *  MsgsHandle,
LPVOID  pData,
UINT32  dataLength,
UINT32  totalLength,
UINT32  dataFlags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ channel_client_quit_handler()

UINT channel_client_quit_handler ( void *  MsgsHandle)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ channel_client_thread_proc()

static DWORD WINAPI channel_client_thread_proc ( LPVOID  userdata)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindFirstFileUTF8()

static HANDLE FindFirstFileUTF8 ( LPCSTR  pszSearchPath,
WIN32_FIND_DATAW FindData 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ free_msg()

static void free_msg ( void *  obj)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_channels_addin_list_free()

void freerdp_channels_addin_list_free ( FREERDP_ADDIN **  ppAddins)
Here is the caller graph for this function:

◆ freerdp_channels_client_find_static_entry()

void* freerdp_channels_client_find_static_entry ( const char *  name,
const char *  identifier 
)
Here is the call graph for this function:

◆ freerdp_channels_find_static_entry_in_table()

static void* freerdp_channels_find_static_entry_in_table ( const STATIC_ENTRY_TABLE table,
const char *  identifier 
)
static
Here is the caller graph for this function:

◆ freerdp_channels_is_virtual_channel_entry_ex()

static BOOL freerdp_channels_is_virtual_channel_entry_ex ( LPCSTR  pszName)
static
Here is the caller graph for this function:

◆ freerdp_channels_list_addins()

FREERDP_ADDIN** freerdp_channels_list_addins ( LPCSTR  pszName,
LPCSTR  pszSubsystem,
LPCSTR  pszType,
DWORD  dwFlags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_channels_list_client_static_addins()

static FREERDP_ADDIN** freerdp_channels_list_client_static_addins ( LPCSTR  pszName,
LPCSTR  pszSubsystem,
LPCSTR  pszType,
DWORD  dwFlags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_channels_list_dynamic_addins()

static FREERDP_ADDIN** freerdp_channels_list_dynamic_addins ( LPCSTR  pszName,
LPCSTR  pszSubsystem,
LPCSTR  pszType,
DWORD  dwFlags 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freerdp_channels_load_static_addin_entry()

PVIRTUALCHANNELENTRY freerdp_channels_load_static_addin_entry ( LPCSTR  pszName,
LPCSTR  pszSubsystem,
LPCSTR  pszType,
DWORD  dwFlags 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ CLIENT_STATIC_ADDIN_TABLE

const STATIC_ADDIN_TABLE CLIENT_STATIC_ADDIN_TABLE[]
extern

◆ CLIENT_STATIC_ENTRY_TABLES

const STATIC_ENTRY_TABLE CLIENT_STATIC_ENTRY_TABLES[]
extern

◆ CLIENT_VirtualChannelEntryEx_TABLE

const STATIC_ENTRY CLIENT_VirtualChannelEntryEx_TABLE[]
extern