int main(int argc, char* argv[]) { pthread_t thread; freerdp* instance; struct thread_data* data; rdpChanMan* chanman; freerdp_chanman_global_init(); g_sem = freerdp_sem_new(1); instance = freerdp_new(); instance->PreConnect = tf_pre_connect; instance->PostConnect = tf_post_connect; instance->ReceiveChannelData = tf_receive_channel_data; chanman = freerdp_chanman_new(); SET_CHANMAN(instance, chanman); freerdp_parse_args(instance->settings, argc, argv, tf_process_plugin_args, chanman, NULL, NULL); data = (struct thread_data*) xzalloc(sizeof(struct thread_data)); data->instance = instance; g_thread_count++; pthread_create(&thread, 0, thread_func, data); while (g_thread_count > 0) { freerdp_sem_wait(g_sem); } freerdp_chanman_global_uninit(); return 0; }
int clean_drdynvc_suite(void) { freerdp_chanman_global_uninit(); return 0; }
int clean_cliprdr_suite(void) { freerdp_chanman_global_uninit(); return 0; }
int clean_rail_suite(void) { freerdp_chanman_global_uninit(); return 0; }