FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
server/gfxredir.h
1
20#ifndef FREERDP_CHANNEL_GFXREDIR_SERVER_GFXREDIR_H
21#define FREERDP_CHANNEL_GFXREDIR_SERVER_GFXREDIR_H
22
23#include <freerdp/channels/gfxredir.h>
24
25#include <freerdp/api.h>
26#include <freerdp/types.h>
27
28#ifdef __cplusplus
29extern "C"
30{
31#endif
32
33 typedef struct s_gfxredir_server_private GfxRedirServerPrivate;
34 typedef struct s_gfxredir_server_context GfxRedirServerContext;
35
36 typedef UINT (*psGfxRedirOpen)(GfxRedirServerContext* context);
37 typedef UINT (*psGfxRedirClose)(GfxRedirServerContext* context);
38
39 typedef UINT (*psGfxRedirError)(GfxRedirServerContext* context,
40 const GFXREDIR_ERROR_PDU* error);
41
42 typedef UINT (*psGfxRedirGraphicsRedirectionLegacyCaps)(
43 GfxRedirServerContext* context, const GFXREDIR_LEGACY_CAPS_PDU* graphicsCaps);
44
45 typedef UINT (*psGfxRedirGraphicsRedirectionCapsAdvertise)(
46 GfxRedirServerContext* context, const GFXREDIR_CAPS_ADVERTISE_PDU* graphicsCapsAdvertise);
47 typedef UINT (*psGfxRedirGraphicsRedirectionCapsConfirm)(
48 GfxRedirServerContext* context, const GFXREDIR_CAPS_CONFIRM_PDU* graphicsCapsConfirm);
49
50 typedef UINT (*psGfxRedirOpenPool)(GfxRedirServerContext* context,
51 const GFXREDIR_OPEN_POOL_PDU* openPool);
52 typedef UINT (*psGfxRedirClosePool)(GfxRedirServerContext* context,
53 const GFXREDIR_CLOSE_POOL_PDU* closePool);
54
55 typedef UINT (*psGfxRedirCreateBuffer)(GfxRedirServerContext* context,
56 const GFXREDIR_CREATE_BUFFER_PDU* createBuffer);
57 typedef UINT (*psGfxRedirDestroyBuffer)(GfxRedirServerContext* context,
58 const GFXREDIR_DESTROY_BUFFER_PDU* destroyBuffer);
59
60 typedef UINT (*psGfxRedirPresentBuffer)(GfxRedirServerContext* context,
61 const GFXREDIR_PRESENT_BUFFER_PDU* presentBuffer);
62 typedef UINT (*psGfxRedirPresentBufferAck)(
63 GfxRedirServerContext* context, const GFXREDIR_PRESENT_BUFFER_ACK_PDU* presentBufferAck);
64
66 {
67 void* custom;
68 HANDLE vcm;
69
70 psGfxRedirOpen Open;
71 psGfxRedirClose Close;
72
73 psGfxRedirError Error;
74
75 psGfxRedirGraphicsRedirectionLegacyCaps GraphicsRedirectionLegacyCaps;
76
77 psGfxRedirGraphicsRedirectionCapsAdvertise GraphicsRedirectionCapsAdvertise;
78 psGfxRedirGraphicsRedirectionCapsConfirm GraphicsRedirectionCapsConfirm;
79
80 psGfxRedirOpenPool OpenPool;
81 psGfxRedirClosePool ClosePool;
82
83 psGfxRedirCreateBuffer CreateBuffer;
84 psGfxRedirDestroyBuffer DestroyBuffer;
85
86 psGfxRedirPresentBuffer PresentBuffer;
87 psGfxRedirPresentBufferAck PresentBufferAck;
88
89 GfxRedirServerPrivate* priv;
90 rdpContext* rdpcontext;
91
92 UINT32 confirmedCapsVersion;
93 };
94
95 FREERDP_API void gfxredir_server_context_free(GfxRedirServerContext* context);
96
97 WINPR_ATTR_MALLOC(gfxredir_server_context_free, 1)
98 FREERDP_API GfxRedirServerContext* gfxredir_server_context_new(HANDLE vcm);
99
100#ifdef __cplusplus
101}
102#endif
103
104#endif /* FREERDP_CHANNEL_GFXREDIR_SERVER_GFXREDIR_H */