diff --git a/cunit/test_chanman.c b/cunit/test_chanman.c index 3095a5272..8e7ee3565 100644 --- a/cunit/test_chanman.c +++ b/cunit/test_chanman.c @@ -62,7 +62,7 @@ void test_chanman(void) settings.hostname = "testhost"; instance.settings = &settings; - instance.ChannelDataInput = test_rdp_channel_data; + instance.SendChannelData = test_rdp_channel_data; chan_man = freerdp_chanman_new(); diff --git a/cunit/test_cliprdr.c b/cunit/test_cliprdr.c index d5a1bedbe..a8d0a0982 100644 --- a/cunit/test_cliprdr.c +++ b/cunit/test_cliprdr.c @@ -113,7 +113,7 @@ void test_cliprdr(void) settings.hostname = "testhost"; instance.settings = &settings; - instance.ChannelDataInput = test_rdp_channel_data; + instance.SendChannelData = test_rdp_channel_data; chan_man = freerdp_chanman_new(); diff --git a/cunit/test_drdynvc.c b/cunit/test_drdynvc.c index 6313b2117..3a1af3368 100644 --- a/cunit/test_drdynvc.c +++ b/cunit/test_drdynvc.c @@ -72,7 +72,7 @@ void test_drdynvc(void) settings.hostname = "testhost"; instance.settings = &settings; - instance.ChannelDataInput = test_rdp_channel_data; + instance.SendChannelData = test_rdp_channel_data; chan_man = freerdp_chanman_new(); diff --git a/include/freerdp/freerdp.h b/include/freerdp/freerdp.h index 08578f371..05a8ee19d 100644 --- a/include/freerdp/freerdp.h +++ b/include/freerdp/freerdp.h @@ -42,7 +42,8 @@ typedef boolean (*pcPreConnect)(freerdp* freerdp); typedef boolean (*pcPostConnect)(freerdp* freerdp); typedef boolean (*pcGetFileDescriptor)(freerdp* freerdp, void** rfds, int* rcount, void** wfds, int* wcount); typedef boolean (*pcCheckFileDescriptor)(freerdp* freerdp); -typedef int (*pcChannelDataInput)(freerdp* freerdp, int channelId, uint8* data, int size); +typedef int (*pcSendChannelData)(freerdp* freerdp, int channelId, uint8* data, int size); +typedef int (*pcReceiveChannelData)(freerdp* freerdp, int channelId, uint8* data, int size, int flags, int total_size); struct rdp_freerdp { @@ -61,7 +62,8 @@ struct rdp_freerdp pcPostConnect PostConnect; pcGetFileDescriptor GetFileDescriptor; pcCheckFileDescriptor CheckFileDescriptor; - pcChannelDataInput ChannelDataInput; + pcSendChannelData SendChannelData; + pcReceiveChannelData ReceiveChannelData; }; FREERDP_API freerdp* freerdp_new(); diff --git a/libfreerdp-chanman/libchanman.c b/libfreerdp-chanman/libchanman.c index 05a9dcfb0..3451ee183 100644 --- a/libfreerdp-chanman/libchanman.c +++ b/libfreerdp-chanman/libchanman.c @@ -820,7 +820,7 @@ static void freerdp_chanman_process_sync(rdpChanMan* chan_man, freerdp* instance lchan_data->name, &lindex); if (lrdp_chan != 0) { - instance->ChannelDataInput(instance, lrdp_chan->chan_id, ldata, ldata_len); + IFCALL(instance->SendChannelData, instance, lrdp_chan->chan_id, ldata, ldata_len); } if (lchan_data->open_event_proc != 0) {