20#ifndef FREERDP_LIB_CORE_GATEWAY_WEBSOCKET_TRANSPORT_H
21#define FREERDP_LIB_CORE_GATEWAY_WEBSOCKET_TRANSPORT_H
23#include <winpr/wtypes.h>
24#include <winpr/stream.h>
25#include <winpr/winpr.h>
27#include <freerdp/api.h>
28#include <freerdp/types.h>
31#include <openssl/ssl.h>
33typedef struct rdp_wst rdpWst;
35FREERDP_LOCAL
void wst_free(rdpWst* wst);
37WINPR_ATTR_MALLOC(wst_free, 1)
39FREERDP_LOCAL rdpWst* wst_new(rdpContext* context);
42FREERDP_LOCAL BIO* wst_get_front_bio_and_take_ownership(rdpWst* wst);
45FREERDP_LOCAL BOOL wst_connect(rdpWst* wst, DWORD timeout);
48FREERDP_LOCAL DWORD wst_get_event_handles(rdpWst* wst, HANDLE* events, DWORD count);