22#ifndef FREERDP_CHANNEL_ECHO_SERVER_H 
   23#define FREERDP_CHANNEL_ECHO_SERVER_H 
   25#include <freerdp/channels/wtsvc.h> 
   32  typedef enum ECHO_SERVER_OPEN_RESULT
 
   34    ECHO_SERVER_OPEN_RESULT_OK = 0,
 
   35    ECHO_SERVER_OPEN_RESULT_CLOSED = 1,
 
   36    ECHO_SERVER_OPEN_RESULT_NOTSUPPORTED = 2,
 
   37    ECHO_SERVER_OPEN_RESULT_ERROR = 3
 
   38  } ECHO_SERVER_OPEN_RESULT;
 
   42  typedef BOOL (*psEchoServerChannelIdAssigned)(echo_server_context* context, UINT32 channelId);
 
   44  typedef UINT (*psEchoServerOpen)(echo_server_context* context);
 
   45  typedef UINT (*psEchoServerClose)(echo_server_context* context);
 
   46  typedef BOOL (*psEchoServerRequest)(echo_server_context* context, 
const BYTE* buffer,
 
   49  typedef UINT (*psEchoServerOpenResult)(echo_server_context* context,
 
   50                                         ECHO_SERVER_OPEN_RESULT result);
 
   51  typedef UINT (*psEchoServerResponse)(echo_server_context* context, 
const BYTE* buffer,
 
   85    rdpContext* rdpcontext;
 
 
   93  FREERDP_API 
void echo_server_context_free(echo_server_context* context);
 
   95  WINPR_ATTR_MALLOC(echo_server_context_free, 1)
 
   96  FREERDP_API echo_server_context* echo_server_context_new(HANDLE vcm);
 
psEchoServerOpenResult OpenResult
 
psEchoServerChannelIdAssigned ChannelIdAssigned
 
psEchoServerResponse Response
 
psEchoServerRequest Request