FreeRDP
include/freerdp/client.h File Reference
#include <freerdp/api.h>
#include <freerdp/freerdp.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  RDP_CLIENT_ENTRY_POINTS_V1
 
struct  rdpClientContext
 

Macros

#define RDP_CLIENT_INTERFACE_VERSION   1
 
#define RDP_CLIENT_ENTRY_POINT_NAME   "RdpClientEntry"
 
#define DEFINE_RDP_CLIENT_COMMON()   HANDLE thread
 

Typedefs

typedef BOOL(* pRdpGlobalInit) (void)
 
typedef void(* pRdpGlobalUninit) (void)
 
typedef BOOL(* pRdpClientNew) (freerdp *instance, rdpContext *context)
 
typedef void(* pRdpClientFree) (freerdp *instance, rdpContext *context)
 
typedef int(* pRdpClientStart) (rdpContext *context)
 
typedef int(* pRdpClientStop) (rdpContext *context)
 
typedef int(* pRdpClientEntry) (RDP_CLIENT_ENTRY_POINTS *pEntryPoints)
 

Functions

FREERDP_API rdpContext * freerdp_client_context_new (RDP_CLIENT_ENTRY_POINTS *pEntryPoints)
 
FREERDP_API void freerdp_client_context_free (rdpContext *context)
 
FREERDP_API int freerdp_client_start (rdpContext *context)
 
FREERDP_API int freerdp_client_stop (rdpContext *context)
 
FREERDP_API freerdp * freerdp_client_get_instance (rdpContext *context)
 
FREERDP_API HANDLE freerdp_client_get_thread (rdpContext *context)
 
FREERDP_API int freerdp_client_settings_parse_command_line (rdpSettings *settings, int argc, char **argv, BOOL allowUnknown)
 
FREERDP_API int freerdp_client_settings_parse_connection_file (rdpSettings *settings, const char *filename)
 
FREERDP_API int freerdp_client_settings_parse_connection_file_buffer (rdpSettings *settings, const BYTE *buffer, size_t size)
 
FREERDP_API int freerdp_client_settings_write_connection_file (const rdpSettings *settings, const char *filename, BOOL unicode)
 
FREERDP_API int freerdp_client_settings_parse_assistance_file (rdpSettings *settings, int argc, char *argv[])
 
FREERDP_API BOOL client_cli_authenticate (freerdp *instance, char **username, char **password, char **domain)
 
FREERDP_API BOOL client_cli_gw_authenticate (freerdp *instance, char **username, char **password, char **domain)
 
FREERDP_API DWORD client_cli_verify_certificate (freerdp *instance, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, BOOL host_mismatch)
 
FREERDP_API DWORD client_cli_verify_certificate_ex (freerdp *instance, const char *host, UINT16 port, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, DWORD flags)
 
FREERDP_API DWORD client_cli_verify_changed_certificate (freerdp *instance, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, const char *old_subject, const char *old_issuer, const char *old_fingerprint)
 
FREERDP_API DWORD client_cli_verify_changed_certificate_ex (freerdp *instance, const char *host, UINT16 port, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, const char *old_subject, const char *old_issuer, const char *old_fingerprint, DWORD flags)
 
FREERDP_API BOOL client_auto_reconnect (freerdp *instance)
 
FREERDP_API BOOL client_auto_reconnect_ex (freerdp *instance, BOOL(*window_events)(freerdp *instance))
 

Macro Definition Documentation

#define DEFINE_RDP_CLIENT_COMMON ( )    HANDLE thread
#define RDP_CLIENT_ENTRY_POINT_NAME   "RdpClientEntry"
#define RDP_CLIENT_INTERFACE_VERSION   1

Typedef Documentation

typedef int(* pRdpClientEntry) (RDP_CLIENT_ENTRY_POINTS *pEntryPoints)
typedef void(* pRdpClientFree) (freerdp *instance, rdpContext *context)
typedef BOOL(* pRdpClientNew) (freerdp *instance, rdpContext *context)
typedef int(* pRdpClientStart) (rdpContext *context)
typedef int(* pRdpClientStop) (rdpContext *context)
typedef BOOL(* pRdpGlobalInit) (void)

FreeRDP: A Remote Desktop Protocol Implementation Client Interface

Copyright 2013 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..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. Client Entry Points

typedef void(* pRdpGlobalUninit) (void)

Function Documentation

FREERDP_API BOOL client_auto_reconnect ( freerdp *  instance)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API BOOL client_auto_reconnect_ex ( freerdp *  instance,
BOOL(*)(freerdp *instance window_events 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API BOOL client_cli_authenticate ( freerdp *  instance,
char **  username,
char **  password,
char **  domain 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API BOOL client_cli_gw_authenticate ( freerdp *  instance,
char **  username,
char **  password,
char **  domain 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API DWORD client_cli_verify_certificate ( freerdp *  instance,
const char *  common_name,
const char *  subject,
const char *  issuer,
const char *  fingerprint,
BOOL  host_mismatch 
)

Callback set in the rdp_freerdp structure, and used to make a certificate validation when the connection requires it. This function will actually be called by tls_verify_certificate().

See also
rdp_client_connect() and tls_connect()
Parameters
instance- pointer to the rdp_freerdp structure that contains the connection settings
common_name
subject
issuer
fingerprint
host_mismatchIndicates the certificate host does not match.
Returns
1 if the certificate is trusted, 2 if temporary trusted, 0 otherwise.

Here is the call graph for this function:

FREERDP_API DWORD client_cli_verify_certificate_ex ( freerdp *  instance,
const char *  host,
UINT16  port,
const char *  common_name,
const char *  subject,
const char *  issuer,
const char *  fingerprint,
DWORD  flags 
)

Callback set in the rdp_freerdp structure, and used to make a certificate validation when the connection requires it. This function will actually be called by tls_verify_certificate().

See also
rdp_client_connect() and tls_connect()
Parameters
instancepointer to the rdp_freerdp structure that contains the connection settings
hostThe host currently connecting to
portThe port currently connecting to
common_nameThe common name of the certificate, should match host or an alias of it
subjectThe subject of the certificate
issuerThe certificate issuer name
fingerprintThe fingerprint of the certificate
flagsSee VERIFY_CERT_FLAG_* for possible values.
Returns
1 if the certificate is trusted, 2 if temporary trusted, 0 otherwise.

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API DWORD client_cli_verify_changed_certificate ( freerdp *  instance,
const char *  common_name,
const char *  subject,
const char *  issuer,
const char *  fingerprint,
const char *  old_subject,
const char *  old_issuer,
const char *  old_fingerprint 
)

Callback set in the rdp_freerdp structure, and used to make a certificate validation when a stored certificate does not match the remote counterpart. This function will actually be called by tls_verify_certificate().

See also
rdp_client_connect() and tls_connect()
Parameters
instance- pointer to the rdp_freerdp structure that contains the connection settings
common_name
subject
issuer
fingerprint
old_subject
old_issuer
old_fingerprint
Returns
1 if the certificate is trusted, 2 if temporary trusted, 0 otherwise.

Here is the call graph for this function:

FREERDP_API DWORD client_cli_verify_changed_certificate_ex ( freerdp *  instance,
const char *  host,
UINT16  port,
const char *  common_name,
const char *  subject,
const char *  issuer,
const char *  fingerprint,
const char *  old_subject,
const char *  old_issuer,
const char *  old_fingerprint,
DWORD  flags 
)

Callback set in the rdp_freerdp structure, and used to make a certificate validation when a stored certificate does not match the remote counterpart. This function will actually be called by tls_verify_certificate().

See also
rdp_client_connect() and tls_connect()
Parameters
instancepointer to the rdp_freerdp structure that contains the connection settings
hostThe host currently connecting to
portThe port currently connecting to
common_nameThe common name of the certificate, should match host or an alias of it
subjectThe subject of the certificate
issuerThe certificate issuer name
fingerprintThe fingerprint of the certificate
old_subjectThe subject of the previous certificate
old_issuerThe previous certificate issuer name
old_fingerprintThe fingerprint of the previous certificate
flagsSee VERIFY_CERT_FLAG_* for possible values.
Returns
1 if the certificate is trusted, 2 if temporary trusted, 0 otherwise.

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API void freerdp_client_context_free ( rdpContext *  context)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API rdpContext* freerdp_client_context_new ( RDP_CLIENT_ENTRY_POINTS pEntryPoints)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API freerdp* freerdp_client_get_instance ( rdpContext *  context)
FREERDP_API HANDLE freerdp_client_get_thread ( rdpContext *  context)

Here is the caller graph for this function:

FREERDP_API int freerdp_client_settings_parse_assistance_file ( rdpSettings *  settings,
int  argc,
char *  argv[] 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int freerdp_client_settings_parse_command_line ( rdpSettings *  settings,
int  argc,
char **  argv,
BOOL  allowUnknown 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int freerdp_client_settings_parse_connection_file ( rdpSettings *  settings,
const char *  filename 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int freerdp_client_settings_parse_connection_file_buffer ( rdpSettings *  settings,
const BYTE buffer,
size_t  size 
)

Here is the call graph for this function:

FREERDP_API int freerdp_client_settings_write_connection_file ( const rdpSettings *  settings,
const char *  filename,
BOOL  unicode 
)

Here is the call graph for this function:

FREERDP_API int freerdp_client_start ( rdpContext *  context)

Here is the caller graph for this function:

FREERDP_API int freerdp_client_stop ( rdpContext *  context)

Here is the caller graph for this function: