int main(int argc, char* argv[]) { freerdp_listener* instance; /* ignore SIGPIPE, otherwise an SSL_write failure could crash the server */ signal(SIGPIPE, SIG_IGN); instance = freerdp_listener_new(); instance->PeerAccepted = xf_peer_accepted; if (argc > 1) xf_pcap_file = argv[1]; if (argc > 2 && !strcmp(argv[2], "--fast")) xf_pcap_dump_realtime = false; /* Open the server socket and start listening. */ if (instance->Open(instance, NULL, 3389)) { /* Entering the server main loop. In a real server the listener can be run in its own thread. */ xf_server_main_loop(instance); } freerdp_listener_free(instance); return 0; }
int main(int argc, char* argv[]) { freerdp_listener* instance; WTSRegisterWtsApiFunctionTable(FreeRDP_InitWtsApi()); instance = freerdp_listener_new(); instance->PeerAccepted = test_peer_accepted; if (argc > 1) test_pcap_file = argv[1]; if (argc > 2 && !strcmp(argv[2], "--fast")) test_dump_rfx_realtime = FALSE; /* Open the server socket and start listening. */ freerdp_wsa_startup(); if (instance->Open(instance, NULL, 3389) && instance->OpenLocal(instance, "/tmp/tfreerdp-server.0")) { /* Entering the server main loop. In a real server the listener can be run in its own thread. */ test_server_mainloop(instance); } freerdp_wsa_cleanup(); freerdp_listener_free(instance); return 0; }
xrdpListener* freerds_listener_create(void) { freerdp_listener* listener; listener = freerdp_listener_new(); listener->PeerAccepted = freerds_peer_accepted; return (xrdpListener*) listener; }
int main(int argc, char* argv[]) { HKEY hKey; LONG status; DWORD dwType; DWORD dwSize; DWORD dwValue; int port = 3389; WSADATA wsa_data; freerdp_listener* instance; instance = freerdp_listener_new(); instance->PeerAccepted = wf_peer_accepted; if (WSAStartup(0x101, &wsa_data) != 0) return 1; g_done_event = CreateEvent(0, 1, 0, 0); status = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\FreeRDP\\Server"), 0, KEY_READ | KEY_WOW64_64KEY, &hKey); if (status == ERROR_SUCCESS) { if (RegQueryValueEx(hKey, _T("DefaultPort"), NULL, &dwType, (BYTE*) &dwValue, &dwSize) == ERROR_SUCCESS) port = dwValue; } RegCloseKey(hKey); if (argc == 2) port = atoi(argv[1]); /* Open the server socket and start listening. */ if (instance->Open(instance, NULL, port)) { /* Entering the server main loop. In a real server the listener can be run in its own thread. */ wf_server_main_loop(instance); } if (g_thread_count > 0) WaitForSingleObject(g_done_event, INFINITE); else MessageBox(GetConsoleWindow(), L"Failed to start wfreerdp-server.\n\nPlease check the debug output.", L"FreeRDP Error", MB_ICONSTOP); WSACleanup(); freerdp_listener_free(instance); return 0; }
xfServer* freerdp_server_new(int argc, char** argv) { xfServer* server; server = (xfServer*) malloc(sizeof(xfServer)); if (server) { server->listener = freerdp_listener_new(); server->listener->PeerAccepted = xf_peer_accepted; } return server; }
BOOL wfreerdp_server_start(wfServer* server) { freerdp_listener* instance; server->instance = freerdp_listener_new(); server->instance->PeerAccepted = wf_peer_accepted; instance = server->instance; wf_settings_read_dword(HKEY_LOCAL_MACHINE, _T("Software\\FreeRDP\\Server"), _T("DefaultPort"), &server->port); if (instance->Open(instance, NULL, (UINT16) server->port)) { server->thread = CreateThread(NULL, 0, wf_server_main_loop, (void*) instance, 0, NULL); return TRUE; } return FALSE; }
int main(int argc, char* argv[]) { freerdp_listener* instance; signal(SIGPIPE, SIG_IGN); instance = freerdp_listener_new(); instance->PeerAccepted = mf_peer_accepted; if (instance->Open(instance, NULL, 3389)) { mf_server_main_loop(instance); } freerdp_listener_free(instance); return 0; }
int main(int argc, char* argv[]) { WSADATA wsaData; freerdp_listener* instance; char* file; char name[MAX_PATH]; long port = 3389, i; BOOL localOnly = FALSE; errno = 0; for (i = 1; i < argc; i++) { char* arg = argv[i]; if (strncmp(arg, "--fast", 7) == 0) test_dump_rfx_realtime = FALSE; else if (strncmp(arg, "--port=", 7) == 0) { StrSep(&arg, "="); if (!arg) return -1; port = strtol(arg, NULL, 10); if ((port < 1) || (port > 0xFFFF) || (errno != 0)) return -1; } else if (strcmp(arg, "--local-only")) localOnly = TRUE; else if (strncmp(arg, "--", 2)) test_pcap_file = arg; } WTSRegisterWtsApiFunctionTable(FreeRDP_InitWtsApi()); winpr_InitializeSSL(WINPR_SSL_INIT_DEFAULT); instance = freerdp_listener_new(); if (!instance) return -1; instance->PeerAccepted = test_peer_accepted; if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { freerdp_listener_free(instance); return -1; } /* Open the server socket and start listening. */ sprintf_s(name, sizeof(name), "tfreerdp-server.%ld", port); file = GetKnownSubPath(KNOWN_PATH_TEMP, name); if (!file) { freerdp_listener_free(instance); WSACleanup(); return -1; } if ((localOnly || instance->Open(instance, NULL, port)) && instance->OpenLocal(instance, file)) { /* Entering the server main loop. In a real server the listener can be run in its own thread. */ test_server_mainloop(instance); } free(file); freerdp_listener_free(instance); WSACleanup(); return 0; }