FreeRDP
Loading...
Searching...
No Matches
include/freerdp/listener.h
1
20#ifndef FREERDP_LISTENER_H
21#define FREERDP_LISTENER_H
22
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25#include <freerdp/settings.h>
26#include <freerdp/peer.h>
27
28#ifdef __cplusplus
29extern "C"
30{
31#endif
32
33 typedef struct rdp_freerdp_listener freerdp_listener;
34
35 typedef BOOL (*psListenerOpen)(freerdp_listener* instance, const char* bind_address,
36 UINT16 port);
37 typedef BOOL (*psListenerOpenLocal)(freerdp_listener* instance, const char* path);
38 typedef BOOL (*psListenerOpenFromSocket)(freerdp_listener* instance, int fd);
39#if defined(WITH_FREERDP_DEPRECATED)
40 WINPR_DEPRECATED_VAR("Use psListenerGetEventHandles instead",
41 typedef BOOL (*psListenerGetFileDescriptor)(freerdp_listener* instance,
42 void** rfds, int* rcount);)
43#endif
44 typedef DWORD (*psListenerGetEventHandles)(freerdp_listener* instance, HANDLE* events,
45 DWORD nCount);
46 typedef BOOL (*psListenerCheckFileDescriptor)(freerdp_listener* instance);
47 typedef void (*psListenerClose)(freerdp_listener* instance);
48 typedef BOOL (*psPeerAccepted)(freerdp_listener* instance, freerdp_peer* client);
49
51 {
52 void* info;
53 void* listener;
54 void* param1;
55 void* param2;
56 void* param3;
57 void* param4;
58
59 psListenerOpen Open;
60 psListenerOpenLocal OpenLocal;
61#if defined(WITH_FREERDP_DEPRECATED)
62 WINPR_DEPRECATED_VAR("Use rdp_freerdp_listener::GetEventHandles instead",
63 psListenerGetFileDescriptor GetFileDescriptor;)
64#else
65 void* reserved;
66#endif
67 psListenerGetEventHandles GetEventHandles;
68 psListenerCheckFileDescriptor CheckFileDescriptor;
69 psListenerClose Close;
70
71 psPeerAccepted PeerAccepted;
72 psListenerOpenFromSocket OpenFromSocket;
73
74 psListenerCheckFileDescriptor CheckPeerAcceptRestrictions;
75 };
76
77 FREERDP_API void freerdp_listener_free(freerdp_listener* instance);
78
79 WINPR_ATTR_MALLOC(freerdp_listener_free, 1)
80 FREERDP_API freerdp_listener* freerdp_listener_new(void);
81
82#ifdef __cplusplus
83}
84#endif
85
86#endif /* FREERDP_LISTENER_H */