diff options
author | sss <sss@dark-alexandr.net> | 2023-01-17 00:38:19 +0300 |
---|---|---|
committer | sss <sss@dark-alexandr.net> | 2023-01-17 00:38:19 +0300 |
commit | cc3f33db7a8d3c4ad373e646b199808e01bc5d9b (patch) | |
tree | ec09d690c7656ab5f2cc72607e05fb359c24d8b2 /src/rdp/rdp_channels.c |
added webrdp public code
Diffstat (limited to 'src/rdp/rdp_channels.c')
-rw-r--r-- | src/rdp/rdp_channels.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/rdp/rdp_channels.c b/src/rdp/rdp_channels.c new file mode 100644 index 0000000..a4d95eb --- /dev/null +++ b/src/rdp/rdp_channels.c @@ -0,0 +1,39 @@ +/* BSD-2-Clause license + * + * Copyright (c) 2018-2023 NST <www.newinfosec.ru>, sss <sss at dark-alexandr dot net>. + * + */ + +#include <string.h> +#include "rdp_channels.h" +#include "rdp_clipboard.h" +#include "rdp_rail.h" + +void +rdp_on_channel_connected(void *context, const ChannelConnectedEventArgs *e) +{ + if (strcmp(e->name, CLIPRDR_SVC_CHANNEL_NAME) == 0) + { + rdp_cliprdr_init( + context, (CliprdrClientContext *)e->pInterface); + } + else if (strcmp(e->name, RAIL_SVC_CHANNEL_NAME) == 0) + { + rdp_rail_init(context, (RailClientContext *)e->pInterface); + } +} + +void +rdp_on_channel_disconnected( + void *context, const ChannelDisconnectedEventArgs *e) +{ + if (strcmp(e->name, CLIPRDR_SVC_CHANNEL_NAME) == 0) + { + rdp_cliprdr_uninit( + context, (CliprdrClientContext *)e->pInterface); + } + else if (strcmp(e->name, RAIL_SVC_CHANNEL_NAME) == 0) + { + rdp_rail_uninit(context, (RailClientContext *)e->pInterface); + } +} |