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,
65 WINPR_ATTR_NODISCARD psEchoServerOpen
Open;
69 WINPR_ATTR_NODISCARD psEchoServerClose
Close;
73 WINPR_ATTR_NODISCARD psEchoServerRequest
Request;
83 WINPR_ATTR_NODISCARD psEchoServerResponse
Response;
85 rdpContext* rdpcontext;
93 FREERDP_API
void echo_server_context_free(echo_server_context* context);
95 WINPR_ATTR_MALLOC(echo_server_context_free, 1)
97 FREERDP_API echo_server_context* echo_server_context_new(HANDLE vcm);
WINPR_ATTR_NODISCARD psEchoServerClose Close
psEchoServerChannelIdAssigned ChannelIdAssigned
WINPR_ATTR_NODISCARD psEchoServerOpenResult OpenResult
WINPR_ATTR_NODISCARD psEchoServerResponse Response
WINPR_ATTR_NODISCARD psEchoServerRequest Request
WINPR_ATTR_NODISCARD psEchoServerOpen Open