FreeRDP
include/freerdp/server/shadow.h File Reference
This graph shows which files directly or indirectly include this file:

Data Structures

struct  rdpShadowClient
 
struct  rdpShadowServer
 
struct  rdpShadowSurface
 
struct  RDP_SHADOW_ENTRY_POINTS
 
struct  rdpShadowSubsystem
 
struct  SHADOW_MSG_OUT
 
struct  SHADOW_MSG_OUT_POINTER_POSITION_UPDATE
 
struct  SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE
 
struct  SHADOW_MSG_OUT_AUDIO_OUT_SAMPLES
 
struct  SHADOW_MSG_OUT_AUDIO_OUT_VOLUME
 

Macros

#define SHADOW_MSG_IN_REFRESH_REQUEST_ID   1001
 
#define SHADOW_MSG_OUT_POINTER_POSITION_UPDATE_ID   2001
 
#define SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE_ID   2002
 
#define SHADOW_MSG_OUT_AUDIO_OUT_SAMPLES_ID   2003
 
#define SHADOW_MSG_OUT_AUDIO_OUT_VOLUME_ID   2004
 

Typedefs

typedef int(* pfnShadowSubsystemEntry) (RDP_SHADOW_ENTRY_POINTS *pEntryPoints)
 
typedef rdpShadowSubsystem *(* pfnShadowSubsystemNew) (void)
 
typedef void(* pfnShadowSubsystemFree) (rdpShadowSubsystem *subsystem)
 
typedef int(* pfnShadowSubsystemInit) (rdpShadowSubsystem *subsystem)
 
typedef int(* pfnShadowSubsystemUninit) (rdpShadowSubsystem *subsystem)
 
typedef int(* pfnShadowSubsystemStart) (rdpShadowSubsystem *subsystem)
 
typedef int(* pfnShadowSubsystemStop) (rdpShadowSubsystem *subsystem)
 
typedef UINT32(* pfnShadowEnumMonitors) (MONITOR_DEF *monitors, UINT32 maxMonitors)
 
typedef int(* pfnShadowAuthenticate) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, const char *user, const char *domain, const char *password)
 
typedef BOOL(* pfnShadowClientConnect) (rdpShadowSubsystem *subsystem, rdpShadowClient *client)
 
typedef void(* pfnShadowClientDisconnect) (rdpShadowSubsystem *subsystem, rdpShadowClient *client)
 
typedef BOOL(* pfnShadowClientCapabilities) (rdpShadowSubsystem *subsystem, rdpShadowClient *client)
 
typedef BOOL(* pfnShadowSynchronizeEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT32 flags)
 
typedef BOOL(* pfnShadowKeyboardEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 code)
 
typedef BOOL(* pfnShadowUnicodeKeyboardEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 code)
 
typedef BOOL(* pfnShadowMouseEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 x, UINT16 y)
 
typedef BOOL(* pfnShadowExtendedMouseEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 x, UINT16 y)
 
typedef BOOL(* pfnShadowChannelAudinServerReceiveSamples) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, const AUDIO_FORMAT *format, wStream *buf, size_t nframes)
 
typedef void(* MSG_OUT_FREE_FN) (UINT32 id, SHADOW_MSG_OUT *msg)
 

Functions

FREERDP_API void shadow_subsystem_set_entry_builtin (const char *name)
 
FREERDP_API void shadow_subsystem_set_entry (pfnShadowSubsystemEntry pEntry)
 
FREERDP_API int shadow_subsystem_pointer_convert_alpha_pointer_data (BYTE *pixels, BOOL premultiplied, UINT32 width, UINT32 height, SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE *pointerColor)
 
FREERDP_API int shadow_server_parse_command_line (rdpShadowServer *server, int argc, char **argv)
 
FREERDP_API int shadow_server_command_line_status_print (rdpShadowServer *server, int argc, char **argv, int status)
 
FREERDP_API int shadow_server_start (rdpShadowServer *server)
 
FREERDP_API int shadow_server_stop (rdpShadowServer *server)
 
FREERDP_API int shadow_server_init (rdpShadowServer *server)
 
FREERDP_API int shadow_server_uninit (rdpShadowServer *server)
 
FREERDP_API UINT32 shadow_enum_monitors (MONITOR_DEF *monitors, UINT32 maxMonitors)
 
FREERDP_API rdpShadowServer * shadow_server_new (void)
 
FREERDP_API void shadow_server_free (rdpShadowServer *server)
 
FREERDP_API int shadow_capture_align_clip_rect (RECTANGLE_16 *rect, RECTANGLE_16 *clip)
 
FREERDP_API int shadow_capture_compare (BYTE *pData1, UINT32 nStep1, UINT32 nWidth, UINT32 nHeight, BYTE *pData2, UINT32 nStep2, RECTANGLE_16 *rect)
 
FREERDP_API void shadow_subsystem_frame_update (rdpShadowSubsystem *subsystem)
 
FREERDP_API BOOL shadow_client_post_msg (rdpShadowClient *client, void *context, UINT32 type, SHADOW_MSG_OUT *msg, void *lParam)
 
FREERDP_API int shadow_client_boardcast_msg (rdpShadowServer *server, void *context, UINT32 type, SHADOW_MSG_OUT *msg, void *lParam)
 
FREERDP_API int shadow_client_boardcast_quit (rdpShadowServer *server, int nExitCode)
 
FREERDP_API int shadow_encoder_preferred_fps (rdpShadowEncoder *encoder)
 
FREERDP_API UINT32 shadow_encoder_inflight_frames (rdpShadowEncoder *encoder)
 
FREERDP_API BOOL shadow_screen_resize (rdpShadowScreen *screen)
 

Macro Definition Documentation

#define SHADOW_MSG_IN_REFRESH_REQUEST_ID   1001
#define SHADOW_MSG_OUT_AUDIO_OUT_SAMPLES_ID   2003
#define SHADOW_MSG_OUT_AUDIO_OUT_VOLUME_ID   2004
#define SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE_ID   2002
#define SHADOW_MSG_OUT_POINTER_POSITION_UPDATE_ID   2001

Typedef Documentation

typedef void(* MSG_OUT_FREE_FN) (UINT32 id, SHADOW_MSG_OUT *msg)
typedef int(* pfnShadowAuthenticate) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, const char *user, const char *domain, const char *password)
typedef BOOL(* pfnShadowChannelAudinServerReceiveSamples) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, const AUDIO_FORMAT *format, wStream *buf, size_t nframes)
typedef BOOL(* pfnShadowClientCapabilities) (rdpShadowSubsystem *subsystem, rdpShadowClient *client)
typedef BOOL(* pfnShadowClientConnect) (rdpShadowSubsystem *subsystem, rdpShadowClient *client)
typedef void(* pfnShadowClientDisconnect) (rdpShadowSubsystem *subsystem, rdpShadowClient *client)
typedef UINT32(* pfnShadowEnumMonitors) (MONITOR_DEF *monitors, UINT32 maxMonitors)
typedef BOOL(* pfnShadowExtendedMouseEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 x, UINT16 y)
typedef BOOL(* pfnShadowKeyboardEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 code)
typedef BOOL(* pfnShadowMouseEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 x, UINT16 y)
typedef int(* pfnShadowSubsystemEntry) (RDP_SHADOW_ENTRY_POINTS *pEntryPoints)
typedef void(* pfnShadowSubsystemFree) (rdpShadowSubsystem *subsystem)
typedef int(* pfnShadowSubsystemInit) (rdpShadowSubsystem *subsystem)
typedef rdpShadowSubsystem*(* pfnShadowSubsystemNew) (void)
typedef int(* pfnShadowSubsystemStart) (rdpShadowSubsystem *subsystem)
typedef int(* pfnShadowSubsystemStop) (rdpShadowSubsystem *subsystem)
typedef int(* pfnShadowSubsystemUninit) (rdpShadowSubsystem *subsystem)
typedef BOOL(* pfnShadowSynchronizeEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT32 flags)
typedef BOOL(* pfnShadowUnicodeKeyboardEvent) (rdpShadowSubsystem *subsystem, rdpShadowClient *client, UINT16 flags, UINT16 code)

Function Documentation

FREERDP_API int shadow_capture_align_clip_rect ( RECTANGLE_16 *  rect,
RECTANGLE_16 *  clip 
)

Here is the caller graph for this function:

FREERDP_API int shadow_capture_compare ( BYTE pData1,
UINT32  nStep1,
UINT32  nWidth,
UINT32  nHeight,
BYTE pData2,
UINT32  nStep2,
RECTANGLE_16 *  rect 
)

Here is the caller graph for this function:

FREERDP_API int shadow_client_boardcast_msg ( rdpShadowServer *  server,
void context,
UINT32  type,
SHADOW_MSG_OUT *  msg,
void lParam 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int shadow_client_boardcast_quit ( rdpShadowServer *  server,
int  nExitCode 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API BOOL shadow_client_post_msg ( rdpShadowClient *  client,
void context,
UINT32  type,
SHADOW_MSG_OUT *  msg,
void lParam 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API UINT32 shadow_encoder_inflight_frames ( rdpShadowEncoder *  encoder)

Here is the caller graph for this function:

FREERDP_API int shadow_encoder_preferred_fps ( rdpShadowEncoder *  encoder)

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

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.

Here is the caller graph for this function:

FREERDP_API UINT32 shadow_enum_monitors ( MONITOR_DEF *  monitors,
UINT32  maxMonitors 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API BOOL shadow_screen_resize ( rdpShadowScreen *  screen)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API 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:

FREERDP_API void shadow_server_free ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int shadow_server_init ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API rdpShadowServer* shadow_server_new ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API 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:

FREERDP_API int shadow_server_start ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int shadow_server_stop ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int shadow_server_uninit ( rdpShadowServer *  server)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API void shadow_subsystem_frame_update ( rdpShadowSubsystem *  subsystem)

Here is the call graph for this function:

Here is the caller graph for this function:

FREERDP_API int shadow_subsystem_pointer_convert_alpha_pointer_data ( BYTE pixels,
BOOL  premultiplied,
UINT32  width,
UINT32  height,
SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE *  pointerColor 
)

Common function for subsystem implementation. This function convert 32bit ARGB format pixels to xormask data and andmask data and fill into SHADOW_MSG_OUT_POINTER_ALPHA_UPDATE Caller should free the andMaskData and xorMaskData later.

Here is the caller graph for this function:

FREERDP_API void shadow_subsystem_set_entry ( pfnShadowSubsystemEntry  pEntry)

Here is the caller graph for this function:

FREERDP_API void shadow_subsystem_set_entry_builtin ( const char *  name)

Here is the call graph for this function:

Here is the caller graph for this function: