Dear all, Follow-up the previous E-mail, I have fixed the issue due to the compatibility between C++ and C, as shown in the following link. http://www.oracle.com/technetwork/articles/servers-storage-dev/mixingcandcpluspluscode-305840.html Thanks. Best regards, Yang Hong Ottawa, Ontario Canada https://www.researchgate.net/post/What_are_the_latest_problems_to_be_solved_in_control_of_nonlinear_systems2
> From: yang_h...@hotmail.com > To: freerdp-devel@lists.sourceforge.net > Date: Fri, 17 Jan 2014 19:09:41 -0500 > Subject: [Freerdp-devel] How xfreerdp.c load disk.so > > Dear Marc-Andre and all, > > It seems that Cloudbase solutions did not move forward their work on > FreeRDP-WebConnect. > https://github.com/FreeRDP/FreeRDP-WebConnect/issues/27 > > Marc-Andre is the author of client/X11/xfreerdp.c > > With reference to client/X11/xfreerdp.c, I am integrating the rdpdr plugin > for FreeRDP-WebConnect. > > I use xfreerdp -u username -p password --plugin rdpdr --data > disk:share:/home/abc -- 192.168.1.100 > > I get the trace of xfreerdp login > for the following 3 command lines of xfreerdp.c (int main(int argc, char* > argv[])) > > (1) instance->PreConnect = xf_pre_connect; > > (2) instance->PostConnect = xf_post_connect; > > (3) instance->ReceiveChannelData = xf_receive_channel_data; > **************************************************************** > (1) execute instance->PreConnect = xf_pre_connect; > > freerdp_parse_args: plugin_data= > disk > share > /home/abc > check plugin_data of freerdp_load_plugin name=rdpdr > enter freerdp_load_plugin before suffixed_name: name=rdpdr > entry_name=VirtualChannelEntry > enter freerdp_append_shared_library_suffix: file_path is NOT NULL=rdpdr > file path is equal: path=rdpdr.so > no explicit path given: path=/usr/lib/freerdp/rdpdr.so suffixed_name=rdpdr.so > freerdp_load_library_symbol: path=/usr/lib/freerdp/rdpdr.so > entry_name=VirtualChannelEntry > freerdp_load_plugin name=rdpdr successfully > freerdp_channels_pre_connect channel: rdpdr > > (2) execute instance->PreConnect = xf_pre_connect; > > freerdp_channels_post_connect channel: rdpdr > hostname [192.168.1.100] channels->num_libs [1] > > (3) My question is here ????????? I can NOT find where to call > freerdp_load_plugin > > enter freerdp_load_plugin before suffixed_name: name=disk > entry_name=DeviceServiceEntry > enter freerdp_append_shared_library_suffix: file_path is NOT NULL=disk > file path is equal: path=disk.so > no explicit path given: path=/usr/lib/freerdp/disk.so suffixed_name=disk.so > freerdp_load_library_symbol: path=/usr/lib/freerdp/disk.so > entry_name=DeviceServiceEntry > > (4) execute instance->ReceiveChannelData = xf_receive_channel_data; > Receive channel data: rdpdr, channel_id is 1005 > **************************************************************** > > My question is: > > Which command or function produces the trace of step 3? > > The trace of Step 3 is supposed to appear inside step 1 [calling boolean > xf_pre_connect(freerdp* instance) ] > Inside boolean xf_pre_connect(freerdp* instance), we have > arg_parse_result = freerdp_parse_args(instance->settings, > instance->context->argc,instance->context->argv, > xf_process_plugin_args, instance->context->channels, xf_process_client_args, > xfi); > > This means that after xfreerdp loads rdpdr.so, then xfreerdp should load > disk.so immediately. > > However, after xfreerdp loads rdpdr.so, xfreerdp move forward to boolean > xf_post_connect(freerdp* instance), > then suddely call void* freerdp_load_plugin(const char* name, const char* > entry_name) to load disk.so > > Would you please tell me where xfreerdp call call void* > freerdp_load_plugin(const char* name, const char* entry_name) to load > disk.so? > > Thank you very much for your great help in advance. > > Best regards, > > Yang Hong > Ottawa, Ontario > Canada > http://www.researchgate.net/post/What_are_trends_in_control_theory_and_its_applications_in_physical_systems_from_a_research_point_of_view2 > ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ Freerdp-devel mailing list Freerdp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freerdp-devel