20#ifndef FREERDP_LIB_CORE_GATEWAY_RDG_H
21#define FREERDP_LIB_CORE_GATEWAY_RDG_H
23#include <winpr/wtypes.h>
24#include <winpr/stream.h>
25#include <winpr/winpr.h>
28#include <openssl/ssl.h>
30typedef struct rdp_rdg rdpRdg;
32FREERDP_LOCAL
void rdg_free(rdpRdg* rdg);
34WINPR_ATTR_MALLOC(rdg_free, 1)
35FREERDP_LOCAL rdpRdg* rdg_new(rdpContext* context);
37FREERDP_LOCAL BIO* rdg_get_front_bio_and_take_ownership(rdpRdg* rdg);
39FREERDP_LOCAL BOOL rdg_connect(rdpRdg* rdg, DWORD timeout, BOOL* rpcFallback);
40FREERDP_LOCAL DWORD rdg_get_event_handles(rdpRdg* rdg, HANDLE* events, DWORD count);