20#ifndef FREERDP_LIB_CORE_AUTODETECT_H
21#define FREERDP_LIB_CORE_AUTODETECT_H
25#include <freerdp/freerdp.h>
26#include <freerdp/autodetect.h>
27#include <freerdp/log.h>
28#include <freerdp/api.h>
30#include <winpr/stream.h>
31#include <winpr/sysinfo.h>
35FREERDP_LOCAL
void autodetect_free(rdpAutoDetect* autodetect);
37WINPR_ATTR_MALLOC(autodetect_free, 1)
38FREERDP_LOCAL rdpAutoDetect* autodetect_new(rdpContext* context);
40FREERDP_LOCAL state_run_t autodetect_recv_request_packet(rdpAutoDetect* autodetect,
41 RDP_TRANSPORT_TYPE transport,
wStream* s);
42FREERDP_LOCAL state_run_t autodetect_recv_response_packet(rdpAutoDetect* autodetect,
43 RDP_TRANSPORT_TYPE transport,
wStream* s);
45FREERDP_LOCAL FREERDP_AUTODETECT_STATE autodetect_get_state(rdpAutoDetect* autodetect);
47FREERDP_LOCAL
void autodetect_register_server_callbacks(rdpAutoDetect* autodetect);
48FREERDP_LOCAL
void autodetect_on_connect_time_auto_detect_begin(rdpAutoDetect* autodetect);
49FREERDP_LOCAL
void autodetect_on_connect_time_auto_detect_progress(rdpAutoDetect* autodetect);
51#define AUTODETECT_TAG FREERDP_TAG("core.autodetect")