FreeRDP
shadow_server.c File Reference
#include <errno.h>
#include <winpr/crt.h>
#include <winpr/ssl.h>
#include <winpr/wnd.h>
#include <winpr/path.h>
#include <winpr/cmdline.h>
#include <winpr/winsock.h>
#include <freerdp/log.h>
#include <freerdp/version.h>
#include <winpr/tools/makecert.h>
#include <sys/select.h>
#include <signal.h>
#include "shadow.h"

Macros

#define TAG   SERVER_TAG("shadow")
 

Functions

static int shadow_server_print_command_line_help (int argc, char **argv)
 
int shadow_server_command_line_status_print (rdpShadowServer *server, int argc, char **argv, int status)
 
int shadow_server_parse_command_line (rdpShadowServer *server, int argc, char **argv)
 
static DWORD WINAPI shadow_server_thread (LPVOID arg)
 
int shadow_server_start (rdpShadowServer *server)
 
int shadow_server_stop (rdpShadowServer *server)
 
static int shadow_server_init_config_path (rdpShadowServer *server)
 
static BOOL shadow_server_init_certificate (rdpShadowServer *server)
 
int shadow_server_init (rdpShadowServer *server)
 
int shadow_server_uninit (rdpShadowServer *server)
 
rdpShadowServer * shadow_server_new (void)
 
void shadow_server_free (rdpShadowServer *server)
 

Variables

static COMMAND_LINE_ARGUMENT_A shadow_args []
 

Macro Definition Documentation

#define TAG   SERVER_TAG("shadow")

FreeRDP: A Remote Desktop Protocol Implementation

Copyright 2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2017 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2017 Thincast Technologies GmbH

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

int shadow_server_command_line_status_print ( rdpShadowServer *  server,
int  argc,
char **  argv,
int  status 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void shadow_server_free ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

int shadow_server_init ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL shadow_server_init_certificate ( rdpShadowServer *  server)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static int shadow_server_init_config_path ( rdpShadowServer *  server)
static

Here is the call graph for this function:

Here is the caller graph for this function:

rdpShadowServer* shadow_server_new ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

int shadow_server_parse_command_line ( rdpShadowServer *  server,
int  argc,
char **  argv 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static int shadow_server_print_command_line_help ( int  argc,
char **  argv 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

int shadow_server_start ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

int shadow_server_stop ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

static DWORD WINAPI shadow_server_thread ( LPVOID  arg)
static

Here is the call graph for this function:

Here is the caller graph for this function:

int shadow_server_uninit ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

COMMAND_LINE_ARGUMENT_A shadow_args[]
static
Initial value:
=
{
{ "port", COMMAND_LINE_VALUE_REQUIRED, "<number>", NULL, NULL, -1, NULL, "Server port" },
{ "ipc-socket", COMMAND_LINE_VALUE_REQUIRED, "<ipc-socket>", NULL, NULL, -1, NULL, "Server IPC socket" },
{ "monitors", COMMAND_LINE_VALUE_OPTIONAL, "<0,1,2...>", NULL, NULL, -1, NULL, "Select or list monitors" },
{ "rect", COMMAND_LINE_VALUE_REQUIRED, "<x,y,w,h>", NULL, NULL, -1, NULL, "Select rectangle within monitor to share" },
{ "auth", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueFalse, NULL, -1, NULL, "Clients must authenticate" },
{ "may-view", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, "Clients may view without prompt" },
{ "may-interact", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, "Clients may interact without prompt" },
{ "sec", COMMAND_LINE_VALUE_REQUIRED, "<rdp|tls|nla|ext>", NULL, NULL, -1, NULL, "force specific protocol security" },
{ "sec-rdp", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, "rdp protocol security" },
{ "sec-tls", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, "tls protocol security" },
{ "sec-nla", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, "nla protocol security" },
{ "sec-ext", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueFalse, NULL, -1, NULL, "nla extended protocol security" },
{ "sam-file", COMMAND_LINE_VALUE_REQUIRED, "<file>", NULL, NULL, -1, NULL, "NTLM SAM file for NLA authentication" },
{ "version", COMMAND_LINE_VALUE_FLAG | COMMAND_LINE_PRINT_VERSION, NULL, NULL, NULL, -1, NULL, "Print version" },
{ "help", COMMAND_LINE_VALUE_FLAG | COMMAND_LINE_PRINT_HELP, NULL, NULL, NULL, -1, "?", "Print help" },
{ NULL, 0, NULL, NULL, NULL, -1, NULL, NULL }
}
#define COMMAND_LINE_PRINT_VERSION
Definition: winpr/include/winpr/cmdline.h:41
#define COMMAND_LINE_VALUE_OPTIONAL
Definition: winpr/include/winpr/cmdline.h:35
#define COMMAND_LINE_VALUE_REQUIRED
Definition: winpr/include/winpr/cmdline.h:34
#define COMMAND_LINE_PRINT_HELP
Definition: winpr/include/winpr/cmdline.h:40
if availableBytes return NULL
Definition: TPCircularBuffer.h:104
#define BoolValueFalse
Definition: winpr/include/winpr/cmdline.h:92
#define BoolValueTrue
Definition: winpr/include/winpr/cmdline.h:91
#define COMMAND_LINE_VALUE_BOOL
Definition: winpr/include/winpr/cmdline.h:36
#define COMMAND_LINE_VALUE_FLAG
Definition: winpr/include/winpr/cmdline.h:33