[freerdp,api] mark function pointers [[nodiscard]]

This commit is contained in:
Armin Novak
2026-02-15 22:45:20 +01:00
parent 399d92f26e
commit 6a1cc0f031
59 changed files with 847 additions and 813 deletions

View File

@@ -169,9 +169,7 @@ static UINT ecam_ihal_device_added_callback(CameraPlugin* ecam, GENERIC_CHANNEL_
*/
static UINT ecam_enumerate_devices(CameraPlugin* ecam, GENERIC_CHANNEL_CALLBACK* hchannel)
{
ecam->ihal->Enumerate(ecam->ihal, ecam_ihal_device_added_callback, ecam, hchannel);
return CHANNEL_RC_OK;
return ecam->ihal->Enumerate(ecam->ihal, ecam_ihal_device_added_callback, ecam, hchannel);
}
/**

View File

@@ -185,20 +185,20 @@ extern "C"
rdpContext* context; /* 0 */
UINT32 paddingA[16 - 1]; /* 1 */
pCreateOffscreenBitmap CreateOffscreenBitmap; /* 16 */
pSwitchSurface SwitchSurface; /* 17 */
pCreateNineGridBitmap CreateNineGridBitmap; /* 18 */
pFrameMarker FrameMarker; /* 19 */
pStreamBitmapFirst StreamBitmapFirst; /* 20 */
pStreamBitmapNext StreamBitmapNext; /* 21 */
pDrawGdiPlusFirst DrawGdiPlusFirst; /* 22 */
pDrawGdiPlusNext DrawGdiPlusNext; /* 23 */
pDrawGdiPlusEnd DrawGdiPlusEnd; /* 24 */
pDrawGdiPlusCacheFirst DrawGdiPlusCacheFirst; /* 25 */
pDrawGdiPlusCacheNext DrawGdiPlusCacheNext; /* 26 */
pDrawGdiPlusCacheEnd DrawGdiPlusCacheEnd; /* 27 */
/* Statistics callback */
pDrawOrderInfo DrawOrderInfo; /* 28 */
WINPR_ATTR_NODISCARD pCreateOffscreenBitmap CreateOffscreenBitmap; /* 16 */
WINPR_ATTR_NODISCARD pSwitchSurface SwitchSurface; /* 17 */
WINPR_ATTR_NODISCARD pCreateNineGridBitmap CreateNineGridBitmap; /* 18 */
WINPR_ATTR_NODISCARD pFrameMarker FrameMarker; /* 19 */
WINPR_ATTR_NODISCARD pStreamBitmapFirst StreamBitmapFirst; /* 20 */
WINPR_ATTR_NODISCARD pStreamBitmapNext StreamBitmapNext; /* 21 */
WINPR_ATTR_NODISCARD pDrawGdiPlusFirst DrawGdiPlusFirst; /* 22 */
WINPR_ATTR_NODISCARD pDrawGdiPlusNext DrawGdiPlusNext; /* 23 */
WINPR_ATTR_NODISCARD pDrawGdiPlusEnd DrawGdiPlusEnd; /* 24 */
WINPR_ATTR_NODISCARD pDrawGdiPlusCacheFirst DrawGdiPlusCacheFirst; /* 25 */
WINPR_ATTR_NODISCARD pDrawGdiPlusCacheNext DrawGdiPlusCacheNext; /* 26 */
WINPR_ATTR_NODISCARD pDrawGdiPlusCacheEnd DrawGdiPlusCacheEnd; /* 27 */
/* Statistics callback */
WINPR_ATTR_NODISCARD pDrawOrderInfo DrawOrderInfo; /* 28 */
UINT32 paddingB[32 - 29]; /* 29 */
};
typedef struct rdp_altsec_update rdpAltSecUpdate;

View File

@@ -120,19 +120,23 @@ extern "C"
ALIGN64 wLog* log; /* 11 */
UINT64 paddingA[16 - 12]; /* 12 */
ALIGN64 pRTTMeasureRequest RTTMeasureRequest; /* 16 */
ALIGN64 pRTTMeasureResponse RTTMeasureResponse; /* 17 */
ALIGN64 pBandwidthMeasureStart BandwidthMeasureStart; /* 18 */
ALIGN64 pBandwidthMeasurePayload BandwidthMeasurePayload; /* 19 */
ALIGN64 pBandwidthMeasureStop BandwidthMeasureStop; /* 20 */
ALIGN64 pBandwidthMeasureResults BandwidthMeasureResults; /* 21 */
ALIGN64 pNetworkCharacteristicsResult NetworkCharacteristicsResult; /* 22 */
ALIGN64 pClientBandwidthMeasureResult ClientBandwidthMeasureResult; /* 23 */
ALIGN64 pNetworkCharacteristicsSync NetworkCharacteristicsSync; /* 24 */
ALIGN64 pRxTxReceived RequestReceived; /* 25 */
ALIGN64 pRxTxReceived ResponseReceived; /* 26 */
ALIGN64 pOnConnectTimeAutoDetect OnConnectTimeAutoDetectBegin; /* 27 */
ALIGN64 pOnConnectTimeAutoDetect OnConnectTimeAutoDetectProgress; /* 28 */
ALIGN64 WINPR_ATTR_NODISCARD pRTTMeasureRequest RTTMeasureRequest; /* 16 */
ALIGN64 WINPR_ATTR_NODISCARD pRTTMeasureResponse RTTMeasureResponse; /* 17 */
ALIGN64 WINPR_ATTR_NODISCARD pBandwidthMeasureStart BandwidthMeasureStart; /* 18 */
ALIGN64 WINPR_ATTR_NODISCARD pBandwidthMeasurePayload BandwidthMeasurePayload; /* 19 */
ALIGN64 WINPR_ATTR_NODISCARD pBandwidthMeasureStop BandwidthMeasureStop; /* 20 */
ALIGN64 WINPR_ATTR_NODISCARD pBandwidthMeasureResults BandwidthMeasureResults; /* 21 */
ALIGN64 WINPR_ATTR_NODISCARD pNetworkCharacteristicsResult
NetworkCharacteristicsResult; /* 22 */
ALIGN64 WINPR_ATTR_NODISCARD pClientBandwidthMeasureResult
ClientBandwidthMeasureResult; /* 23 */
ALIGN64 WINPR_ATTR_NODISCARD pNetworkCharacteristicsSync
NetworkCharacteristicsSync; /* 24 */
ALIGN64 WINPR_ATTR_NODISCARD pRxTxReceived RequestReceived; /* 25 */
ALIGN64 WINPR_ATTR_NODISCARD pRxTxReceived ResponseReceived; /* 26 */
ALIGN64 WINPR_ATTR_NODISCARD pOnConnectTimeAutoDetect OnConnectTimeAutoDetectBegin; /* 27 */
ALIGN64 WINPR_ATTR_NODISCARD pOnConnectTimeAutoDetect
OnConnectTimeAutoDetectProgress; /* 28 */
UINT64 paddingB[32 - 29]; /* 29 */
};
FREERDP_API rdpAutoDetect* autodetect_get(rdpContext* context);

View File

@@ -325,7 +325,7 @@ typedef struct S_IRP IRP;
typedef struct S_DEVMAN DEVMAN;
typedef UINT (*pcCustomComponentRequest)(DEVICE* device, UINT16 component, UINT16 packetId,
wStream* s);
wStream* s);
typedef UINT (*pcIRPRequest)(DEVICE* device, IRP* irp);
typedef UINT (*pcInitDevice)(DEVICE* device);
typedef UINT (*pcFreeDevice)(DEVICE* device);
@@ -338,9 +338,9 @@ struct S_DEVICE
const char* name;
wStream* data;
pcCustomComponentRequest CustomComponentRequest;
pcIRPRequest IRPRequest;
pcInitDevice Init;
WINPR_ATTR_NODISCARD pcCustomComponentRequest CustomComponentRequest;
WINPR_ATTR_NODISCARD pcIRPRequest IRPRequest;
WINPR_ATTR_NODISCARD pcInitDevice Init;
pcFreeDevice Free;
};
@@ -361,7 +361,7 @@ struct S_IRP
NTSTATUS IoStatus;
wStream* output;
pcIRPResponse Complete;
WINPR_ATTR_NODISCARD pcIRPResponse Complete;
pcIRPResponse Discard;
HANDLE thread;
@@ -381,7 +381,7 @@ typedef struct
{
DEVMAN* devman;
pcRegisterDevice RegisterDevice;
WINPR_ATTR_NODISCARD pcRegisterDevice RegisterDevice;
RDPDR_DEVICE* device;
rdpContext* rdpcontext;
} DEVICE_SERVICE_ENTRY_POINTS;

View File

@@ -72,14 +72,14 @@ extern "C"
rdpSettings* settings;
pRdpGlobalInit GlobalInit;
WINPR_ATTR_NODISCARD pRdpGlobalInit GlobalInit;
pRdpGlobalUninit GlobalUninit;
DWORD ContextSize;
pRdpClientNew ClientNew;
WINPR_ATTR_NODISCARD pRdpClientNew ClientNew;
pRdpClientFree ClientFree;
pRdpClientStart ClientStart;
WINPR_ATTR_NODISCARD pRdpClientStart ClientStart;
pRdpClientStop ClientStop;
};

View File

@@ -38,7 +38,7 @@ extern "C"
void* handle;
void* custom;
pcAInputSendInputEvent AInputSendInputEvent;
WINPR_ATTR_NODISCARD pcAInputSendInputEvent AInputSendInputEvent;
};
#ifdef __cplusplus

View File

@@ -43,25 +43,27 @@ extern "C"
typedef struct s_IAudinDevice IAudinDevice;
struct s_IAudinDevice
{
UINT (*Open)(IAudinDevice* devplugin, AudinReceive receive, void* userData);
BOOL (*FormatSupported)(IAudinDevice* devplugin, const AUDIO_FORMAT* format);
UINT(*SetFormat)
(IAudinDevice* devplugin, const AUDIO_FORMAT* format, UINT32 FramesPerPacket);
UINT (*Close)(IAudinDevice* devplugin);
UINT (*Free)(IAudinDevice* devplugin);
WINPR_ATTR_NODISCARD UINT (*Open)(IAudinDevice* devplugin, AudinReceive receive,
void* userData);
WINPR_ATTR_NODISCARD BOOL (*FormatSupported)(IAudinDevice* devplugin,
const AUDIO_FORMAT* format);
WINPR_ATTR_NODISCARD UINT (*SetFormat)(IAudinDevice* devplugin, const AUDIO_FORMAT* format,
UINT32 FramesPerPacket);
WINPR_ATTR_NODISCARD UINT (*Close)(IAudinDevice* devplugin);
WINPR_ATTR_NODISCARD UINT (*Free)(IAudinDevice* devplugin);
};
#define AUDIN_DEVICE_EXPORT_FUNC_NAME "freerdp_audin_client_subsystem_entry"
typedef UINT (*PREGISTERAUDINDEVICE)(IWTSPlugin* plugin, IAudinDevice* device);
typedef UINT (*PREGISTERAUDINDEVICE)(IWTSPlugin* plugin, IAudinDevice* device);
typedef struct
{
IWTSPlugin* plugin;
PREGISTERAUDINDEVICE pRegisterAudinDevice;
const ADDIN_ARGV* args;
rdpContext* rdpcontext;
} FREERDP_AUDIN_DEVICE_ENTRY_POINTS;
typedef struct
{
IWTSPlugin* plugin;
WINPR_ATTR_NODISCARD PREGISTERAUDINDEVICE pRegisterAudinDevice;
const ADDIN_ARGV* args;
rdpContext* rdpcontext;
} FREERDP_AUDIN_DEVICE_ENTRY_POINTS;
typedef FREERDP_AUDIN_DEVICE_ENTRY_POINTS* PFREERDP_AUDIN_DEVICE_ENTRY_POINTS;
typedef UINT(VCAPITYPE* PFREERDP_AUDIN_DEVICE_ENTRY)(

View File

@@ -85,26 +85,26 @@ extern "C"
void* handle;
void* custom;
pcCliprdrServerCapabilities ServerCapabilities;
pcCliprdrClientCapabilities ClientCapabilities;
pcCliprdrMonitorReady MonitorReady;
pcCliprdrTempDirectory TempDirectory;
pcCliprdrClientFormatList ClientFormatList;
pcCliprdrServerFormatList ServerFormatList;
pcCliprdrClientFormatListResponse ClientFormatListResponse;
pcCliprdrServerFormatListResponse ServerFormatListResponse;
pcCliprdrClientLockClipboardData ClientLockClipboardData;
pcCliprdrServerLockClipboardData ServerLockClipboardData;
pcCliprdrClientUnlockClipboardData ClientUnlockClipboardData;
pcCliprdrServerUnlockClipboardData ServerUnlockClipboardData;
pcCliprdrClientFormatDataRequest ClientFormatDataRequest;
pcCliprdrServerFormatDataRequest ServerFormatDataRequest;
pcCliprdrClientFormatDataResponse ClientFormatDataResponse;
pcCliprdrServerFormatDataResponse ServerFormatDataResponse;
pcCliprdrClientFileContentsRequest ClientFileContentsRequest;
pcCliprdrServerFileContentsRequest ServerFileContentsRequest;
pcCliprdrClientFileContentsResponse ClientFileContentsResponse;
pcCliprdrServerFileContentsResponse ServerFileContentsResponse;
WINPR_ATTR_NODISCARD pcCliprdrServerCapabilities ServerCapabilities;
WINPR_ATTR_NODISCARD pcCliprdrClientCapabilities ClientCapabilities;
WINPR_ATTR_NODISCARD pcCliprdrMonitorReady MonitorReady;
WINPR_ATTR_NODISCARD pcCliprdrTempDirectory TempDirectory;
WINPR_ATTR_NODISCARD pcCliprdrClientFormatList ClientFormatList;
WINPR_ATTR_NODISCARD pcCliprdrServerFormatList ServerFormatList;
WINPR_ATTR_NODISCARD pcCliprdrClientFormatListResponse ClientFormatListResponse;
WINPR_ATTR_NODISCARD pcCliprdrServerFormatListResponse ServerFormatListResponse;
WINPR_ATTR_NODISCARD pcCliprdrClientLockClipboardData ClientLockClipboardData;
WINPR_ATTR_NODISCARD pcCliprdrServerLockClipboardData ServerLockClipboardData;
WINPR_ATTR_NODISCARD pcCliprdrClientUnlockClipboardData ClientUnlockClipboardData;
WINPR_ATTR_NODISCARD pcCliprdrServerUnlockClipboardData ServerUnlockClipboardData;
WINPR_ATTR_NODISCARD pcCliprdrClientFormatDataRequest ClientFormatDataRequest;
WINPR_ATTR_NODISCARD pcCliprdrServerFormatDataRequest ServerFormatDataRequest;
WINPR_ATTR_NODISCARD pcCliprdrClientFormatDataResponse ClientFormatDataResponse;
WINPR_ATTR_NODISCARD pcCliprdrServerFormatDataResponse ServerFormatDataResponse;
WINPR_ATTR_NODISCARD pcCliprdrClientFileContentsRequest ClientFileContentsRequest;
WINPR_ATTR_NODISCARD pcCliprdrServerFileContentsRequest ServerFileContentsRequest;
WINPR_ATTR_NODISCARD pcCliprdrClientFileContentsResponse ClientFileContentsResponse;
WINPR_ATTR_NODISCARD pcCliprdrServerFileContentsResponse ServerFileContentsResponse;
UINT32 lastRequestedFormatId;
rdpContext* rdpcontext;

View File

@@ -41,8 +41,8 @@ extern "C"
void* handle;
void* custom;
pcDispCaps DisplayControlCaps;
pcDispSendMonitorLayout SendMonitorLayout;
WINPR_ATTR_NODISCARD pcDispCaps DisplayControlCaps;
WINPR_ATTR_NODISCARD pcDispSendMonitorLayout SendMonitorLayout;
};
#ifdef __cplusplus

View File

@@ -22,6 +22,8 @@
#ifndef FREERDP_CHANNEL_DRDYNVC_CLIENT_DRDYNVC_H
#define FREERDP_CHANNEL_DRDYNVC_CLIENT_DRDYNVC_H
#include <winpr/wtypes.h>
#ifdef __cplusplus
extern "C"
{
@@ -48,11 +50,11 @@ extern "C"
void* handle;
void* custom;
pcDrdynvcGetVersion GetVersion;
pcDrdynvcOnChannelConnected OnChannelConnected;
pcDrdynvcOnChannelDisconnected OnChannelDisconnected;
pcDrdynvcOnChannelAttached OnChannelAttached;
pcDrdynvcOnChannelDetached OnChannelDetached;
WINPR_ATTR_NODISCARD pcDrdynvcGetVersion GetVersion;
WINPR_ATTR_NODISCARD pcDrdynvcOnChannelConnected OnChannelConnected;
WINPR_ATTR_NODISCARD pcDrdynvcOnChannelDisconnected OnChannelDisconnected;
WINPR_ATTR_NODISCARD pcDrdynvcOnChannelAttached OnChannelAttached;
WINPR_ATTR_NODISCARD pcDrdynvcOnChannelDetached OnChannelDetached;
};
#ifdef __cplusplus

View File

@@ -66,17 +66,17 @@ extern "C"
void* handle;
void* custom;
pcEncomspFilterUpdated FilterUpdated;
pcEncomspApplicationCreated ApplicationCreated;
pcEncomspApplicationRemoved ApplicationRemoved;
pcEncomspWindowCreated WindowCreated;
pcEncomspWindowRemoved WindowRemoved;
pcEncomspShowWindow ShowWindow;
pcEncomspParticipantCreated ParticipantCreated;
pcEncomspParticipantRemoved ParticipantRemoved;
pcEncomspChangeParticipantControlLevel ChangeParticipantControlLevel;
pcEncomspGraphicsStreamPaused GraphicsStreamPaused;
pcEncomspGraphicsStreamResumed GraphicsStreamResumed;
WINPR_ATTR_NODISCARD pcEncomspFilterUpdated FilterUpdated;
WINPR_ATTR_NODISCARD pcEncomspApplicationCreated ApplicationCreated;
WINPR_ATTR_NODISCARD pcEncomspApplicationRemoved ApplicationRemoved;
WINPR_ATTR_NODISCARD pcEncomspWindowCreated WindowCreated;
WINPR_ATTR_NODISCARD pcEncomspWindowRemoved WindowRemoved;
WINPR_ATTR_NODISCARD pcEncomspShowWindow ShowWindow;
WINPR_ATTR_NODISCARD pcEncomspParticipantCreated ParticipantCreated;
WINPR_ATTR_NODISCARD pcEncomspParticipantRemoved ParticipantRemoved;
WINPR_ATTR_NODISCARD pcEncomspChangeParticipantControlLevel ChangeParticipantControlLevel;
WINPR_ATTR_NODISCARD pcEncomspGraphicsStreamPaused GraphicsStreamPaused;
WINPR_ATTR_NODISCARD pcEncomspGraphicsStreamResumed GraphicsStreamResumed;
UINT32 participantId;
};

View File

@@ -51,8 +51,8 @@ extern "C"
FREERDP_RGNDATA geometry;
void* custom;
pcMappedGeometryUpdate MappedGeometryUpdate;
pcMappedGeometryClear MappedGeometryClear;
WINPR_ATTR_NODISCARD pcMappedGeometryUpdate MappedGeometryUpdate;
WINPR_ATTR_NODISCARD pcMappedGeometryClear MappedGeometryClear;
};
/** @brief the geometry context for client channel */
@@ -62,7 +62,7 @@ extern "C"
void* handle;
void* custom;
pcMappedGeometryAdded MappedGeometryAdded;
WINPR_ATTR_NODISCARD pcMappedGeometryAdded MappedGeometryAdded;
UINT32 remoteVersion;
};

View File

@@ -58,7 +58,7 @@ extern "C"
*
* \return \b CHANNEL_RC_OK for success, an appropriate error otherwise.
*/
pcLocationStart LocationStart;
WINPR_ATTR_NODISCARD pcLocationStart LocationStart;
/**! \brief stop location services on client
*
@@ -66,7 +66,7 @@ extern "C"
*
* \return \b CHANNEL_RC_OK for success, an appropriate error otherwise.
*/
pcLocationStop LocationStop;
WINPR_ATTR_NODISCARD pcLocationStop LocationStop;
/**! \brief Send a location update.
*
@@ -97,7 +97,7 @@ extern "C"
*
* return \b CHANNEL_RC_OK for success, an appropriate error otherwise.
*/
pcLocationSend LocationSend;
WINPR_ATTR_NODISCARD pcLocationSend LocationSend;
};
#ifdef __cplusplus

View File

@@ -44,9 +44,9 @@ extern "C"
struct rdp_printer_driver
{
pcEnumPrinters EnumPrinters;
WINPR_ATTR_NODISCARD pcEnumPrinters EnumPrinters;
pcReleaseEnumPrinters ReleaseEnumPrinters;
pcGetPrinter GetPrinter;
WINPR_ATTR_NODISCARD pcGetPrinter GetPrinter;
pcReferencePrinterDriver AddRef;
pcReferencePrinterDriver ReleaseRef;
@@ -64,8 +64,8 @@ extern "C"
size_t references;
rdpPrinterDriver* backend;
pcCreatePrintJob CreatePrintJob;
pcFindPrintJob FindPrintJob;
WINPR_ATTR_NODISCARD pcCreatePrintJob CreatePrintJob;
WINPR_ATTR_NODISCARD pcFindPrintJob FindPrintJob;
pcReferencePrinter AddRef;
pcReferencePrinter ReleaseRef;
};
@@ -78,7 +78,7 @@ extern "C"
UINT32 id;
rdpPrinter* printer;
pcWritePrintJob Write;
WINPR_ATTR_NODISCARD pcWritePrintJob Write;
pcClosePrintJob Close;
};

View File

@@ -101,37 +101,37 @@ extern "C"
void* handle;
void* custom;
pcRailClientExecute ClientExecute;
pcRailClientActivate ClientActivate;
pcRailClientSystemParam ClientSystemParam;
pcRailServerSystemParam ServerSystemParam;
pcRailClientSystemCommand ClientSystemCommand;
pcRailClientHandshake ClientHandshake;
pcRailServerHandshake ServerHandshake;
pcRailServerHandshakeEx ServerHandshakeEx;
pcRailClientNotifyEvent ClientNotifyEvent;
pcRailClientWindowMove ClientWindowMove;
pcRailServerLocalMoveSize ServerLocalMoveSize;
pcRailServerMinMaxInfo ServerMinMaxInfo;
pcRailClientInformation ClientInformation;
pcRailClientSystemMenu ClientSystemMenu;
pcRailServerTaskBarInfo ServerTaskBarInfo;
pcRailClientLanguageBarInfo ClientLanguageBarInfo;
pcRailServerLanguageBarInfo ServerLanguageBarInfo;
pcRailClientLanguageIMEInfo ClientLanguageIMEInfo;
pcRailServerExecuteResult ServerExecuteResult;
pcRailClientGetAppIdRequest ClientGetAppIdRequest;
pcRailServerGetAppIdResponse ServerGetAppIdResponse;
pcRailServerZOrderSync ServerZOrderSync;
pcRailClientCloak ClientCloak;
pcRailServerCloak ServerCloak;
pcRailServerPowerDisplayRequest ServerPowerDisplayRequest;
pcRailClientSnapArrange ClientSnapArrange;
pcRailServerGetAppidResponseExtended ServerGetAppidResponseExtended;
pcRailClientCompartmentInfo ClientCompartmentInfo;
pcRailOnOpen OnOpen;
pcRailClientTextScale ClientTextScale;
pcRailClientCaretBlinkRate ClientCaretBlinkRate;
WINPR_ATTR_NODISCARD pcRailClientExecute ClientExecute;
WINPR_ATTR_NODISCARD pcRailClientActivate ClientActivate;
WINPR_ATTR_NODISCARD pcRailClientSystemParam ClientSystemParam;
WINPR_ATTR_NODISCARD pcRailServerSystemParam ServerSystemParam;
WINPR_ATTR_NODISCARD pcRailClientSystemCommand ClientSystemCommand;
WINPR_ATTR_NODISCARD pcRailClientHandshake ClientHandshake;
WINPR_ATTR_NODISCARD pcRailServerHandshake ServerHandshake;
WINPR_ATTR_NODISCARD pcRailServerHandshakeEx ServerHandshakeEx;
WINPR_ATTR_NODISCARD pcRailClientNotifyEvent ClientNotifyEvent;
WINPR_ATTR_NODISCARD pcRailClientWindowMove ClientWindowMove;
WINPR_ATTR_NODISCARD pcRailServerLocalMoveSize ServerLocalMoveSize;
WINPR_ATTR_NODISCARD pcRailServerMinMaxInfo ServerMinMaxInfo;
WINPR_ATTR_NODISCARD pcRailClientInformation ClientInformation;
WINPR_ATTR_NODISCARD pcRailClientSystemMenu ClientSystemMenu;
WINPR_ATTR_NODISCARD pcRailServerTaskBarInfo ServerTaskBarInfo;
WINPR_ATTR_NODISCARD pcRailClientLanguageBarInfo ClientLanguageBarInfo;
WINPR_ATTR_NODISCARD pcRailServerLanguageBarInfo ServerLanguageBarInfo;
WINPR_ATTR_NODISCARD pcRailClientLanguageIMEInfo ClientLanguageIMEInfo;
WINPR_ATTR_NODISCARD pcRailServerExecuteResult ServerExecuteResult;
WINPR_ATTR_NODISCARD pcRailClientGetAppIdRequest ClientGetAppIdRequest;
WINPR_ATTR_NODISCARD pcRailServerGetAppIdResponse ServerGetAppIdResponse;
WINPR_ATTR_NODISCARD pcRailServerZOrderSync ServerZOrderSync;
WINPR_ATTR_NODISCARD pcRailClientCloak ClientCloak;
WINPR_ATTR_NODISCARD pcRailServerCloak ServerCloak;
WINPR_ATTR_NODISCARD pcRailServerPowerDisplayRequest ServerPowerDisplayRequest;
WINPR_ATTR_NODISCARD pcRailClientSnapArrange ClientSnapArrange;
WINPR_ATTR_NODISCARD pcRailServerGetAppidResponseExtended ServerGetAppidResponseExtended;
WINPR_ATTR_NODISCARD pcRailClientCompartmentInfo ClientCompartmentInfo;
WINPR_ATTR_NODISCARD pcRailOnOpen OnOpen;
WINPR_ATTR_NODISCARD pcRailClientTextScale ClientTextScale;
WINPR_ATTR_NODISCARD pcRailClientCaretBlinkRate ClientCaretBlinkRate;
};
FREERDP_API UINT client_rail_server_start_cmd(RailClientContext* context);

View File

@@ -86,9 +86,9 @@ extern "C"
void* handle;
void* custom;
pcRdpdrRegisterDevice RdpdrRegisterDevice;
pcRdpdrUnregisterDevice RdpdrUnregisterDevice;
pcRdpdrHotplugDevice RdpdrHotplugDevice;
WINPR_ATTR_NODISCARD pcRdpdrRegisterDevice RdpdrRegisterDevice;
WINPR_ATTR_NODISCARD pcRdpdrUnregisterDevice RdpdrUnregisterDevice;
WINPR_ATTR_NODISCARD pcRdpdrHotplugDevice RdpdrHotplugDevice;
};
#ifdef __cplusplus

View File

@@ -71,34 +71,34 @@ extern "C"
void* handle;
void* custom;
pcRdpeiGetVersion GetVersion;
pcRdpeiGetFeatures GetFeatures;
WINPR_ATTR_NODISCARD pcRdpeiGetVersion GetVersion;
WINPR_ATTR_NODISCARD pcRdpeiGetFeatures GetFeatures;
pcRdpeiAddContact AddContact;
WINPR_ATTR_NODISCARD pcRdpeiAddContact AddContact;
pcRdpeiTouchEvent TouchBegin;
pcRdpeiTouchEvent TouchUpdate;
pcRdpeiTouchEvent TouchEnd;
WINPR_ATTR_NODISCARD pcRdpeiTouchEvent TouchBegin;
WINPR_ATTR_NODISCARD pcRdpeiTouchEvent TouchUpdate;
WINPR_ATTR_NODISCARD pcRdpeiTouchEvent TouchEnd;
pcRdpeiAddPen AddPen;
WINPR_ATTR_NODISCARD pcRdpeiAddPen AddPen;
pcRdpeiPen PenBegin;
pcRdpeiPen PenUpdate;
pcRdpeiPen PenEnd;
pcRdpeiPen PenHoverBegin;
pcRdpeiPen PenHoverUpdate;
pcRdpeiPen PenHoverCancel;
WINPR_ATTR_NODISCARD pcRdpeiPen PenBegin;
WINPR_ATTR_NODISCARD pcRdpeiPen PenUpdate;
WINPR_ATTR_NODISCARD pcRdpeiPen PenEnd;
WINPR_ATTR_NODISCARD pcRdpeiPen PenHoverBegin;
WINPR_ATTR_NODISCARD pcRdpeiPen PenHoverUpdate;
WINPR_ATTR_NODISCARD pcRdpeiPen PenHoverCancel;
pcRdpeiSuspendTouch SuspendTouch;
pcRdpeiResumeTouch ResumeTouch;
WINPR_ATTR_NODISCARD pcRdpeiSuspendTouch SuspendTouch;
WINPR_ATTR_NODISCARD pcRdpeiResumeTouch ResumeTouch;
pcRdpeiTouchEvent TouchCancel;
pcRdpeiTouchRawEvent TouchRawEvent;
pcRdpeiTouchRawEventVA TouchRawEventVA;
WINPR_ATTR_NODISCARD pcRdpeiTouchEvent TouchCancel;
WINPR_ATTR_NODISCARD pcRdpeiTouchRawEvent TouchRawEvent;
WINPR_ATTR_NODISCARD pcRdpeiTouchRawEventVA TouchRawEventVA;
pcRdpeiPen PenCancel;
pcRdpeiPenRawEvent PenRawEvent;
pcRdpeiPenRawEventVA PenRawEventVA;
WINPR_ATTR_NODISCARD pcRdpeiPen PenCancel;
WINPR_ATTR_NODISCARD pcRdpeiPenRawEvent PenRawEvent;
WINPR_ATTR_NODISCARD pcRdpeiPenRawEventVA PenRawEventVA;
UINT32 clientFeaturesMask;
};

View File

@@ -125,52 +125,52 @@ extern "C"
void* custom;
/* Implementations require locking */
pcRdpgfxResetGraphics ResetGraphics;
pcRdpgfxStartFrame StartFrame;
pcRdpgfxEndFrame EndFrame;
pcRdpgfxSurfaceCommand SurfaceCommand;
pcRdpgfxDeleteEncodingContext DeleteEncodingContext;
pcRdpgfxCreateSurface CreateSurface;
pcRdpgfxDeleteSurface DeleteSurface;
pcRdpgfxSolidFill SolidFill;
pcRdpgfxSurfaceToSurface SurfaceToSurface;
pcRdpgfxSurfaceToCache SurfaceToCache;
pcRdpgfxCacheToSurface CacheToSurface;
pcRdpgfxCacheImportOffer CacheImportOffer;
pcRdpgfxCacheImportReply CacheImportReply;
pcRdpgfxImportCacheEntry ImportCacheEntry;
pcRdpgfxExportCacheEntry ExportCacheEntry;
pcRdpgfxEvictCacheEntry EvictCacheEntry;
pcRdpgfxMapSurfaceToOutput MapSurfaceToOutput;
pcRdpgfxMapSurfaceToScaledOutput MapSurfaceToScaledOutput;
pcRdpgfxMapSurfaceToWindow MapSurfaceToWindow;
pcRdpgfxMapSurfaceToScaledWindow MapSurfaceToScaledWindow;
WINPR_ATTR_NODISCARD pcRdpgfxResetGraphics ResetGraphics;
WINPR_ATTR_NODISCARD pcRdpgfxStartFrame StartFrame;
WINPR_ATTR_NODISCARD pcRdpgfxEndFrame EndFrame;
WINPR_ATTR_NODISCARD pcRdpgfxSurfaceCommand SurfaceCommand;
WINPR_ATTR_NODISCARD pcRdpgfxDeleteEncodingContext DeleteEncodingContext;
WINPR_ATTR_NODISCARD pcRdpgfxCreateSurface CreateSurface;
WINPR_ATTR_NODISCARD pcRdpgfxDeleteSurface DeleteSurface;
WINPR_ATTR_NODISCARD pcRdpgfxSolidFill SolidFill;
WINPR_ATTR_NODISCARD pcRdpgfxSurfaceToSurface SurfaceToSurface;
WINPR_ATTR_NODISCARD pcRdpgfxSurfaceToCache SurfaceToCache;
WINPR_ATTR_NODISCARD pcRdpgfxCacheToSurface CacheToSurface;
WINPR_ATTR_NODISCARD pcRdpgfxCacheImportOffer CacheImportOffer;
WINPR_ATTR_NODISCARD pcRdpgfxCacheImportReply CacheImportReply;
WINPR_ATTR_NODISCARD pcRdpgfxImportCacheEntry ImportCacheEntry;
WINPR_ATTR_NODISCARD pcRdpgfxExportCacheEntry ExportCacheEntry;
WINPR_ATTR_NODISCARD pcRdpgfxEvictCacheEntry EvictCacheEntry;
WINPR_ATTR_NODISCARD pcRdpgfxMapSurfaceToOutput MapSurfaceToOutput;
WINPR_ATTR_NODISCARD pcRdpgfxMapSurfaceToScaledOutput MapSurfaceToScaledOutput;
WINPR_ATTR_NODISCARD pcRdpgfxMapSurfaceToWindow MapSurfaceToWindow;
WINPR_ATTR_NODISCARD pcRdpgfxMapSurfaceToScaledWindow MapSurfaceToScaledWindow;
pcRdpgfxGetSurfaceIds GetSurfaceIds;
pcRdpgfxSetSurfaceData SetSurfaceData;
pcRdpgfxGetSurfaceData GetSurfaceData;
pcRdpgfxSetCacheSlotData SetCacheSlotData;
pcRdpgfxGetCacheSlotData GetCacheSlotData;
WINPR_ATTR_NODISCARD pcRdpgfxGetSurfaceIds GetSurfaceIds;
WINPR_ATTR_NODISCARD pcRdpgfxSetSurfaceData SetSurfaceData;
WINPR_ATTR_NODISCARD pcRdpgfxGetSurfaceData GetSurfaceData;
WINPR_ATTR_NODISCARD pcRdpgfxSetCacheSlotData SetCacheSlotData;
WINPR_ATTR_NODISCARD pcRdpgfxGetCacheSlotData GetCacheSlotData;
/* Proxy callbacks */
pcRdpgfxOnOpen OnOpen;
pcRdpgfxOnClose OnClose;
pcRdpgfxCapsAdvertise CapsAdvertise;
pcRdpgfxCapsConfirm CapsConfirm;
pcRdpgfxFrameAcknowledge FrameAcknowledge;
pcRdpgfxQoeFrameAcknowledge QoeFrameAcknowledge;
WINPR_ATTR_NODISCARD pcRdpgfxOnOpen OnOpen;
WINPR_ATTR_NODISCARD pcRdpgfxOnClose OnClose;
WINPR_ATTR_NODISCARD pcRdpgfxCapsAdvertise CapsAdvertise;
WINPR_ATTR_NODISCARD pcRdpgfxCapsConfirm CapsConfirm;
WINPR_ATTR_NODISCARD pcRdpgfxFrameAcknowledge FrameAcknowledge;
WINPR_ATTR_NODISCARD pcRdpgfxQoeFrameAcknowledge QoeFrameAcknowledge;
/* No locking required */
pcRdpgfxUpdateSurfaces UpdateSurfaces;
pcRdpgfxUpdateSurfaceArea UpdateSurfaceArea;
pcRdpgfxUpdateWindowFromSurface UpdateWindowFromSurface;
WINPR_ATTR_NODISCARD pcRdpgfxUpdateSurfaces UpdateSurfaces;
WINPR_ATTR_NODISCARD pcRdpgfxUpdateSurfaceArea UpdateSurfaceArea;
WINPR_ATTR_NODISCARD pcRdpgfxUpdateWindowFromSurface UpdateWindowFromSurface;
/* These callbacks allow creating/destroying a window directly
* mapped to a surface.
* NOTE: The surface is already locked.
*/
pcRdpgfxMapWindowForSurface MapWindowForSurface;
pcRdpgfxUnmapWindowForSurface UnmapWindowForSurface;
WINPR_ATTR_NODISCARD pcRdpgfxMapWindowForSurface MapWindowForSurface;
WINPR_ATTR_NODISCARD pcRdpgfxUnmapWindowForSurface UnmapWindowForSurface;
CRITICAL_SECTION mux;
rdpCodecs* codecs;

View File

@@ -55,17 +55,17 @@ extern "C"
{
rdpsndPlugin* rdpsnd;
pcFormatSupported FormatSupported;
pcOpen Open;
pcGetVolume GetVolume;
pcSetVolume SetVolume;
pcPlay Play;
WINPR_ATTR_NODISCARD pcFormatSupported FormatSupported;
WINPR_ATTR_NODISCARD pcOpen Open;
WINPR_ATTR_NODISCARD pcGetVolume GetVolume;
WINPR_ATTR_NODISCARD pcSetVolume SetVolume;
WINPR_ATTR_NODISCARD pcPlay Play;
pcStart Start; /* Deprecated, unused. */
pcClose Close;
pcFree Free;
pcDefaultFormat DefaultFormat;
pcServerFormatAnnounce ServerFormatAnnounce;
pcPlayEx PlayEx;
WINPR_ATTR_NODISCARD pcDefaultFormat DefaultFormat;
WINPR_ATTR_NODISCARD pcServerFormatAnnounce ServerFormatAnnounce;
WINPR_ATTR_NODISCARD pcPlayEx PlayEx;
};
#define RDPSND_DEVICE_EXPORT_FUNC_NAME "freerdp_rdpsnd_client_subsystem_entry"

View File

@@ -69,7 +69,7 @@ extern "C"
void* handle;
void* custom;
pcTsmfFrameEvent FrameEvent;
WINPR_ATTR_NODISCARD pcTsmfFrameEvent FrameEvent;
};
#ifdef __cplusplus

View File

@@ -58,8 +58,8 @@ extern "C"
pcVideoSetGeometry setGeometry;
pcVideoTimer timer;
pcVideoCreateSurface createSurface;
pcVideoShowSurface showSurface;
WINPR_ATTR_NODISCARD pcVideoCreateSurface createSurface;
WINPR_ATTR_NODISCARD pcVideoShowSurface showSurface;
pcVideoDeleteSurface deleteSurface;
};

View File

@@ -73,7 +73,8 @@ extern "C"
struct s_IWTSListener
{
/* Retrieves the listener-specific configuration. */
UINT (*GetConfiguration)(IWTSListener* pListener, void** ppPropertyBag);
WINPR_ATTR_NODISCARD UINT (*GetConfiguration)(IWTSListener* pListener,
void** ppPropertyBag);
void* pInterface;
};
@@ -81,45 +82,47 @@ extern "C"
struct s_IWTSVirtualChannel
{
/* Starts a write request on the channel. */
UINT(*Write)
(IWTSVirtualChannel* pChannel, ULONG cbSize, const BYTE* pBuffer, void* pReserved);
WINPR_ATTR_NODISCARD UINT (*Write)(IWTSVirtualChannel* pChannel, ULONG cbSize,
const BYTE* pBuffer, void* pReserved);
/* Closes the channel. */
UINT (*Close)(IWTSVirtualChannel* pChannel);
WINPR_ATTR_NODISCARD UINT (*Close)(IWTSVirtualChannel* pChannel);
};
struct s_IWTSVirtualChannelManager
{
/* Returns an instance of a listener object that listens on a specific
endpoint, or creates a static channel. */
UINT(*CreateListener)
(IWTSVirtualChannelManager* pChannelMgr, const char* pszChannelName, ULONG ulFlags,
IWTSListenerCallback* pListenerCallback, IWTSListener** ppListener);
WINPR_ATTR_NODISCARD UINT (*CreateListener)(IWTSVirtualChannelManager* pChannelMgr,
const char* pszChannelName, ULONG ulFlags,
IWTSListenerCallback* pListenerCallback,
IWTSListener** ppListener);
/* Find the channel or ID to send data to a specific endpoint. */
UINT32 (*GetChannelId)(IWTSVirtualChannel* channel);
IWTSVirtualChannel* (*FindChannelById)(IWTSVirtualChannelManager* pChannelMgr,
UINT32 ChannelId);
const char* (*GetChannelName)(IWTSVirtualChannel* channel);
WINPR_ATTR_NODISCARD UINT32 (*GetChannelId)(IWTSVirtualChannel* channel);
WINPR_ATTR_NODISCARD IWTSVirtualChannel* (*FindChannelById)(
IWTSVirtualChannelManager* pChannelMgr, UINT32 ChannelId);
WINPR_ATTR_NODISCARD const char* (*GetChannelName)(IWTSVirtualChannel* channel);
UINT (*DestroyListener)(IWTSVirtualChannelManager* pChannelMgr, IWTSListener* ppListener);
};
struct s_IWTSPlugin
{
/* Used for the first call that is made from the client to the plug-in. */
UINT (*Initialize)(IWTSPlugin* pPlugin, IWTSVirtualChannelManager* pChannelMgr);
WINPR_ATTR_NODISCARD UINT (*Initialize)(IWTSPlugin* pPlugin,
IWTSVirtualChannelManager* pChannelMgr);
/* Notifies the plug-in that the Remote Desktop Connection (RDC) client
has successfully connected to the Remote Desktop Session Host (RD
Session Host) server. */
UINT (*Connected)(IWTSPlugin* pPlugin);
WINPR_ATTR_NODISCARD UINT (*Connected)(IWTSPlugin* pPlugin);
/* Notifies the plug-in that the Remote Desktop Connection (RDC) client
has disconnected from the RD Session Host server. */
UINT (*Disconnected)(IWTSPlugin* pPlugin, DWORD dwDisconnectCode);
WINPR_ATTR_NODISCARD UINT (*Disconnected)(IWTSPlugin* pPlugin, DWORD dwDisconnectCode);
/* Notifies the plug-in that the Remote Desktop Connection (RDC) client
has terminated. */
UINT (*Terminated)(IWTSPlugin* pPlugin);
WINPR_ATTR_NODISCARD UINT (*Terminated)(IWTSPlugin* pPlugin);
UINT (*Attached)(IWTSPlugin* pPlugin);
WINPR_ATTR_NODISCARD UINT (*Attached)(IWTSPlugin* pPlugin);
UINT (*Detached)(IWTSPlugin* pPlugin);
WINPR_ATTR_NODISCARD UINT (*Detached)(IWTSPlugin* pPlugin);
/* Extended */
@@ -130,24 +133,25 @@ extern "C"
{
/* Accepts or denies a connection request for an incoming connection to
the associated listener. */
UINT(*OnNewChannelConnection)
(IWTSListenerCallback* pListenerCallback, IWTSVirtualChannel* pChannel, BYTE* Data,
BOOL* pbAccept, IWTSVirtualChannelCallback** ppCallback);
WINPR_ATTR_NODISCARD
UINT (*OnNewChannelConnection)(IWTSListenerCallback* pListenerCallback,
IWTSVirtualChannel* pChannel, BYTE* Data, BOOL* pbAccept,
IWTSVirtualChannelCallback** ppCallback);
void* pInterface;
};
struct s_IWTSVirtualChannelCallback
{
UINT(*OnDataReceived)
(IWTSVirtualChannelCallback* pChannelCallback,
wStream* data); /**< Notifies the user about data that is being received. */
UINT(*OnOpen)
(IWTSVirtualChannelCallback*
pChannelCallback); /**< Notifies the user that the channel has been opened. */
UINT(*OnClose)
(IWTSVirtualChannelCallback*
pChannelCallback); /**< Notifies the user that the channel has been closed. */
WINPR_ATTR_NODISCARD UINT (*OnDataReceived)(
IWTSVirtualChannelCallback* pChannelCallback,
wStream* data); /**< Notifies the user about data that is being received. */
WINPR_ATTR_NODISCARD UINT (*OnOpen)(
IWTSVirtualChannelCallback*
pChannelCallback); /**< Notifies the user that the channel has been opened. */
WINPR_ATTR_NODISCARD UINT (*OnClose)(
IWTSVirtualChannelCallback*
pChannelCallback); /**< Notifies the user that the channel has been closed. */
void* pInterface;
};
@@ -159,15 +163,15 @@ extern "C"
typedef struct S_IDRDYNVC_ENTRY_POINTS IDRDYNVC_ENTRY_POINTS;
struct S_IDRDYNVC_ENTRY_POINTS
{
UINT(*RegisterPlugin)
(IDRDYNVC_ENTRY_POINTS* pEntryPoints, const char* name, IWTSPlugin* pPlugin);
WINPR_ATTR_NODISCARD UINT (*RegisterPlugin)(IDRDYNVC_ENTRY_POINTS* pEntryPoints,
const char* name, IWTSPlugin* pPlugin);
IWTSPlugin* (*GetPlugin)(IDRDYNVC_ENTRY_POINTS* pEntryPoints, const char* name);
const ADDIN_ARGV* (*GetPluginData)(IDRDYNVC_ENTRY_POINTS* pEntryPoints);
rdpSettings* (*GetRdpSettings)(IDRDYNVC_ENTRY_POINTS* pEntryPoints);
rdpContext* (*GetRdpContext)(IDRDYNVC_ENTRY_POINTS* pEntryPoints);
WINPR_ATTR_NODISCARD rdpSettings* (*GetRdpSettings)(IDRDYNVC_ENTRY_POINTS* pEntryPoints);
WINPR_ATTR_NODISCARD rdpContext* (*GetRdpContext)(IDRDYNVC_ENTRY_POINTS* pEntryPoints);
};
typedef UINT(VCAPITYPE* PDVC_PLUGIN_ENTRY)(IDRDYNVC_ENTRY_POINTS*);
typedef WINPR_ATTR_NODISCARD UINT(VCAPITYPE* PDVC_PLUGIN_ENTRY)(IDRDYNVC_ENTRY_POINTS*);
void* get_callback_by_name(const char* name, void** context);
void add_callback_by_name(const char* name, void* fkt, void* context);

View File

@@ -35,29 +35,32 @@ extern "C"
struct rdp_ext_plugin
{
void* ext;
int (*init)(rdpExtPlugin* plugin, freerdp* instance);
int (*uninit)(rdpExtPlugin* plugin, freerdp* instance);
WINPR_ATTR_NODISCARD int (*init)(rdpExtPlugin* plugin, freerdp* instance);
WINPR_ATTR_NODISCARD int (*uninit)(rdpExtPlugin* plugin, freerdp* instance);
};
typedef UINT32(FREERDP_CC* PFREERDP_EXTENSION_HOOK)(rdpExtPlugin* plugin, freerdp* instance);
typedef WINPR_ATTR_NODISCARD UINT32(FREERDP_CC* PFREERDP_EXTENSION_HOOK)(rdpExtPlugin* plugin,
freerdp* instance);
typedef UINT32(FREERDP_CC* PREGISTEREXTENSION)(rdpExtPlugin* plugin);
typedef UINT32(FREERDP_CC* PREGISTERPRECONNECTHOOK)(rdpExtPlugin* plugin,
PFREERDP_EXTENSION_HOOK hook);
typedef UINT32(FREERDP_CC* PREGISTERPOSTCONNECTHOOK)(rdpExtPlugin* plugin,
PFREERDP_EXTENSION_HOOK hook);
typedef WINPR_ATTR_NODISCARD UINT32(FREERDP_CC* PREGISTEREXTENSION)(rdpExtPlugin* plugin);
typedef WINPR_ATTR_NODISCARD
UINT32(FREERDP_CC* PREGISTERPRECONNECTHOOK)(rdpExtPlugin* plugin, PFREERDP_EXTENSION_HOOK hook);
typedef WINPR_ATTR_NODISCARD
UINT32(FREERDP_CC* PREGISTERPOSTCONNECTHOOK)(rdpExtPlugin* plugin,
PFREERDP_EXTENSION_HOOK hook);
typedef struct
{
void* ext; /* Reference to internal instance */
PREGISTEREXTENSION pRegisterExtension;
PREGISTERPRECONNECTHOOK pRegisterPreConnectHook;
PREGISTERPOSTCONNECTHOOK pRegisterPostConnectHook;
WINPR_ATTR_NODISCARD PREGISTEREXTENSION pRegisterExtension;
WINPR_ATTR_NODISCARD PREGISTERPRECONNECTHOOK pRegisterPreConnectHook;
WINPR_ATTR_NODISCARD PREGISTERPOSTCONNECTHOOK pRegisterPostConnectHook;
void* data;
} FREERDP_EXTENSION_ENTRY_POINTS;
typedef FREERDP_EXTENSION_ENTRY_POINTS* PFREERDP_EXTENSION_ENTRY_POINTS;
typedef int(FREERDP_CC* PFREERDP_EXTENSION_ENTRY)(PFREERDP_EXTENSION_ENTRY_POINTS pEntryPoints);
typedef WINPR_ATTR_NODISCARD int(FREERDP_CC* PFREERDP_EXTENSION_ENTRY)(
PFREERDP_EXTENSION_ENTRY_POINTS pEntryPoints);
#ifdef __cplusplus
}

View File

@@ -477,7 +477,7 @@ owned by rdpRdp */
additional information after that.
*/
ALIGN64 pContextNew
ALIGN64 WINPR_ATTR_NODISCARD pContextNew
ContextNew; /**< (offset 33)
Callback for context allocation
Can be set before calling freerdp_context_new() to have it executed after
@@ -492,36 +492,37 @@ owned by rdpRdp */
ALIGN64 UINT ConnectionCallbackState; /* 47 */
ALIGN64 pConnectCallback
ALIGN64 WINPR_ATTR_NODISCARD pConnectCallback
PreConnect; /**< (offset 48)
Callback for pre-connect operations.
Can be set before calling freerdp_connect() to have it executed before the
actual connection happens. Must be set to NULL if not needed. */
ALIGN64 pConnectCallback
ALIGN64 WINPR_ATTR_NODISCARD pConnectCallback
PostConnect; /**< (offset 49)
Callback for post-connect operations.
Can be set before calling freerdp_connect() to have it executed after the
actual connection has succeeded. Must be set to NULL if not needed. */
ALIGN64 pAuthenticate Authenticate; /**< (offset 50)
ALIGN64 WINPR_ATTR_NODISCARD pAuthenticate Authenticate; /**< (offset 50)
Callback for authentication.
It is used to get the username/password when it was not
provided at connection time. */
#if defined(WITH_FREERDP_DEPRECATED)
WINPR_DEPRECATED_VAR("Use VerifyCertificateEx or VerifyX509Certificate instead",
ALIGN64 pVerifyCertificate VerifyCertificate;) /**< (offset 51) */
ALIGN64 WINPR_ATTR_NODISCARD pVerifyCertificate
VerifyCertificate;) /**< (offset 51) */
WINPR_DEPRECATED_VAR("Use VerifyChangedCertificateEx or VerifyX509Certificate instead",
ALIGN64 pVerifyChangedCertificate
ALIGN64 WINPR_ATTR_NODISCARD pVerifyChangedCertificate
VerifyChangedCertificate;) /**< (offset 52) */
#else
ALIGN64 UINT64 reserved[2];
#endif
ALIGN64 pVerifyX509Certificate
ALIGN64 WINPR_ATTR_NODISCARD pVerifyX509Certificate
VerifyX509Certificate; /**< (offset 53) Callback for X509 certificate verification
(PEM format) */
ALIGN64 pLogonErrorInfo
ALIGN64 WINPR_ATTR_NODISCARD pLogonErrorInfo
LogonErrorInfo; /**< (offset 54) Callback for logon error info, important for logon
system messages with RemoteApp */
@@ -534,22 +535,22 @@ owned by rdpRdp */
channels.
*/
ALIGN64 pAuthenticate GatewayAuthenticate; /**< (offset 56)
ALIGN64 WINPR_ATTR_NODISCARD pAuthenticate GatewayAuthenticate; /**< (offset 56)
Callback for gateway authentication.
It is used to get the username/password when it was not
provided at connection time. */
ALIGN64 pPresentGatewayMessage PresentGatewayMessage; /**< (offset 57)
ALIGN64 WINPR_ATTR_NODISCARD pPresentGatewayMessage PresentGatewayMessage; /**< (offset 57)
Callback for gateway consent messages.
It is used to present consent messages to the user. */
ALIGN64 pConnectCallback Redirect; /**< (offset 58)
ALIGN64 WINPR_ATTR_NODISCARD pConnectCallback Redirect; /**< (offset 58)
Callback for redirect operations.
Can be set after
rdp_client_disconnect_and_clear and applying redirection settings but before
rdp_client_connect() to have it executed after the actual connection has
succeeded. Must be set to NULL if not needed. */
ALIGN64 pConnectCallback
ALIGN64 WINPR_ATTR_NODISCARD pConnectCallback
LoadChannels; /**< (offset 59)
* callback for loading channel configuration. Might be called multiple
* times when redirection occurs. */
@@ -563,46 +564,47 @@ owned by rdpRdp */
*/
UINT64 paddingD[64 - 61]; /* 61 */
ALIGN64 pSendChannelData
ALIGN64 WINPR_ATTR_NODISCARD pSendChannelData
SendChannelData; /* (offset 64)
Callback for sending data to a channel.
By default, it is set by freerdp_new() to freerdp_send_channel_data(), which
eventually calls freerdp_channel_send() */
ALIGN64 pReceiveChannelData
ALIGN64 WINPR_ATTR_NODISCARD pReceiveChannelData
ReceiveChannelData; /* (offset 65)
Callback for receiving data from a channel.
This is called by freerdp_channel_process() (if not NULL).
Clients will typically use a function that calls freerdp_channels_data()
to perform the needed tasks. */
ALIGN64 pVerifyCertificateEx
ALIGN64 WINPR_ATTR_NODISCARD pVerifyCertificateEx
VerifyCertificateEx; /**< (offset 66)
Callback for certificate validation.
Used to verify that an unknown certificate is trusted. */
ALIGN64 pVerifyChangedCertificateEx
ALIGN64 WINPR_ATTR_NODISCARD pVerifyChangedCertificateEx
VerifyChangedCertificateEx; /**< (offset 67)
Callback for changed certificate validation.
Used when a certificate differs from stored fingerprint. */
ALIGN64 pSendChannelPacket
SendChannelPacket; /* (offset 68)
* Callback for sending RAW data to a channel. In contrast to
* SendChannelData data fragmentation is up to the user and this
* function sends data as is with the provided flags.
*/
ALIGN64 pAuthenticateEx AuthenticateEx; /**< (offset 69)
ALIGN64 WINPR_ATTR_NODISCARD pSendChannelPacket
SendChannelPacket; /* (offset 68)
* Callback for sending RAW data to a channel. In contrast to
* SendChannelData data fragmentation is up to the user and this
* function sends data as is with the provided flags.
*/
ALIGN64 WINPR_ATTR_NODISCARD pAuthenticateEx AuthenticateEx; /**< (offset 69)
Callback for authentication.
It is used to get the username/password. The reason
argument tells why it was called. */
ALIGN64 pChooseSmartcard
ChooseSmartcard; /* (offset 70)
Callback for choosing a smartcard for logon.
Used when multiple smartcards are available. Returns an index into a list
of SmartcardCertInfo pointers */
ALIGN64 pGetAccessToken GetAccessToken; /* (offset 71)
ALIGN64 WINPR_ATTR_NODISCARD pChooseSmartcard
ChooseSmartcard; /* (offset 70)
Callback for choosing a smartcard for logon.
Used when multiple smartcards are available. Returns an index into a list
of SmartcardCertInfo pointers */
ALIGN64 WINPR_ATTR_NODISCARD pGetAccessToken GetAccessToken; /* (offset 71)
Callback for obtaining an access token
for \b AccessTokenType authentication */
ALIGN64 pRetryDialog RetryDialog; /* (offset 72) Callback for displaying a dialog in case of
something needs a retry */
ALIGN64 WINPR_ATTR_NODISCARD pRetryDialog
RetryDialog; /* (offset 72) Callback for displaying a dialog in case of
something needs a retry */
UINT64 paddingE[80 - 73]; /* 73 */
};

View File

@@ -47,11 +47,11 @@ extern "C"
struct rdp_bitmap
{
size_t size; /* 0 */
pBitmap_New New; /* 1 */
pBitmap_Free Free; /* 2 */
pBitmap_Paint Paint; /* 3 */
pBitmap_Decompress Decompress; /* 4 */
pBitmap_SetSurface SetSurface; /* 5 */
WINPR_ATTR_NODISCARD pBitmap_New New; /* 1 */
pBitmap_Free Free; /* 2 */
WINPR_ATTR_NODISCARD pBitmap_Paint Paint; /* 3 */
WINPR_ATTR_NODISCARD pBitmap_Decompress Decompress; /* 4 */
WINPR_ATTR_NODISCARD pBitmap_SetSurface SetSurface; /* 5 */
UINT32 paddingA[16 - 6]; /* 6 */
UINT32 left; /* 16 */
@@ -89,12 +89,12 @@ extern "C"
struct rdp_pointer
{
size_t size; /* 0 */
pPointer_New New; /* 1 */
WINPR_ATTR_NODISCARD pPointer_New New; /* 1 */
pPointer_Free Free; /* 2 */
pPointer_Set Set; /* 3 */
pPointer_SetNull SetNull; /* 4*/
pPointer_SetDefault SetDefault; /* 5 */
pPointer_SetPosition SetPosition; /* 6 */
WINPR_ATTR_NODISCARD pPointer_Set Set; /* 3 */
WINPR_ATTR_NODISCARD pPointer_SetNull SetNull; /* 4*/
WINPR_ATTR_NODISCARD pPointer_SetDefault SetDefault; /* 5 */
WINPR_ATTR_NODISCARD pPointer_SetPosition SetPosition; /* 6 */
UINT32 paddingA[16 - 7]; /* 7 */
UINT32 xPos; /* 16 */
@@ -127,12 +127,12 @@ extern "C"
struct rdp_glyph
{
size_t size; /* 0 */
pGlyph_New New; /* 1 */
WINPR_ATTR_NODISCARD pGlyph_New New; /* 1 */
pGlyph_Free Free; /* 2 */
pGlyph_Draw Draw; /* 3 */
pGlyph_BeginDraw BeginDraw; /* 4 */
pGlyph_EndDraw EndDraw; /* 5 */
pGlyph_SetBounds SetBounds; /* 6 */
WINPR_ATTR_NODISCARD pGlyph_Draw Draw; /* 3 */
WINPR_ATTR_NODISCARD pGlyph_BeginDraw BeginDraw; /* 4 */
WINPR_ATTR_NODISCARD pGlyph_EndDraw EndDraw; /* 5 */
WINPR_ATTR_NODISCARD pGlyph_SetBounds SetBounds; /* 6 */
UINT32 paddingA[16 - 7]; /* 7 */
INT32 x; /* 16 */

View File

@@ -34,7 +34,7 @@ extern "C"
struct rdp_heartbeat
{
pServerHeartbeat ServerHeartbeat;
WINPR_ATTR_NODISCARD pServerHeartbeat ServerHeartbeat;
};
FREERDP_API BOOL freerdp_heartbeat_send_heartbeat_pdu(freerdp_peer* peer, BYTE period,

View File

@@ -90,15 +90,15 @@ extern "C"
void* param1; /* 1 */
UINT32 paddingA[16 - 2]; /* 2 */
pSynchronizeEvent SynchronizeEvent; /* 16 */
pKeyboardEvent KeyboardEvent; /* 17 */
pUnicodeKeyboardEvent UnicodeKeyboardEvent; /* 18 */
pMouseEvent MouseEvent; /* 19 */
pExtendedMouseEvent ExtendedMouseEvent; /* 20 */
pFocusInEvent FocusInEvent; /*21 */
pKeyboardPauseEvent KeyboardPauseEvent; /* 22 */
pRelMouseEvent RelMouseEvent; /* 23 */
pQoEEvent QoEEvent; /* 24 */
WINPR_ATTR_NODISCARD pSynchronizeEvent SynchronizeEvent; /* 16 */
WINPR_ATTR_NODISCARD pKeyboardEvent KeyboardEvent; /* 17 */
WINPR_ATTR_NODISCARD pUnicodeKeyboardEvent UnicodeKeyboardEvent; /* 18 */
WINPR_ATTR_NODISCARD pMouseEvent MouseEvent; /* 19 */
WINPR_ATTR_NODISCARD pExtendedMouseEvent ExtendedMouseEvent; /* 20 */
WINPR_ATTR_NODISCARD pFocusInEvent FocusInEvent; /*21 */
WINPR_ATTR_NODISCARD pKeyboardPauseEvent KeyboardPauseEvent; /* 22 */
WINPR_ATTR_NODISCARD pRelMouseEvent RelMouseEvent; /* 23 */
WINPR_ATTR_NODISCARD pQoEEvent QoEEvent; /* 24 */
UINT32 paddingB[32 - 25]; /* 25 */
};

View File

@@ -56,22 +56,22 @@ extern "C"
void* param3;
void* param4;
psListenerOpen Open;
psListenerOpenLocal OpenLocal;
WINPR_ATTR_NODISCARD psListenerOpen Open;
WINPR_ATTR_NODISCARD psListenerOpenLocal OpenLocal;
#if defined(WITH_FREERDP_DEPRECATED)
WINPR_DEPRECATED_VAR("Use rdp_freerdp_listener::GetEventHandles instead",
psListenerGetFileDescriptor GetFileDescriptor;)
WINPR_ATTR_NODISCARD psListenerGetFileDescriptor GetFileDescriptor;)
#else
void* reserved;
#endif
psListenerGetEventHandles GetEventHandles;
psListenerCheckFileDescriptor CheckFileDescriptor;
WINPR_ATTR_NODISCARD psListenerGetEventHandles GetEventHandles;
WINPR_ATTR_NODISCARD psListenerCheckFileDescriptor CheckFileDescriptor;
psListenerClose Close;
psPeerAccepted PeerAccepted;
psListenerOpenFromSocket OpenFromSocket;
WINPR_ATTR_NODISCARD psPeerAccepted PeerAccepted;
WINPR_ATTR_NODISCARD psListenerOpenFromSocket OpenFromSocket;
psListenerCheckFileDescriptor CheckPeerAcceptRestrictions;
WINPR_ATTR_NODISCARD psListenerCheckFileDescriptor CheckPeerAcceptRestrictions;
};
FREERDP_API void freerdp_listener_free(freerdp_listener* instance);

View File

@@ -140,38 +140,39 @@ extern "C"
ALIGN64 void* ContextExtra;
ALIGN64 size_t ContextSize;
ALIGN64 psPeerContextNew ContextNew;
ALIGN64 WINPR_ATTR_NODISCARD psPeerContextNew ContextNew;
ALIGN64 psPeerContextFree ContextFree;
ALIGN64 psPeerInitialize Initialize;
ALIGN64 WINPR_ATTR_NODISCARD psPeerInitialize Initialize;
#if defined(WITH_FREERDP_DEPRECATED)
WINPR_DEPRECATED_VAR("Use freerdp_peer::GetEventHandle instead",
ALIGN64 psPeerGetFileDescriptor GetFileDescriptor;)
ALIGN64 WINPR_ATTR_NODISCARD psPeerGetFileDescriptor
GetFileDescriptor;)
#else
UINT64 reserved;
#endif
ALIGN64 psPeerGetEventHandle GetEventHandle;
ALIGN64 psPeerGetReceiveEventHandle GetReceiveEventHandle;
ALIGN64 psPeerCheckFileDescriptor CheckFileDescriptor;
ALIGN64 WINPR_ATTR_NODISCARD psPeerGetEventHandle GetEventHandle;
ALIGN64 WINPR_ATTR_NODISCARD psPeerGetReceiveEventHandle GetReceiveEventHandle;
ALIGN64 WINPR_ATTR_NODISCARD psPeerCheckFileDescriptor CheckFileDescriptor;
ALIGN64 psPeerClose Close;
ALIGN64 psPeerDisconnect Disconnect;
ALIGN64 psPeerCapabilities Capabilities;
ALIGN64 psPeerPostConnect PostConnect;
ALIGN64 psPeerActivate Activate;
ALIGN64 psPeerLogon Logon;
ALIGN64 WINPR_ATTR_NODISCARD psPeerCapabilities Capabilities;
ALIGN64 WINPR_ATTR_NODISCARD psPeerPostConnect PostConnect;
ALIGN64 WINPR_ATTR_NODISCARD psPeerActivate Activate;
ALIGN64 WINPR_ATTR_NODISCARD psPeerLogon Logon;
ALIGN64 psPeerSendServerRedirection SendServerRedirection;
ALIGN64 WINPR_ATTR_NODISCARD psPeerSendServerRedirection SendServerRedirection;
ALIGN64 psPeerSendChannelData SendChannelData;
ALIGN64 psPeerReceiveChannelData ReceiveChannelData;
ALIGN64 WINPR_ATTR_NODISCARD psPeerSendChannelData SendChannelData;
ALIGN64 WINPR_ATTR_NODISCARD psPeerReceiveChannelData ReceiveChannelData;
ALIGN64 psPeerVirtualChannelOpen VirtualChannelOpen;
ALIGN64 psPeerVirtualChannelClose VirtualChannelClose;
ALIGN64 psPeerVirtualChannelRead VirtualChannelRead;
ALIGN64 psPeerVirtualChannelWrite VirtualChannelWrite;
ALIGN64 psPeerVirtualChannelGetData VirtualChannelGetData;
ALIGN64 psPeerVirtualChannelSetData VirtualChannelSetData;
ALIGN64 WINPR_ATTR_NODISCARD psPeerVirtualChannelOpen VirtualChannelOpen;
ALIGN64 WINPR_ATTR_NODISCARD psPeerVirtualChannelClose VirtualChannelClose;
ALIGN64 WINPR_ATTR_NODISCARD psPeerVirtualChannelRead VirtualChannelRead;
ALIGN64 WINPR_ATTR_NODISCARD psPeerVirtualChannelWrite VirtualChannelWrite;
ALIGN64 WINPR_ATTR_NODISCARD psPeerVirtualChannelGetData VirtualChannelGetData;
ALIGN64 WINPR_ATTR_NODISCARD psPeerVirtualChannelSetData VirtualChannelSetData;
ALIGN64 int pId;
ALIGN64 UINT32 ack_frame_id;
@@ -181,21 +182,21 @@ extern "C"
ALIGN64 BOOL authenticated;
ALIGN64 SEC_WINNT_AUTH_IDENTITY identity;
ALIGN64 psPeerIsWriteBlocked IsWriteBlocked;
ALIGN64 psPeerDrainOutputBuffer DrainOutputBuffer;
ALIGN64 psPeerHasMoreToRead HasMoreToRead;
ALIGN64 psPeerGetEventHandles GetEventHandles;
ALIGN64 psPeerAdjustMonitorsLayout AdjustMonitorsLayout;
ALIGN64 psPeerClientCapabilities ClientCapabilities;
ALIGN64 WINPR_ATTR_NODISCARD psPeerIsWriteBlocked IsWriteBlocked;
ALIGN64 WINPR_ATTR_NODISCARD psPeerDrainOutputBuffer DrainOutputBuffer;
ALIGN64 WINPR_ATTR_NODISCARD psPeerHasMoreToRead HasMoreToRead;
ALIGN64 WINPR_ATTR_NODISCARD psPeerGetEventHandles GetEventHandles;
ALIGN64 WINPR_ATTR_NODISCARD psPeerAdjustMonitorsLayout AdjustMonitorsLayout;
ALIGN64 WINPR_ATTR_NODISCARD psPeerClientCapabilities ClientCapabilities;
#if defined(WITH_FREERDP_DEPRECATED)
WINPR_DEPRECATED_VAR("Use freerdp_peer::SspiNtlmHashCallback instead",
ALIGN64 psPeerComputeNtlmHash ComputeNtlmHash;)
ALIGN64 WINPR_ATTR_NODISCARD psPeerComputeNtlmHash ComputeNtlmHash;)
#else
UINT64 reserved2;
#endif
ALIGN64 psPeerLicenseCallback LicenseCallback;
ALIGN64 WINPR_ATTR_NODISCARD psPeerLicenseCallback LicenseCallback;
ALIGN64 psPeerSendChannelPacket SendChannelPacket;
ALIGN64 WINPR_ATTR_NODISCARD psPeerSendChannelPacket SendChannelPacket;
/**
* @brief SetState Function pointer allowing to manually set the state of the
@@ -207,15 +208,15 @@ extern "C"
*
* \note Must be called after \b Initialize as that also modifies the state.
*/
ALIGN64 psPeerSetState SetState;
ALIGN64 psPeerReachedState ReachedState;
ALIGN64 psSspiNtlmHashCallback SspiNtlmHashCallback;
ALIGN64 WINPR_ATTR_NODISCARD psPeerSetState SetState;
ALIGN64 WINPR_ATTR_NODISCARD psPeerReachedState ReachedState;
ALIGN64 WINPR_ATTR_NODISCARD psSspiNtlmHashCallback SspiNtlmHashCallback;
/**
* @brief RemoteCredentials Function pointer that will be called when remote
* credentials guard are used by the peer and we receive the logonCreds (kerberos)
* and supplementary creds (NTLM).
*/
ALIGN64 psPeerRemoteCredentials RemoteCredentials;
ALIGN64 WINPR_ATTR_NODISCARD psPeerRemoteCredentials RemoteCredentials;
};
FREERDP_API void freerdp_peer_context_free(freerdp_peer* client);

View File

@@ -101,12 +101,12 @@ extern "C"
rdpContext* context; /* 0 */
UINT32 paddingA[16 - 1]; /* 1 */
pPointerPosition PointerPosition; /* 16 */
pPointerSystem PointerSystem; /* 17 */
pPointerColor PointerColor; /* 18 */
pPointerNew PointerNew; /* 19 */
pPointerCached PointerCached; /* 20 */
pPointerLarge PointerLarge; /* 21 */
WINPR_ATTR_NODISCARD pPointerPosition PointerPosition; /* 16 */
WINPR_ATTR_NODISCARD pPointerSystem PointerSystem; /* 17 */
WINPR_ATTR_NODISCARD pPointerColor PointerColor; /* 18 */
WINPR_ATTR_NODISCARD pPointerNew PointerNew; /* 19 */
WINPR_ATTR_NODISCARD pPointerCached PointerCached; /* 20 */
WINPR_ATTR_NODISCARD pPointerLarge PointerLarge; /* 21 */
UINT32 paddingB[32 - 22]; /* 22 */
};
typedef struct rdp_pointer_update rdpPointerUpdate;

View File

@@ -423,9 +423,9 @@ typedef BOOL (*pMultiDstBlt)(rdpContext* context, const MULTI_DSTBLT_ORDER* mult
typedef BOOL (*pMultiPatBlt)(rdpContext* context, const MULTI_PATBLT_ORDER* multi_patblt);
typedef BOOL (*pMultiScrBlt)(rdpContext* context, const MULTI_SCRBLT_ORDER* multi_scrblt);
typedef BOOL (*pMultiOpaqueRect)(rdpContext* context,
const MULTI_OPAQUE_RECT_ORDER* multi_opaque_rect);
const MULTI_OPAQUE_RECT_ORDER* multi_opaque_rect);
typedef BOOL (*pMultiDrawNineGrid)(rdpContext* context,
const MULTI_DRAW_NINE_GRID_ORDER* multi_draw_nine_grid);
const MULTI_DRAW_NINE_GRID_ORDER* multi_draw_nine_grid);
typedef BOOL (*pLineTo)(rdpContext* context, const LINE_TO_ORDER* line_to);
typedef BOOL (*pPolyline)(rdpContext* context, const POLYLINE_ORDER* polyline);
typedef BOOL (*pMemBlt)(rdpContext* context, MEMBLT_ORDER* memblt);
@@ -439,37 +439,37 @@ typedef BOOL (*pPolygonCB)(rdpContext* context, POLYGON_CB_ORDER* polygon_cb);
typedef BOOL (*pEllipseSC)(rdpContext* context, const ELLIPSE_SC_ORDER* ellipse_sc);
typedef BOOL (*pEllipseCB)(rdpContext* context, const ELLIPSE_CB_ORDER* ellipse_cb);
typedef BOOL (*pOrderInfo)(rdpContext* context, const ORDER_INFO* order_info,
const char* order_name);
const char* order_name);
struct rdp_primary_update
{
rdpContext* context; /* 0 */
UINT32 paddingA[16 - 1]; /* 1 */
pDstBlt DstBlt; /* 16 */
pPatBlt PatBlt; /* 17 */
pScrBlt ScrBlt; /* 18 */
pOpaqueRect OpaqueRect; /* 19 */
pDrawNineGrid DrawNineGrid; /* 20 */
pMultiDstBlt MultiDstBlt; /* 21 */
pMultiPatBlt MultiPatBlt; /* 22 */
pMultiScrBlt MultiScrBlt; /* 23 */
pMultiOpaqueRect MultiOpaqueRect; /* 24 */
pMultiDrawNineGrid MultiDrawNineGrid; /* 25 */
pLineTo LineTo; /* 26 */
pPolyline Polyline; /* 27 */
pMemBlt MemBlt; /* 28 */
pMem3Blt Mem3Blt; /* 29 */
pSaveBitmap SaveBitmap; /* 30 */
pGlyphIndex GlyphIndex; /* 31 */
pFastIndex FastIndex; /* 32 */
pFastGlyph FastGlyph; /* 33 */
pPolygonSC PolygonSC; /* 34 */
pPolygonCB PolygonCB; /* 35 */
pEllipseSC EllipseSC; /* 36 */
pEllipseCB EllipseCB; /* 37 */
/* Statistics callback */
pOrderInfo OrderInfo; /* 38 */
WINPR_ATTR_NODISCARD pDstBlt DstBlt; /* 16 */
WINPR_ATTR_NODISCARD pPatBlt PatBlt; /* 17 */
WINPR_ATTR_NODISCARD pScrBlt ScrBlt; /* 18 */
WINPR_ATTR_NODISCARD pOpaqueRect OpaqueRect; /* 19 */
WINPR_ATTR_NODISCARD pDrawNineGrid DrawNineGrid; /* 20 */
WINPR_ATTR_NODISCARD pMultiDstBlt MultiDstBlt; /* 21 */
WINPR_ATTR_NODISCARD pMultiPatBlt MultiPatBlt; /* 22 */
WINPR_ATTR_NODISCARD pMultiScrBlt MultiScrBlt; /* 23 */
WINPR_ATTR_NODISCARD pMultiOpaqueRect MultiOpaqueRect; /* 24 */
WINPR_ATTR_NODISCARD pMultiDrawNineGrid MultiDrawNineGrid; /* 25 */
WINPR_ATTR_NODISCARD pLineTo LineTo; /* 26 */
WINPR_ATTR_NODISCARD pPolyline Polyline; /* 27 */
WINPR_ATTR_NODISCARD pMemBlt MemBlt; /* 28 */
WINPR_ATTR_NODISCARD pMem3Blt Mem3Blt; /* 29 */
WINPR_ATTR_NODISCARD pSaveBitmap SaveBitmap; /* 30 */
WINPR_ATTR_NODISCARD pGlyphIndex GlyphIndex; /* 31 */
WINPR_ATTR_NODISCARD pFastIndex FastIndex; /* 32 */
WINPR_ATTR_NODISCARD pFastGlyph FastGlyph; /* 33 */
WINPR_ATTR_NODISCARD pPolygonSC PolygonSC; /* 34 */
WINPR_ATTR_NODISCARD pPolygonCB PolygonCB; /* 35 */
WINPR_ATTR_NODISCARD pEllipseSC EllipseSC; /* 36 */
WINPR_ATTR_NODISCARD pEllipseCB EllipseCB; /* 37 */
/* Statistics callback */
WINPR_ATTR_NODISCARD pOrderInfo OrderInfo; /* 38 */
UINT32 paddingB[48 - 39]; /* 39 */
};
typedef struct rdp_primary_update rdpPrimaryUpdate;

View File

@@ -254,44 +254,44 @@ typedef fn_orC_32u_t __orC_32u_t;
typedef struct
{
/* Memory-to-memory copy routines */
fn_copy_t copy; /* memcpy/memmove, basically */
fn_copy_8u_t copy_8u; /* more strongly typed */
fn_copy_8u_AC4r_t copy_8u_AC4r; /* pixel copy function */
/* Memory setting routines */
fn_set_8u_t set_8u; /* memset, basically */
fn_set_32s_t set_32s;
fn_set_32u_t set_32u;
fn_zero_t zero; /* bzero or faster */
/* Arithmetic functions */
fn_add_16s_t add_16s;
WINPR_ATTR_NODISCARD fn_copy_t copy; /* memcpy/memmove, basically */
WINPR_ATTR_NODISCARD fn_copy_8u_t copy_8u; /* more strongly typed */
WINPR_ATTR_NODISCARD fn_copy_8u_AC4r_t copy_8u_AC4r; /* pixel copy function */
/* Memory setting routines */
WINPR_ATTR_NODISCARD fn_set_8u_t set_8u; /* memset, basically */
WINPR_ATTR_NODISCARD fn_set_32s_t set_32s;
WINPR_ATTR_NODISCARD fn_set_32u_t set_32u;
WINPR_ATTR_NODISCARD fn_zero_t zero; /* bzero or faster */
/* Arithmetic functions */
WINPR_ATTR_NODISCARD fn_add_16s_t add_16s;
/* And/or */
fn_andC_32u_t andC_32u;
fn_orC_32u_t orC_32u;
WINPR_ATTR_NODISCARD fn_andC_32u_t andC_32u;
WINPR_ATTR_NODISCARD fn_orC_32u_t orC_32u;
/* Shifts */
fn_lShiftC_16s_t lShiftC_16s;
fn_lShiftC_16u_t lShiftC_16u;
fn_rShiftC_16s_t rShiftC_16s;
fn_rShiftC_16u_t rShiftC_16u;
fn_shiftC_16s_t shiftC_16s;
fn_shiftC_16u_t shiftC_16u;
WINPR_ATTR_NODISCARD fn_lShiftC_16s_t lShiftC_16s;
WINPR_ATTR_NODISCARD fn_lShiftC_16u_t lShiftC_16u;
WINPR_ATTR_NODISCARD fn_rShiftC_16s_t rShiftC_16s;
WINPR_ATTR_NODISCARD fn_rShiftC_16u_t rShiftC_16u;
WINPR_ATTR_NODISCARD fn_shiftC_16s_t shiftC_16s;
WINPR_ATTR_NODISCARD fn_shiftC_16u_t shiftC_16u;
/* Alpha Composition */
fn_alphaComp_argb_t alphaComp_argb;
WINPR_ATTR_NODISCARD fn_alphaComp_argb_t alphaComp_argb;
/* Sign */
fn_sign_16s_t sign_16s;
WINPR_ATTR_NODISCARD fn_sign_16s_t sign_16s;
/* Color conversions */
fn_yCbCrToRGB_16s8u_P3AC4R_t yCbCrToRGB_16s8u_P3AC4R;
fn_yCbCrToRGB_16s16s_P3P3_t yCbCrToRGB_16s16s_P3P3;
fn_RGBToYCbCr_16s16s_P3P3_t RGBToYCbCr_16s16s_P3P3;
fn_RGBToRGB_16s8u_P3AC4R_t RGBToRGB_16s8u_P3AC4R;
fn_YCoCgToRGB_8u_AC4R_t YCoCgToRGB_8u_AC4R;
fn_YUV420ToRGB_8u_P3AC4R_t YUV420ToRGB_8u_P3AC4R;
fn_RGBToYUV420_8u_P3AC4R_t RGBToYUV420_8u_P3AC4R;
fn_RGBToYUV444_8u_P3AC4R_t RGBToYUV444_8u_P3AC4R;
fn_YUV420CombineToYUV444_t YUV420CombineToYUV444;
fn_YUV444SplitToYUV420_t YUV444SplitToYUV420;
fn_YUV444ToRGB_8u_P3AC4R_t YUV444ToRGB_8u_P3AC4R;
fn_RGBToAVC444YUV_t RGBToAVC444YUV;
fn_RGBToAVC444YUV_t RGBToAVC444YUVv2;
WINPR_ATTR_NODISCARD fn_yCbCrToRGB_16s8u_P3AC4R_t yCbCrToRGB_16s8u_P3AC4R;
WINPR_ATTR_NODISCARD fn_yCbCrToRGB_16s16s_P3P3_t yCbCrToRGB_16s16s_P3P3;
WINPR_ATTR_NODISCARD fn_RGBToYCbCr_16s16s_P3P3_t RGBToYCbCr_16s16s_P3P3;
WINPR_ATTR_NODISCARD fn_RGBToRGB_16s8u_P3AC4R_t RGBToRGB_16s8u_P3AC4R;
WINPR_ATTR_NODISCARD fn_YCoCgToRGB_8u_AC4R_t YCoCgToRGB_8u_AC4R;
WINPR_ATTR_NODISCARD fn_YUV420ToRGB_8u_P3AC4R_t YUV420ToRGB_8u_P3AC4R;
WINPR_ATTR_NODISCARD fn_RGBToYUV420_8u_P3AC4R_t RGBToYUV420_8u_P3AC4R;
WINPR_ATTR_NODISCARD fn_RGBToYUV444_8u_P3AC4R_t RGBToYUV444_8u_P3AC4R;
WINPR_ATTR_NODISCARD fn_YUV420CombineToYUV444_t YUV420CombineToYUV444;
WINPR_ATTR_NODISCARD fn_YUV444SplitToYUV420_t YUV444SplitToYUV420;
WINPR_ATTR_NODISCARD fn_YUV444ToRGB_8u_P3AC4R_t YUV444ToRGB_8u_P3AC4R;
WINPR_ATTR_NODISCARD fn_RGBToAVC444YUV_t RGBToAVC444YUV;
WINPR_ATTR_NODISCARD fn_RGBToAVC444YUV_t RGBToAVC444YUVv2;
/* flags */
DWORD flags;
primitives_uninit_t uninit;
@@ -299,9 +299,9 @@ typedef struct
/** \brief Do vecotor addition, store result in both input buffers
* pSrcDst1 = pSrcDst2 = pSrcDst1 + pSrcDst2
*/
fn_add_16s_inplace_t add_16s_inplace; /** @since version 3.6.0 */
fn_lShiftC_16s_inplace_t lShiftC_16s_inplace; /** @since version 3.6.0 */
fn_copy_no_overlap_t copy_no_overlap; /** @since version 3.6.0 */
WINPR_ATTR_NODISCARD fn_add_16s_inplace_t add_16s_inplace; /** @since version 3.6.0 */
WINPR_ATTR_NODISCARD fn_lShiftC_16s_inplace_t lShiftC_16s_inplace; /** @since version 3.6.0 */
WINPR_ATTR_NODISCARD fn_copy_no_overlap_t copy_no_overlap; /** @since version 3.6.0 */
} primitives_t;
typedef enum

View File

@@ -164,28 +164,28 @@ typedef BOOL (*pCacheBitmap)(rdpContext* context, const CACHE_BITMAP_ORDER* cach
typedef BOOL (*pCacheBitmapV2)(rdpContext* context, CACHE_BITMAP_V2_ORDER* cache_bitmap_v2_order);
typedef BOOL (*pCacheBitmapV3)(rdpContext* context, CACHE_BITMAP_V3_ORDER* cache_bitmap_v3_order);
typedef BOOL (*pCacheColorTable)(rdpContext* context,
const CACHE_COLOR_TABLE_ORDER* cache_color_table_order);
const CACHE_COLOR_TABLE_ORDER* cache_color_table_order);
typedef BOOL (*pCacheGlyph)(rdpContext* context, const CACHE_GLYPH_ORDER* cache_glyph_order);
typedef BOOL (*pCacheGlyphV2)(rdpContext* context,
const CACHE_GLYPH_V2_ORDER* cache_glyph_v2_order);
const CACHE_GLYPH_V2_ORDER* cache_glyph_v2_order);
typedef BOOL (*pCacheBrush)(rdpContext* context, const CACHE_BRUSH_ORDER* cache_brush_order);
typedef BOOL (*pCacheOrderInfo)(rdpContext* context, INT16 orderLength, UINT16 extraFlags,
UINT8 orderType, const char* orderName);
UINT8 orderType, const char* orderName);
struct rdp_secondary_update
{
rdpContext* context; /* 0 */
UINT32 paddingA[16 - 1]; /* 1 */
pCacheBitmap CacheBitmap; /* 16 */
pCacheBitmapV2 CacheBitmapV2; /* 17 */
pCacheBitmapV3 CacheBitmapV3; /* 18 */
pCacheColorTable CacheColorTable; /* 19 */
pCacheGlyph CacheGlyph; /* 20 */
pCacheGlyphV2 CacheGlyphV2; /* 21 */
pCacheBrush CacheBrush; /* 22 */
/* Statistics callback */
pCacheOrderInfo CacheOrderInfo; /* 23 */
WINPR_ATTR_NODISCARD pCacheBitmap CacheBitmap; /* 16 */
WINPR_ATTR_NODISCARD pCacheBitmapV2 CacheBitmapV2; /* 17 */
WINPR_ATTR_NODISCARD pCacheBitmapV3 CacheBitmapV3; /* 18 */
WINPR_ATTR_NODISCARD pCacheColorTable CacheColorTable; /* 19 */
WINPR_ATTR_NODISCARD pCacheGlyph CacheGlyph; /* 20 */
WINPR_ATTR_NODISCARD pCacheGlyphV2 CacheGlyphV2; /* 21 */
WINPR_ATTR_NODISCARD pCacheBrush CacheBrush; /* 22 */
/* Statistics callback */
WINPR_ATTR_NODISCARD pCacheOrderInfo CacheOrderInfo; /* 23 */
UINT32 paddingE[32 - 24]; /* 24 */
};
typedef struct rdp_secondary_update rdpSecondaryUpdate;

View File

@@ -65,7 +65,7 @@ extern "C"
/**
* Open the ainput channel.
*/
psAInputServerOpen Open;
WINPR_ATTR_NODISCARD psAInputServerOpen Open;
/**
* Optional: Set thread handling.
@@ -74,42 +74,42 @@ extern "C"
*
* Defaults to externalThread=FALSE
*/
psAInputServerInitialize Initialize;
WINPR_ATTR_NODISCARD psAInputServerInitialize Initialize;
/**
* @brief Poll When externalThread=TRUE call periodically from your main loop.
* if externalThread=FALSE do not call.
*/
psAInputServerPoll Poll;
WINPR_ATTR_NODISCARD psAInputServerPoll Poll;
/**
* @brief Poll When externalThread=TRUE call to get a handle to wait for events.
* Will return FALSE until the handle is available.
*/
psAInputServerChannelHandle ChannelHandle;
WINPR_ATTR_NODISCARD psAInputServerChannelHandle ChannelHandle;
/**
* Close the ainput channel.
*/
psAInputServerClose Close;
WINPR_ATTR_NODISCARD psAInputServerClose Close;
/**
* Status of the ainput channel.
*/
psAInputServerIsOpen IsOpen;
WINPR_ATTR_NODISCARD psAInputServerIsOpen IsOpen;
/*** Callbacks registered by the server. ***/
/**
* Receive ainput mouse event PDU.
*/
psAInputServerMouseEvent MouseEvent;
WINPR_ATTR_NODISCARD psAInputServerMouseEvent MouseEvent;
rdpContext* rdpcontext;
/**
* Callback, when the channel got its id assigned.
*/
psAInputChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psAInputChannelIdAssigned ChannelIdAssigned;
};
FREERDP_API void ainput_server_context_free(ainput_server_context* context);

View File

@@ -76,17 +76,17 @@ extern "C"
/**
* Open the audio input channel.
*/
psAudinServerChannelOpen Open;
WINPR_ATTR_NODISCARD psAudinServerChannelOpen Open;
/**
* Check, whether the audio input channel thread was created
*/
psAudinServerChannelIsOpen IsOpen;
WINPR_ATTR_NODISCARD psAudinServerChannelIsOpen IsOpen;
/**
* Close the audio input channel.
*/
psAudinServerChannelClose Close;
WINPR_ATTR_NODISCARD psAudinServerChannelClose Close;
/**
* For the following server to client PDUs,
@@ -96,59 +96,59 @@ extern "C"
/**
* Send a Version PDU.
*/
psAudinServerVersion SendVersion;
WINPR_ATTR_NODISCARD psAudinServerVersion SendVersion;
/**
* Send a Sound Formats PDU.
*/
psAudinServerFormats SendFormats;
WINPR_ATTR_NODISCARD psAudinServerFormats SendFormats;
/**
* Send an Open PDU.
*/
psAudinServerOpen SendOpen;
WINPR_ATTR_NODISCARD psAudinServerOpen SendOpen;
/**
* Send a Format Change PDU.
*/
psAudinServerFormatChange SendFormatChange;
WINPR_ATTR_NODISCARD psAudinServerFormatChange SendFormatChange;
/*** Callbacks registered by the server. ***/
/**
* Callback, when the channel got its id assigned.
*/
psAudinServerChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psAudinServerChannelIdAssigned ChannelIdAssigned;
/*
* Callback for the Version PDU.
*/
psAudinServerVersion ReceiveVersion;
WINPR_ATTR_NODISCARD psAudinServerVersion ReceiveVersion;
/*
* Callback for the Sound Formats PDU.
*/
psAudinServerFormats ReceiveFormats;
WINPR_ATTR_NODISCARD psAudinServerFormats ReceiveFormats;
/*
* Callback for the Open Reply PDU.
*/
psAudinServerOpenReply OpenReply;
WINPR_ATTR_NODISCARD psAudinServerOpenReply OpenReply;
/*
* Callback for the Incoming Data PDU.
*/
psAudinServerIncomingData IncomingData;
WINPR_ATTR_NODISCARD psAudinServerIncomingData IncomingData;
/*
* Callback for the Data PDU.
*/
psAudinServerData Data;
WINPR_ATTR_NODISCARD psAudinServerData Data;
/*
* Callback for the Format Change PDU.
*/
psAudinServerFormatChange ReceiveFormatChange;
WINPR_ATTR_NODISCARD psAudinServerFormatChange ReceiveFormatChange;
rdpContext* rdpcontext;
};

View File

@@ -100,33 +100,33 @@ extern "C"
BOOL fileClipNoFilePaths;
BOOL canLockClipData;
psCliprdrOpen Open;
WINPR_ATTR_NODISCARD psCliprdrOpen Open;
psCliprdrClose Close;
psCliprdrStart Start;
WINPR_ATTR_NODISCARD psCliprdrStart Start;
psCliprdrStop Stop;
psCliprdrGetEventHandle GetEventHandle;
psCliprdrCheckEventHandle CheckEventHandle;
WINPR_ATTR_NODISCARD psCliprdrGetEventHandle GetEventHandle;
WINPR_ATTR_NODISCARD psCliprdrCheckEventHandle CheckEventHandle;
psCliprdrServerCapabilities ServerCapabilities;
psCliprdrClientCapabilities ClientCapabilities;
psCliprdrMonitorReady MonitorReady;
psCliprdrTempDirectory TempDirectory;
psCliprdrClientFormatList ClientFormatList;
psCliprdrServerFormatList ServerFormatList;
psCliprdrClientFormatListResponse ClientFormatListResponse;
psCliprdrServerFormatListResponse ServerFormatListResponse;
psCliprdrClientLockClipboardData ClientLockClipboardData;
psCliprdrServerLockClipboardData ServerLockClipboardData;
psCliprdrClientUnlockClipboardData ClientUnlockClipboardData;
psCliprdrServerUnlockClipboardData ServerUnlockClipboardData;
psCliprdrClientFormatDataRequest ClientFormatDataRequest;
psCliprdrServerFormatDataRequest ServerFormatDataRequest;
psCliprdrClientFormatDataResponse ClientFormatDataResponse;
psCliprdrServerFormatDataResponse ServerFormatDataResponse;
psCliprdrClientFileContentsRequest ClientFileContentsRequest;
psCliprdrServerFileContentsRequest ServerFileContentsRequest;
psCliprdrClientFileContentsResponse ClientFileContentsResponse;
psCliprdrServerFileContentsResponse ServerFileContentsResponse;
WINPR_ATTR_NODISCARD psCliprdrServerCapabilities ServerCapabilities;
WINPR_ATTR_NODISCARD psCliprdrClientCapabilities ClientCapabilities;
WINPR_ATTR_NODISCARD psCliprdrMonitorReady MonitorReady;
WINPR_ATTR_NODISCARD psCliprdrTempDirectory TempDirectory;
WINPR_ATTR_NODISCARD psCliprdrClientFormatList ClientFormatList;
WINPR_ATTR_NODISCARD psCliprdrServerFormatList ServerFormatList;
WINPR_ATTR_NODISCARD psCliprdrClientFormatListResponse ClientFormatListResponse;
WINPR_ATTR_NODISCARD psCliprdrServerFormatListResponse ServerFormatListResponse;
WINPR_ATTR_NODISCARD psCliprdrClientLockClipboardData ClientLockClipboardData;
WINPR_ATTR_NODISCARD psCliprdrServerLockClipboardData ServerLockClipboardData;
WINPR_ATTR_NODISCARD psCliprdrClientUnlockClipboardData ClientUnlockClipboardData;
WINPR_ATTR_NODISCARD psCliprdrServerUnlockClipboardData ServerUnlockClipboardData;
WINPR_ATTR_NODISCARD psCliprdrClientFormatDataRequest ClientFormatDataRequest;
WINPR_ATTR_NODISCARD psCliprdrServerFormatDataRequest ServerFormatDataRequest;
WINPR_ATTR_NODISCARD psCliprdrClientFormatDataResponse ClientFormatDataResponse;
WINPR_ATTR_NODISCARD psCliprdrServerFormatDataResponse ServerFormatDataResponse;
WINPR_ATTR_NODISCARD psCliprdrClientFileContentsRequest ClientFileContentsRequest;
WINPR_ATTR_NODISCARD psCliprdrServerFileContentsRequest ServerFileContentsRequest;
WINPR_ATTR_NODISCARD psCliprdrClientFileContentsResponse ClientFileContentsResponse;
WINPR_ATTR_NODISCARD psCliprdrServerFileContentsResponse ServerFileContentsResponse;
rdpContext* rdpcontext;
BOOL autoInitializationSequence;

View File

@@ -51,11 +51,11 @@ extern "C"
UINT32 MaxMonitorAreaFactorA;
UINT32 MaxMonitorAreaFactorB;
psDispOpen Open;
psDispClose Close;
WINPR_ATTR_NODISCARD psDispOpen Open;
WINPR_ATTR_NODISCARD psDispClose Close;
psDispMonitorLayout DispMonitorLayout;
psDispCaps DisplayControlCaps;
WINPR_ATTR_NODISCARD psDispMonitorLayout DispMonitorLayout;
WINPR_ATTR_NODISCARD psDispCaps DisplayControlCaps;
DispServerPrivate* priv;
rdpContext* rdpcontext;
@@ -63,7 +63,7 @@ extern "C"
/**
* Callback, when the channel got its id assigned.
*/
psDispChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psDispChannelIdAssigned ChannelIdAssigned;
};
FREERDP_API void disp_server_context_free(DispServerContext* context);

View File

@@ -45,7 +45,7 @@ extern "C"
{
HANDLE vcm;
psDrdynvcStart Start;
WINPR_ATTR_NODISCARD psDrdynvcStart Start;
psDrdynvcStop Stop;
DrdynvcServerPrivate* priv;

View File

@@ -62,25 +62,25 @@ extern "C"
/**
* Open the echo channel.
*/
psEchoServerOpen Open;
WINPR_ATTR_NODISCARD psEchoServerOpen Open;
/**
* Close the echo channel.
*/
psEchoServerClose Close;
WINPR_ATTR_NODISCARD psEchoServerClose Close;
/**
* Send echo request PDU.
*/
psEchoServerRequest Request;
WINPR_ATTR_NODISCARD psEchoServerRequest Request;
/*** Callbacks registered by the server. ***/
/**
* Indicate whether the channel is opened successfully.
*/
psEchoServerOpenResult OpenResult;
WINPR_ATTR_NODISCARD psEchoServerOpenResult OpenResult;
/**
* Receive echo response PDU.
*/
psEchoServerResponse Response;
WINPR_ATTR_NODISCARD psEchoServerResponse Response;
rdpContext* rdpcontext;

View File

@@ -72,20 +72,20 @@ extern "C"
HANDLE vcm;
void* custom;
psEncomspStart Start;
WINPR_ATTR_NODISCARD psEncomspStart Start;
psEncomspStop Stop;
psEncomspFilterUpdated FilterUpdated;
psEncomspApplicationCreated ApplicationCreated;
psEncomspApplicationRemoved ApplicationRemoved;
psEncomspWindowCreated WindowCreated;
psEncomspWindowRemoved WindowRemoved;
psEncomspShowWindow ShowWindow;
psEncomspParticipantCreated ParticipantCreated;
psEncomspParticipantRemoved ParticipantRemoved;
psEncomspChangeParticipantControlLevel ChangeParticipantControlLevel;
psEncomspGraphicsStreamPaused GraphicsStreamPaused;
psEncomspGraphicsStreamResumed GraphicsStreamResumed;
WINPR_ATTR_NODISCARD psEncomspFilterUpdated FilterUpdated;
WINPR_ATTR_NODISCARD psEncomspApplicationCreated ApplicationCreated;
WINPR_ATTR_NODISCARD psEncomspApplicationRemoved ApplicationRemoved;
WINPR_ATTR_NODISCARD psEncomspWindowCreated WindowCreated;
WINPR_ATTR_NODISCARD psEncomspWindowRemoved WindowRemoved;
WINPR_ATTR_NODISCARD psEncomspShowWindow ShowWindow;
WINPR_ATTR_NODISCARD psEncomspParticipantCreated ParticipantCreated;
WINPR_ATTR_NODISCARD psEncomspParticipantRemoved ParticipantRemoved;
WINPR_ATTR_NODISCARD psEncomspChangeParticipantControlLevel ChangeParticipantControlLevel;
WINPR_ATTR_NODISCARD psEncomspGraphicsStreamPaused GraphicsStreamPaused;
WINPR_ATTR_NODISCARD psEncomspGraphicsStreamResumed GraphicsStreamResumed;
EncomspServerPrivate* priv;

View File

@@ -67,24 +67,26 @@ extern "C"
void* custom;
HANDLE vcm;
psGfxRedirOpen Open;
psGfxRedirClose Close;
WINPR_ATTR_NODISCARD psGfxRedirOpen Open;
WINPR_ATTR_NODISCARD psGfxRedirClose Close;
psGfxRedirError Error;
WINPR_ATTR_NODISCARD psGfxRedirError Error;
psGfxRedirGraphicsRedirectionLegacyCaps GraphicsRedirectionLegacyCaps;
WINPR_ATTR_NODISCARD psGfxRedirGraphicsRedirectionLegacyCaps GraphicsRedirectionLegacyCaps;
psGfxRedirGraphicsRedirectionCapsAdvertise GraphicsRedirectionCapsAdvertise;
psGfxRedirGraphicsRedirectionCapsConfirm GraphicsRedirectionCapsConfirm;
WINPR_ATTR_NODISCARD psGfxRedirGraphicsRedirectionCapsAdvertise
GraphicsRedirectionCapsAdvertise;
WINPR_ATTR_NODISCARD psGfxRedirGraphicsRedirectionCapsConfirm
GraphicsRedirectionCapsConfirm;
psGfxRedirOpenPool OpenPool;
psGfxRedirClosePool ClosePool;
WINPR_ATTR_NODISCARD psGfxRedirOpenPool OpenPool;
WINPR_ATTR_NODISCARD psGfxRedirClosePool ClosePool;
psGfxRedirCreateBuffer CreateBuffer;
psGfxRedirDestroyBuffer DestroyBuffer;
WINPR_ATTR_NODISCARD psGfxRedirCreateBuffer CreateBuffer;
WINPR_ATTR_NODISCARD psGfxRedirDestroyBuffer DestroyBuffer;
psGfxRedirPresentBuffer PresentBuffer;
psGfxRedirPresentBufferAck PresentBufferAck;
WINPR_ATTR_NODISCARD psGfxRedirPresentBuffer PresentBuffer;
WINPR_ATTR_NODISCARD psGfxRedirPresentBufferAck PresentBufferAck;
GfxRedirServerPrivate* priv;
rdpContext* rdpcontext;

View File

@@ -68,64 +68,64 @@ extern "C"
*
* Defaults to externalThread=FALSE
*/
psLocationServerInitialize Initialize;
WINPR_ATTR_NODISCARD psLocationServerInitialize Initialize;
/**
* Open the location channel.
*/
psLocationServerOpen Open;
WINPR_ATTR_NODISCARD psLocationServerOpen Open;
/**
* Close the location channel.
*/
psLocationServerClose Close;
WINPR_ATTR_NODISCARD psLocationServerClose Close;
/**
* Poll
* When externalThread=TRUE, call Poll() periodically from your main loop.
* If externalThread=FALSE do not call.
*/
psLocationServerPoll Poll;
WINPR_ATTR_NODISCARD psLocationServerPoll Poll;
/**
* Retrieve the channel handle for use in conjunction with Poll().
* If externalThread=FALSE do not call.
*/
psLocationServerChannelHandle ChannelHandle;
WINPR_ATTR_NODISCARD psLocationServerChannelHandle ChannelHandle;
/* All PDUs sent by the server don't require the header to be set */
/*
* Send a ServerReady PDU.
*/
psLocationServerServerReady ServerReady;
WINPR_ATTR_NODISCARD psLocationServerServerReady ServerReady;
/*** Callbacks registered by the server. ***/
/**
* Callback, when the channel got its id assigned.
*/
psLocationServerChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psLocationServerChannelIdAssigned ChannelIdAssigned;
/**
* Callback for the ClientReady PDU.
*/
psLocationServerClientReady ClientReady;
WINPR_ATTR_NODISCARD psLocationServerClientReady ClientReady;
/**
* Callback for the BaseLocation3D PDU.
*/
psLocationServerBaseLocation3D BaseLocation3D;
WINPR_ATTR_NODISCARD psLocationServerBaseLocation3D BaseLocation3D;
/**
* Callback for the Location2DDelta PDU.
*/
psLocationServerLocation2DDelta Location2DDelta;
WINPR_ATTR_NODISCARD psLocationServerLocation2DDelta Location2DDelta;
/**
* Callback for the Location3DDelta PDU.
*/
psLocationServerLocation3DDelta Location3DDelta;
WINPR_ATTR_NODISCARD psLocationServerLocation3DDelta Location3DDelta;
rdpContext* rdpcontext;
};

View File

@@ -63,8 +63,8 @@ extern "C"
UINT32 front_channel_id;
UINT32 back_channel_id;
pf_utils_channel_mode channelMode;
proxyChannelDataFn onFrontData;
proxyChannelDataFn onBackData;
WINPR_ATTR_NODISCARD proxyChannelDataFn onFrontData;
WINPR_ATTR_NODISCARD proxyChannelDataFn onBackData;
proxyChannelContextDtor contextDtor;
void* context;
};
@@ -120,7 +120,8 @@ extern "C"
pReceiveChannelData client_receive_channel_data_original;
wQueue* cached_server_channel_data;
BOOL (*sendChannelData)(pClientContext* pc, const proxyChannelDataEventInfo* ev);
WINPR_ATTR_NODISCARD BOOL (*sendChannelData)(pClientContext* pc,
const proxyChannelDataEventInfo* ev);
/* X509 specific */
char* remote_hostname;

View File

@@ -65,52 +65,54 @@ extern "C"
UINT64 reserved1[32 - 2]; /* 2-32 */
BOOL (*PluginUnload)(proxyPlugin* plugin); /* 33 */
WINPR_ATTR_NODISCARD BOOL (*PluginUnload)(proxyPlugin* plugin); /* 33 */
UINT64 reserved2[66 - 34]; /* 34 - 65 */
/* proxy hooks. a module can set these function pointers to register hooks */
proxyHookFn ClientInitConnect; /* 66 custom=rdpContext* */
proxyHookFn ClientUninitConnect; /* 67 custom=rdpContext* */
proxyHookFn ClientPreConnect; /* 68 custom=rdpContext* */
proxyHookFn ClientPostConnect; /* 69 custom=rdpContext* */
proxyHookFn ClientPostDisconnect; /* 70 custom=rdpContext* */
proxyHookFn ClientX509Certificate; /* 71 custom=rdpContext* */
proxyHookFn ClientLoginFailure; /* 72 custom=rdpContext* */
proxyHookFn ClientEndPaint; /* 73 custom=rdpContext* */
proxyHookFn ClientRedirect; /* 74 custom=rdpContext* */
proxyHookFn ClientLoadChannels; /* 75 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientInitConnect; /* 66 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientUninitConnect; /* 67 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientPreConnect; /* 68 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientPostConnect; /* 69 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientPostDisconnect; /* 70 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientX509Certificate; /* 71 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientLoginFailure; /* 72 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientEndPaint; /* 73 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientRedirect; /* 74 custom=rdpContext* */
WINPR_ATTR_NODISCARD proxyHookFn ClientLoadChannels; /* 75 custom=rdpContext* */
UINT64 reserved3[96 - 76]; /* 76-95 */
proxyHookFn ServerPostConnect; /* 96 custom=freerdp_peer* */
proxyHookFn ServerPeerActivate; /* 97 custom=freerdp_peer* */
proxyHookFn ServerChannelsInit; /* 98 custom=freerdp_peer* */
proxyHookFn ServerChannelsFree; /* 99 custom=freerdp_peer* */
proxyHookFn ServerSessionEnd; /* 100 custom=freerdp_peer* */
proxyHookFn ServerSessionInitialize; /* 101 custom=freerdp_peer* */
proxyHookFn ServerSessionStarted; /* 102 custom=freerdp_peer* */
WINPR_ATTR_NODISCARD proxyHookFn ServerPostConnect; /* 96 custom=freerdp_peer* */
WINPR_ATTR_NODISCARD proxyHookFn ServerPeerActivate; /* 97 custom=freerdp_peer* */
WINPR_ATTR_NODISCARD proxyHookFn ServerChannelsInit; /* 98 custom=freerdp_peer* */
WINPR_ATTR_NODISCARD proxyHookFn ServerChannelsFree; /* 99 custom=freerdp_peer* */
WINPR_ATTR_NODISCARD proxyHookFn ServerSessionEnd; /* 100 custom=freerdp_peer* */
WINPR_ATTR_NODISCARD proxyHookFn ServerSessionInitialize; /* 101 custom=freerdp_peer* */
WINPR_ATTR_NODISCARD proxyHookFn ServerSessionStarted; /* 102 custom=freerdp_peer* */
UINT64 reserved4[128 - 103]; /* 103 - 127 */
/* proxy filters. a module can set these function pointers to register filters */
proxyFilterFn KeyboardEvent; /* 128 */
proxyFilterFn MouseEvent; /* 129 */
proxyFilterFn ClientChannelData; /* 130 passthrough channels data */
proxyFilterFn ServerChannelData; /* 131 passthrough channels data */
proxyFilterFn DynamicChannelCreate; /* 132 passthrough drdynvc channel create data */
proxyFilterFn ServerFetchTargetAddr; /* 133 */
proxyFilterFn ServerPeerLogon; /* 134 */
proxyFilterFn ChannelCreate; /* 135 passthrough drdynvc channel create data */
proxyFilterFn UnicodeEvent; /* 136 */
proxyFilterFn MouseExEvent; /* 137 */
WINPR_ATTR_NODISCARD proxyFilterFn KeyboardEvent; /* 128 */
WINPR_ATTR_NODISCARD proxyFilterFn MouseEvent; /* 129 */
WINPR_ATTR_NODISCARD proxyFilterFn ClientChannelData; /* 130 passthrough channels data */
WINPR_ATTR_NODISCARD proxyFilterFn ServerChannelData; /* 131 passthrough channels data */
WINPR_ATTR_NODISCARD proxyFilterFn
DynamicChannelCreate; /* 132 passthrough drdynvc channel create data */
WINPR_ATTR_NODISCARD proxyFilterFn ServerFetchTargetAddr; /* 133 */
WINPR_ATTR_NODISCARD proxyFilterFn ServerPeerLogon; /* 134 */
WINPR_ATTR_NODISCARD proxyFilterFn
ChannelCreate; /* 135 passthrough drdynvc channel create data */
WINPR_ATTR_NODISCARD proxyFilterFn UnicodeEvent; /* 136 */
WINPR_ATTR_NODISCARD proxyFilterFn MouseExEvent; /* 137 */
/* proxy dynamic channel filters:
*
* - a function that returns the list of channels to intercept
* - a function to call with the data received
*/
proxyFilterFn DynChannelToIntercept; /* 138 */
proxyFilterFn DynChannelIntercept; /* 139 */
proxyFilterFn StaticChannelToIntercept; /* 140 */
WINPR_ATTR_NODISCARD proxyFilterFn DynChannelToIntercept; /* 138 */
WINPR_ATTR_NODISCARD proxyFilterFn DynChannelIntercept; /* 139 */
WINPR_ATTR_NODISCARD proxyFilterFn StaticChannelToIntercept; /* 140 */
UINT64 reserved5[160 - 141]; /* 141-159 */
/* Runtime data fields */
@@ -134,13 +136,16 @@ extern "C"
struct proxy_plugins_manager
{
/* 0 used for registering a fresh new proxy plugin. */
BOOL (*RegisterPlugin)(struct proxy_plugins_manager* mgr, const proxyPlugin* plugin);
WINPR_ATTR_NODISCARD BOOL (*RegisterPlugin)(struct proxy_plugins_manager* mgr,
const proxyPlugin* plugin);
/* 1 used for setting plugin's per-session info. */
BOOL (*SetPluginData)(struct proxy_plugins_manager* mgr, const char*, proxyData*, void*);
WINPR_ATTR_NODISCARD BOOL (*SetPluginData)(struct proxy_plugins_manager* mgr, const char*,
proxyData*, void*);
/* 2 used for getting plugin's per-session info. */
void* (*GetPluginData)(struct proxy_plugins_manager* mgr, const char*, proxyData*);
WINPR_ATTR_NODISCARD void* (*GetPluginData)(struct proxy_plugins_manager* mgr, const char*,
proxyData*);
/* 3 used for aborting a session. */
void (*AbortConnect)(struct proxy_plugins_manager* mgr, proxyData*);
@@ -148,7 +153,8 @@ extern "C"
UINT64 reserved[128 - 4]; /* 4-127 reserved fields */
};
typedef BOOL (*proxyModuleEntryPoint)(proxyPluginsManager* plugins_manager, void* userdata);
typedef WINPR_ATTR_NODISCARD BOOL (*proxyModuleEntryPoint)(proxyPluginsManager* plugins_manager,
void* userdata);
/* filter events parameters */
#define WINPR_PACK_PUSH

View File

@@ -101,42 +101,42 @@ extern "C"
HANDLE vcm;
void* custom;
psRailStart Start;
WINPR_ATTR_NODISCARD psRailStart Start;
psRailStop Stop;
/* Callbacks from client */
psRailClientHandshake ClientHandshake;
psRailClientClientStatus ClientClientStatus;
psRailClientExec ClientExec;
psRailClientSysparam ClientSysparam;
psRailClientActivate ClientActivate;
psRailClientSysmenu ClientSysmenu;
psRailClientSyscommand ClientSyscommand;
psRailClientNotifyEvent ClientNotifyEvent;
psRailClientGetAppidReq ClientGetAppidReq;
psRailClientWindowMove ClientWindowMove;
psRailClientSnapArrange ClientSnapArrange;
psRailClientLangbarInfo ClientLangbarInfo;
psRailClientLanguageImeInfo ClientLanguageImeInfo;
psRailClientCompartmentInfo ClientCompartmentInfo;
psRailClientCloak ClientCloak;
psRailClientTextScale ClientTextScale;
psRailClientCaretBlinkRate ClientCaretBlinkRate;
WINPR_ATTR_NODISCARD psRailClientHandshake ClientHandshake;
WINPR_ATTR_NODISCARD psRailClientClientStatus ClientClientStatus;
WINPR_ATTR_NODISCARD psRailClientExec ClientExec;
WINPR_ATTR_NODISCARD psRailClientSysparam ClientSysparam;
WINPR_ATTR_NODISCARD psRailClientActivate ClientActivate;
WINPR_ATTR_NODISCARD psRailClientSysmenu ClientSysmenu;
WINPR_ATTR_NODISCARD psRailClientSyscommand ClientSyscommand;
WINPR_ATTR_NODISCARD psRailClientNotifyEvent ClientNotifyEvent;
WINPR_ATTR_NODISCARD psRailClientGetAppidReq ClientGetAppidReq;
WINPR_ATTR_NODISCARD psRailClientWindowMove ClientWindowMove;
WINPR_ATTR_NODISCARD psRailClientSnapArrange ClientSnapArrange;
WINPR_ATTR_NODISCARD psRailClientLangbarInfo ClientLangbarInfo;
WINPR_ATTR_NODISCARD psRailClientLanguageImeInfo ClientLanguageImeInfo;
WINPR_ATTR_NODISCARD psRailClientCompartmentInfo ClientCompartmentInfo;
WINPR_ATTR_NODISCARD psRailClientCloak ClientCloak;
WINPR_ATTR_NODISCARD psRailClientTextScale ClientTextScale;
WINPR_ATTR_NODISCARD psRailClientCaretBlinkRate ClientCaretBlinkRate;
/* Methods for sending server side messages */
psRailServerHandshake ServerHandshake;
psRailServerHandshakeEx ServerHandshakeEx;
psRailServerSysparam ServerSysparam;
psRailServerLocalMoveSize ServerLocalMoveSize;
psRailServerMinMaxInfo ServerMinMaxInfo;
psRailServerTaskbarInfo ServerTaskbarInfo;
psRailServerLangbarInfo ServerLangbarInfo;
psRailServerExecResult ServerExecResult;
psRailServerZOrderSync ServerZOrderSync;
psRailServerCloak ServerCloak;
psRailServerPowerDisplayRequest ServerPowerDisplayRequest;
psRailServerGetAppidResp ServerGetAppidResp;
psRailServerGetAppidRespEx ServerGetAppidRespEx;
WINPR_ATTR_NODISCARD psRailServerHandshake ServerHandshake;
WINPR_ATTR_NODISCARD psRailServerHandshakeEx ServerHandshakeEx;
WINPR_ATTR_NODISCARD psRailServerSysparam ServerSysparam;
WINPR_ATTR_NODISCARD psRailServerLocalMoveSize ServerLocalMoveSize;
WINPR_ATTR_NODISCARD psRailServerMinMaxInfo ServerMinMaxInfo;
WINPR_ATTR_NODISCARD psRailServerTaskbarInfo ServerTaskbarInfo;
WINPR_ATTR_NODISCARD psRailServerLangbarInfo ServerLangbarInfo;
WINPR_ATTR_NODISCARD psRailServerExecResult ServerExecResult;
WINPR_ATTR_NODISCARD psRailServerZOrderSync ServerZOrderSync;
WINPR_ATTR_NODISCARD psRailServerCloak ServerCloak;
WINPR_ATTR_NODISCARD psRailServerPowerDisplayRequest ServerPowerDisplayRequest;
WINPR_ATTR_NODISCARD psRailServerGetAppidResp ServerGetAppidResp;
WINPR_ATTR_NODISCARD psRailServerGetAppidRespEx ServerGetAppidRespEx;
RailServerPrivate* priv;
rdpContext* rdpcontext;

View File

@@ -72,40 +72,40 @@ typedef UINT (*psRdpdrStart)(RdpdrServerContext* context);
typedef UINT (*psRdpdrStop)(RdpdrServerContext* context);
typedef UINT (*psRdpdrCapablityPDU)(RdpdrServerContext* context,
const RDPDR_CAPABILITY_HEADER* header, size_t size,
const BYTE* data);
const RDPDR_CAPABILITY_HEADER* header, size_t size,
const BYTE* data);
typedef UINT (*psRdpdrReceivePDU)(RdpdrServerContext* context, const RDPDR_HEADER* header,
UINT error);
UINT error);
typedef UINT (*psRdpdrReceiveAnnounceResponse)(RdpdrServerContext* context, UINT16 VersionMajor,
UINT16 VersionMinor, UINT32 ClientId);
UINT16 VersionMinor, UINT32 ClientId);
typedef UINT (*psRdpdrSendServerAnnounce)(RdpdrServerContext* context);
typedef UINT (*psRdpdrReceiveDeviceAnnounce)(RdpdrServerContext* context,
const RdpdrDevice* device);
const RdpdrDevice* device);
typedef UINT (*psRdpdrReceiveDeviceRemove)(RdpdrServerContext* context, UINT32 deviceId,
const RdpdrDevice* device);
const RdpdrDevice* device);
typedef UINT (*psRdpdrReceiveClientNameRequest)(RdpdrServerContext* context, size_t ComputerNameLen,
const char* name);
const char* name);
typedef UINT (*psRdpdrDriveCreateDirectory)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, const char* path);
UINT32 deviceId, const char* path);
typedef UINT (*psRdpdrDriveDeleteDirectory)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, const char* path);
UINT32 deviceId, const char* path);
typedef UINT (*psRdpdrDriveQueryDirectory)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, const char* path);
UINT32 deviceId, const char* path);
typedef UINT (*psRdpdrDriveOpenFile)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, const char* path, UINT32 desiredAccess,
UINT32 createDisposition);
UINT32 deviceId, const char* path, UINT32 desiredAccess,
UINT32 createDisposition);
typedef UINT (*psRdpdrDriveReadFile)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, UINT32 fileId, UINT32 length, UINT32 offset);
UINT32 deviceId, UINT32 fileId, UINT32 length, UINT32 offset);
typedef UINT (*psRdpdrDriveWriteFile)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, UINT32 fileId, const char* buffer,
UINT32 length, UINT32 offset);
UINT32 deviceId, UINT32 fileId, const char* buffer,
UINT32 length, UINT32 offset);
typedef UINT (*psRdpdrDriveCloseFile)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, UINT32 fileId);
UINT32 deviceId, UINT32 fileId);
typedef UINT (*psRdpdrDriveDeleteFile)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, const char* path);
UINT32 deviceId, const char* path);
typedef UINT (*psRdpdrDriveRenameFile)(RdpdrServerContext* context, void* callbackData,
UINT32 deviceId, const char* oldPath, const char* newPath);
UINT32 deviceId, const char* oldPath, const char* newPath);
typedef void (*psRdpdrOnDriveCreateDirectoryComplete)(RdpdrServerContext* context,
void* callbackData, UINT32 ioStatus);
@@ -134,7 +134,7 @@ struct s_rdpdr_server_context
{
HANDLE vcm;
psRdpdrStart Start;
WINPR_ATTR_NODISCARD psRdpdrStart Start;
psRdpdrStop Stop;
RdpdrServerPrivate* priv;
@@ -152,37 +152,40 @@ struct s_rdpdr_server_context
UINT16 supported;
/*** RDPDR message intercept callbacks */
psRdpdrCapablityPDU ReceiveCaps; /**< Called for each received capability */
psRdpdrCapablityPDU SendCaps; /**< Called for each capability to be sent */
psRdpdrReceivePDU ReceivePDU; /**< Called after a RDPDR pdu was received and parsed */
psRdpdrSendServerAnnounce
SendServerAnnounce; /**< Called before the server sends the announce message */
psRdpdrReceiveAnnounceResponse
ReceiveAnnounceResponse; /**< Called after the client announce response is received */
psRdpdrReceiveClientNameRequest
ReceiveClientNameRequest; /**< Called after a client name request is received */
psRdpdrReceiveDeviceAnnounce
ReceiveDeviceAnnounce; /** < Called after a new device request was received but before the
device is added */
psRdpdrReceiveDeviceRemove ReceiveDeviceRemove; /**< Called after a new device request was
received, but before it is removed */
WINPR_ATTR_NODISCARD psRdpdrCapablityPDU
ReceiveCaps; /**< Called for each received capability */
WINPR_ATTR_NODISCARD psRdpdrCapablityPDU SendCaps; /**< Called for each capability to be sent */
WINPR_ATTR_NODISCARD psRdpdrReceivePDU
ReceivePDU; /**< Called after a RDPDR pdu was received and parsed */
WINPR_ATTR_NODISCARD psRdpdrSendServerAnnounce
SendServerAnnounce; /**< Called before the server sends the announce message */
WINPR_ATTR_NODISCARD psRdpdrReceiveAnnounceResponse
ReceiveAnnounceResponse; /**< Called after the client announce response is received */
WINPR_ATTR_NODISCARD psRdpdrReceiveClientNameRequest
ReceiveClientNameRequest; /**< Called after a client name request is received */
WINPR_ATTR_NODISCARD psRdpdrReceiveDeviceAnnounce
ReceiveDeviceAnnounce; /** < Called after a new device request was received but before the
device is added */
WINPR_ATTR_NODISCARD psRdpdrReceiveDeviceRemove
ReceiveDeviceRemove; /**< Called after a new device request was
received, but before it is removed */
/*** Drive APIs called by the server. ***/
psRdpdrDriveCreateDirectory DriveCreateDirectory;
psRdpdrDriveDeleteDirectory DriveDeleteDirectory;
psRdpdrDriveQueryDirectory DriveQueryDirectory;
psRdpdrDriveOpenFile DriveOpenFile;
psRdpdrDriveReadFile DriveReadFile;
psRdpdrDriveWriteFile DriveWriteFile;
psRdpdrDriveCloseFile DriveCloseFile;
psRdpdrDriveDeleteFile DriveDeleteFile;
psRdpdrDriveRenameFile DriveRenameFile;
WINPR_ATTR_NODISCARD psRdpdrDriveCreateDirectory DriveCreateDirectory;
WINPR_ATTR_NODISCARD psRdpdrDriveDeleteDirectory DriveDeleteDirectory;
WINPR_ATTR_NODISCARD psRdpdrDriveQueryDirectory DriveQueryDirectory;
WINPR_ATTR_NODISCARD psRdpdrDriveOpenFile DriveOpenFile;
WINPR_ATTR_NODISCARD psRdpdrDriveReadFile DriveReadFile;
WINPR_ATTR_NODISCARD psRdpdrDriveWriteFile DriveWriteFile;
WINPR_ATTR_NODISCARD psRdpdrDriveCloseFile DriveCloseFile;
WINPR_ATTR_NODISCARD psRdpdrDriveDeleteFile DriveDeleteFile;
WINPR_ATTR_NODISCARD psRdpdrDriveRenameFile DriveRenameFile;
/*** Drive callbacks registered by the server. ***/
psRdpdrOnDeviceCreate OnDriveCreate; /**< Called for devices of type \b RDPDR_DTYP_FILESYSTEM
after \b ReceiveDeviceAnnounce */
psRdpdrOnDeviceDelete OnDriveDelete; /**< Called for devices of type \b RDPDR_DTYP_FILESYSTEM
after \b ReceiveDeviceRemove */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceCreate OnDriveCreate; /**< Called for devices of type \b
RDPDR_DTYP_FILESYSTEM after \b ReceiveDeviceAnnounce */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceDelete OnDriveDelete; /**< Called for devices of type \b
RDPDR_DTYP_FILESYSTEM after \b ReceiveDeviceRemove */
psRdpdrOnDriveCreateDirectoryComplete OnDriveCreateDirectoryComplete;
psRdpdrOnDriveDeleteDirectoryComplete OnDriveDeleteDirectoryComplete;
psRdpdrOnDriveQueryDirectoryComplete OnDriveQueryDirectoryComplete;
@@ -194,28 +197,29 @@ struct s_rdpdr_server_context
psRdpdrOnDriveRenameFileComplete OnDriveRenameFileComplete;
/*** Serial Port callbacks registered by the server. ***/
psRdpdrOnDeviceCreate OnSerialPortCreate; /**< Called for devices of type \b RDPDR_DTYP_SERIAL
after \b ReceiveDeviceAnnounce */
psRdpdrOnDeviceDelete OnSerialPortDelete; /**< Called for devices of type \b RDPDR_DTYP_SERIAL
after \b ReceiveDeviceRemove */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceCreate OnSerialPortCreate; /**< Called for devices of type
\b RDPDR_DTYP_SERIAL after \b ReceiveDeviceAnnounce */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceDelete OnSerialPortDelete; /**< Called for devices of type
\b RDPDR_DTYP_SERIAL after \b ReceiveDeviceRemove */
/*** Parallel Port callbacks registered by the server. ***/
psRdpdrOnDeviceCreate OnParallelPortCreate; /**< Called for devices of type \b
RDPDR_DTYP_PARALLEL after \b ReceiveDeviceAnnounce */
psRdpdrOnDeviceDelete OnParallelPortDelete; /**< Called for devices of type \b
RDPDR_DTYP_PARALLEL after \b ReceiveDeviceRemove */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceCreate OnParallelPortCreate; /**< Called for devices of type
\b RDPDR_DTYP_PARALLEL after \b ReceiveDeviceAnnounce */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceDelete OnParallelPortDelete; /**< Called for devices of type
\b RDPDR_DTYP_PARALLEL after \b ReceiveDeviceRemove */
/*** Printer callbacks registered by the server. ***/
psRdpdrOnDeviceCreate OnPrinterCreate; /**< Called for devices of type RDPDR_DTYP_PRINT after \b
ReceiveDeviceAnnounce */
psRdpdrOnDeviceDelete OnPrinterDelete; /**< Called for devices of type RDPDR_DTYP_PRINT after \b
ReceiveDeviceRemove */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceCreate OnPrinterCreate; /**< Called for devices of type
RDPDR_DTYP_PRINT after \b ReceiveDeviceAnnounce */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceDelete OnPrinterDelete; /**< Called for devices of type
RDPDR_DTYP_PRINT after \b ReceiveDeviceRemove */
/*** Smartcard callbacks registered by the server. ***/
psRdpdrOnDeviceCreate OnSmartcardCreate; /**< Called for devices of type RDPDR_DTYP_SMARTCARD
after \b ReceiveDeviceAnnounce */
psRdpdrOnDeviceDelete OnSmartcardDelete; /**< Called for devices of type RDPDR_DTYP_SMARTCARD
after \b ReceiveDeviceRemove */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceCreate
OnSmartcardCreate; /**< Called for devices of type RDPDR_DTYP_SMARTCARD
after \b ReceiveDeviceAnnounce */
WINPR_ATTR_NODISCARD psRdpdrOnDeviceDelete OnSmartcardDelete; /**< Called for devices of type
RDPDR_DTYP_SMARTCARD after \b ReceiveDeviceRemove */
rdpContext* rdpcontext;
};

View File

@@ -70,57 +70,59 @@ extern "C"
*
* Defaults to externalThread=FALSE
*/
psCamDevEnumServerServerInitialize Initialize;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerInitialize Initialize;
/**
* Open the camera device enumerator channel.
*/
psCamDevEnumServerServerOpen Open;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerOpen Open;
/**
* Close the camera device enumerator channel.
*/
psCamDevEnumServerServerClose Close;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerClose Close;
/**
* Poll
* When externalThread=TRUE, call Poll() periodically from your main loop.
* If externalThread=FALSE do not call.
*/
psCamDevEnumServerServerPoll Poll;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerPoll Poll;
/**
* Retrieve the channel handle for use in conjunction with Poll().
* If externalThread=FALSE do not call.
*/
psCamDevEnumServerServerChannelHandle ChannelHandle;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerChannelHandle ChannelHandle;
/*
* Send a Select Version Response PDU.
*/
psCamDevEnumServerServerSelectVersionResponse SelectVersionResponse;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerSelectVersionResponse SelectVersionResponse;
/*** Callbacks registered by the server. ***/
/**
* Callback, when the channel got its id assigned.
*/
psCamDevEnumServerServerChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerChannelIdAssigned ChannelIdAssigned;
/**
* Callback for the Select Version Request PDU.
*/
psCamDevEnumServerServerSelectVersionRequest SelectVersionRequest;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerSelectVersionRequest SelectVersionRequest;
/**
* Callback for the Device Added Notification PDU.
*/
psCamDevEnumServerServerDeviceAddedNotification DeviceAddedNotification;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerDeviceAddedNotification
DeviceAddedNotification;
/**
* Callback for the Device Removed Notification PDU.
*/
psCamDevEnumServerServerDeviceRemovedNotification DeviceRemovedNotification;
WINPR_ATTR_NODISCARD psCamDevEnumServerServerDeviceRemovedNotification
DeviceRemovedNotification;
rdpContext* rdpcontext;
};

View File

@@ -132,30 +132,30 @@ extern "C"
*
* Defaults to externalThread=FALSE
*/
psCameraDeviceServerInitialize Initialize;
WINPR_ATTR_NODISCARD psCameraDeviceServerInitialize Initialize;
/**
* Open the camera device channel.
*/
psCameraDeviceServerOpen Open;
WINPR_ATTR_NODISCARD psCameraDeviceServerOpen Open;
/**
* Close the camera device channel.
*/
psCameraDeviceServerClose Close;
WINPR_ATTR_NODISCARD psCameraDeviceServerClose Close;
/**
* Poll
* When externalThread=TRUE, call Poll() periodically from your main loop.
* If externalThread=FALSE do not call.
*/
psCameraDeviceServerPoll Poll;
WINPR_ATTR_NODISCARD psCameraDeviceServerPoll Poll;
/**
* Retrieve the channel handle for use in conjunction with Poll().
* If externalThread=FALSE do not call.
*/
psCameraDeviceServerChannelHandle ChannelHandle;
WINPR_ATTR_NODISCARD psCameraDeviceServerChannelHandle ChannelHandle;
/**
* For the following server to client PDUs,
@@ -165,109 +165,109 @@ extern "C"
/**
* Send a Activate Device Request PDU.
*/
psCameraDeviceServerActivateDeviceRequest ActivateDeviceRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerActivateDeviceRequest ActivateDeviceRequest;
/**
* Send a Deactivate Device Request PDU.
*/
psCameraDeviceServerDeactivateDeviceRequest DeactivateDeviceRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerDeactivateDeviceRequest DeactivateDeviceRequest;
/**
* Send a Stream List Request PDU.
*/
psCameraDeviceServerStreamListRequest StreamListRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerStreamListRequest StreamListRequest;
/**
* Send a Media Type List Request PDU.
*/
psCameraDeviceServerMediaTypeListRequest MediaTypeListRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerMediaTypeListRequest MediaTypeListRequest;
/**
* Send a Current Media Type Request PDU.
*/
psCameraDeviceServerCurrentMediaTypeRequest CurrentMediaTypeRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerCurrentMediaTypeRequest CurrentMediaTypeRequest;
/**
* Send a Start Streams Request PDU.
*/
psCameraDeviceServerStartStreamsRequest StartStreamsRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerStartStreamsRequest StartStreamsRequest;
/**
* Send a Stop Streams Request PDU.
*/
psCameraDeviceServerStopStreamsRequest StopStreamsRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerStopStreamsRequest StopStreamsRequest;
/**
* Send a Sample Request PDU.
*/
psCameraDeviceServerSampleRequest SampleRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerSampleRequest SampleRequest;
/**
* Send a Property List Request PDU.
*/
psCameraDeviceServerPropertyListRequest PropertyListRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerPropertyListRequest PropertyListRequest;
/**
* Send a Property Value Request PDU.
*/
psCameraDeviceServerPropertyValueRequest PropertyValueRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerPropertyValueRequest PropertyValueRequest;
/**
* Send a Set Property Value Request PDU.
*/
psCameraDeviceServerSetPropertyValueRequest SetPropertyValueRequest;
WINPR_ATTR_NODISCARD psCameraDeviceServerSetPropertyValueRequest SetPropertyValueRequest;
/*** Callbacks registered by the server. ***/
/**
* Callback, when the channel got its id assigned.
*/
psCameraDeviceServerChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psCameraDeviceServerChannelIdAssigned ChannelIdAssigned;
/**
* Callback for the Success Response PDU.
*/
psCameraDeviceServerSuccessResponse SuccessResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerSuccessResponse SuccessResponse;
/**
* Callback for the Error Response PDU.
*/
psCameraDeviceServerErrorResponse ErrorResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerErrorResponse ErrorResponse;
/**
* Callback for the Stream List Response PDU.
*/
psCameraDeviceServerStreamListResponse StreamListResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerStreamListResponse StreamListResponse;
/**
* Callback for the Media Type List Response PDU.
*/
psCameraDeviceServerMediaTypeListResponse MediaTypeListResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerMediaTypeListResponse MediaTypeListResponse;
/**
* Callback for the Current Media Type Response PDU.
*/
psCameraDeviceServerCurrentMediaTypeResponse CurrentMediaTypeResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerCurrentMediaTypeResponse CurrentMediaTypeResponse;
/**
* Callback for the Sample Response PDU.
*/
psCameraDeviceServerSampleResponse SampleResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerSampleResponse SampleResponse;
/**
* Callback for the Sample Error Response PDU.
*/
psCameraDeviceServerSampleErrorResponse SampleErrorResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerSampleErrorResponse SampleErrorResponse;
/**
* Callback for the Property List Response PDU.
*/
psCameraDeviceServerPropertyListResponse PropertyListResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerPropertyListResponse PropertyListResponse;
/**
* Callback for the Property Value Response PDU.
*/
psCameraDeviceServerPropertyValueResponse PropertyValueResponse;
WINPR_ATTR_NODISCARD psCameraDeviceServerPropertyValueResponse PropertyValueResponse;
rdpContext* rdpcontext;
};

View File

@@ -48,17 +48,20 @@ extern "C"
UINT32 protocolFlags;
/** callbacks that can be set by the user */
UINT (*onClientReady)(RdpeiServerContext* context);
UINT (*onTouchEvent)(RdpeiServerContext* context, const RDPINPUT_TOUCH_EVENT* touchEvent);
UINT (*onPenEvent)(RdpeiServerContext* context, const RDPINPUT_PEN_EVENT* penEvent);
UINT (*onTouchReleased)(RdpeiServerContext* context, BYTE contactId);
WINPR_ATTR_NODISCARD UINT (*onClientReady)(RdpeiServerContext* context);
WINPR_ATTR_NODISCARD UINT (*onTouchEvent)(RdpeiServerContext* context,
const RDPINPUT_TOUCH_EVENT* touchEvent);
WINPR_ATTR_NODISCARD UINT (*onPenEvent)(RdpeiServerContext* context,
const RDPINPUT_PEN_EVENT* penEvent);
WINPR_ATTR_NODISCARD UINT (*onTouchReleased)(RdpeiServerContext* context, BYTE contactId);
void* user_data; /* user data, useful for callbacks */
/**
* Callback, when the channel got its id assigned.
*/
BOOL (*onChannelIdAssigned)(RdpeiServerContext* context, UINT32 channelId);
WINPR_ATTR_NODISCARD BOOL (*onChannelIdAssigned)(RdpeiServerContext* context,
UINT32 channelId);
/*** APIs called by the server. ***/
@@ -66,13 +69,13 @@ extern "C"
* Open the input channel.
* @since version 3.15.0
*/
psRdpeiServerOpen Open;
WINPR_ATTR_NODISCARD psRdpeiServerOpen Open;
/**
* Close the input channel.
* @since version 3.15.0
*/
psRdpeiServerClose Close;
WINPR_ATTR_NODISCARD psRdpeiServerClose Close;
};
FREERDP_API void rdpei_server_context_free(RdpeiServerContext* context);

View File

@@ -68,54 +68,54 @@ extern "C"
*
* Defaults to externalThread=FALSE
*/
psMouseCursorServerInitialize Initialize;
WINPR_ATTR_NODISCARD psMouseCursorServerInitialize Initialize;
/**
* Open the mouse cursor channel.
*/
psMouseCursorServerOpen Open;
WINPR_ATTR_NODISCARD psMouseCursorServerOpen Open;
/**
* Close the mouse cursor channel.
*/
psMouseCursorServerClose Close;
WINPR_ATTR_NODISCARD psMouseCursorServerClose Close;
/**
* Poll
* When externalThread=TRUE, call Poll() periodically from your main loop.
* If externalThread=FALSE do not call.
*/
psMouseCursorServerPoll Poll;
WINPR_ATTR_NODISCARD psMouseCursorServerPoll Poll;
/**
* Retrieve the channel handle for use in conjunction with Poll().
* If externalThread=FALSE do not call.
*/
psMouseCursorServerChannelHandle ChannelHandle;
WINPR_ATTR_NODISCARD psMouseCursorServerChannelHandle ChannelHandle;
/* All PDUs sent by the server don't require the pduType to be set */
/*
* Send a CapsConfirm PDU.
*/
psMouseCursorServerCapsConfirm CapsConfirm;
WINPR_ATTR_NODISCARD psMouseCursorServerCapsConfirm CapsConfirm;
/*
* Send a MouseptrUpdate PDU.
*/
psMouseCursorServerMouseptrUpdate MouseptrUpdate;
WINPR_ATTR_NODISCARD psMouseCursorServerMouseptrUpdate MouseptrUpdate;
/*** Callbacks registered by the server. ***/
/**
* Callback, when the channel got its id assigned.
*/
psMouseCursorServerChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psMouseCursorServerChannelIdAssigned ChannelIdAssigned;
/**
* Callback for the CapsAdvertise PDU.
*/
psMouseCursorServerCapsAdvertise CapsAdvertise;
WINPR_ATTR_NODISCARD psMouseCursorServerCapsAdvertise CapsAdvertise;
rdpContext* rdpcontext;
};

View File

@@ -95,32 +95,32 @@ extern "C"
HANDLE vcm;
void* custom;
psRdpgfxServerOpen Open;
psRdpgfxServerClose Close;
WINPR_ATTR_NODISCARD psRdpgfxServerOpen Open;
WINPR_ATTR_NODISCARD psRdpgfxServerClose Close;
psRdpgfxResetGraphics ResetGraphics;
psRdpgfxStartFrame StartFrame;
psRdpgfxEndFrame EndFrame;
psRdpgfxSurfaceCommand SurfaceCommand;
psRdpgfxSurfaceFrameCommand SurfaceFrameCommand;
psRdpgfxDeleteEncodingContext DeleteEncodingContext;
psRdpgfxCreateSurface CreateSurface;
psRdpgfxDeleteSurface DeleteSurface;
psRdpgfxSolidFill SolidFill;
psRdpgfxSurfaceToSurface SurfaceToSurface;
psRdpgfxSurfaceToCache SurfaceToCache;
psRdpgfxCacheToSurface CacheToSurface;
psRdpgfxCacheImportOffer CacheImportOffer;
psRdpgfxCacheImportReply CacheImportReply;
psRdpgfxEvictCacheEntry EvictCacheEntry;
psRdpgfxMapSurfaceToOutput MapSurfaceToOutput;
psRdpgfxMapSurfaceToWindow MapSurfaceToWindow;
psRdpgfxMapSurfaceToScaledOutput MapSurfaceToScaledOutput;
psRdpgfxMapSurfaceToScaledWindow MapSurfaceToScaledWindow;
psRdpgfxCapsAdvertise CapsAdvertise;
psRdpgfxCapsConfirm CapsConfirm;
psRdpgfxFrameAcknowledge FrameAcknowledge;
psRdpgfxQoeFrameAcknowledge QoeFrameAcknowledge;
WINPR_ATTR_NODISCARD psRdpgfxResetGraphics ResetGraphics;
WINPR_ATTR_NODISCARD psRdpgfxStartFrame StartFrame;
WINPR_ATTR_NODISCARD psRdpgfxEndFrame EndFrame;
WINPR_ATTR_NODISCARD psRdpgfxSurfaceCommand SurfaceCommand;
WINPR_ATTR_NODISCARD psRdpgfxSurfaceFrameCommand SurfaceFrameCommand;
WINPR_ATTR_NODISCARD psRdpgfxDeleteEncodingContext DeleteEncodingContext;
WINPR_ATTR_NODISCARD psRdpgfxCreateSurface CreateSurface;
WINPR_ATTR_NODISCARD psRdpgfxDeleteSurface DeleteSurface;
WINPR_ATTR_NODISCARD psRdpgfxSolidFill SolidFill;
WINPR_ATTR_NODISCARD psRdpgfxSurfaceToSurface SurfaceToSurface;
WINPR_ATTR_NODISCARD psRdpgfxSurfaceToCache SurfaceToCache;
WINPR_ATTR_NODISCARD psRdpgfxCacheToSurface CacheToSurface;
WINPR_ATTR_NODISCARD psRdpgfxCacheImportOffer CacheImportOffer;
WINPR_ATTR_NODISCARD psRdpgfxCacheImportReply CacheImportReply;
WINPR_ATTR_NODISCARD psRdpgfxEvictCacheEntry EvictCacheEntry;
WINPR_ATTR_NODISCARD psRdpgfxMapSurfaceToOutput MapSurfaceToOutput;
WINPR_ATTR_NODISCARD psRdpgfxMapSurfaceToWindow MapSurfaceToWindow;
WINPR_ATTR_NODISCARD psRdpgfxMapSurfaceToScaledOutput MapSurfaceToScaledOutput;
WINPR_ATTR_NODISCARD psRdpgfxMapSurfaceToScaledWindow MapSurfaceToScaledWindow;
WINPR_ATTR_NODISCARD psRdpgfxCapsAdvertise CapsAdvertise;
WINPR_ATTR_NODISCARD psRdpgfxCapsConfirm CapsConfirm;
WINPR_ATTR_NODISCARD psRdpgfxFrameAcknowledge FrameAcknowledge;
WINPR_ATTR_NODISCARD psRdpgfxQoeFrameAcknowledge QoeFrameAcknowledge;
RdpgfxServerPrivate* priv;
rdpContext* rdpcontext;
@@ -128,7 +128,7 @@ extern "C"
/**
* Callback, when the channel got its id assigned.
*/
psRdpgfxServerChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psRdpgfxServerChannelIdAssigned ChannelIdAssigned;
/**
* Optional: Set thread handling.
* When externalThread=TRUE, the application is responsible to call
@@ -136,7 +136,7 @@ extern "C"
*
* Defaults to externalThread=FALSE
*/
psRdpgfxServerInitialize Initialize;
WINPR_ATTR_NODISCARD psRdpgfxServerInitialize Initialize;
};
FREERDP_API void rdpgfx_server_context_free(RdpgfxServerContext* context);

View File

@@ -64,7 +64,7 @@ extern "C"
{
HANDLE vcm;
psRdpsndStart Start;
WINPR_ATTR_NODISCARD psRdpsndStart Start;
psRdpsndStop Stop;
RdpsndServerPrivate* priv;
@@ -99,27 +99,27 @@ extern "C"
* whether the initialization succeed. If not, the "Activated" callback
* will not be called and the server must not call any API on this context.
*/
psRdpsndServerInitialize Initialize;
WINPR_ATTR_NODISCARD psRdpsndServerInitialize Initialize;
/**
* Choose the audio format to be sent. The index argument is an index into
* the client_formats array and must be smaller than num_client_formats.
*/
psRdpsndServerSelectFormat SelectFormat;
WINPR_ATTR_NODISCARD psRdpsndServerSelectFormat SelectFormat;
/**
* Send audio samples. Actually bytes in the buffer must be:
* nframes * src_format.nBitsPerSample * src_format.nChannels / 8
*/
psRdpsndServerSendSamples SendSamples;
WINPR_ATTR_NODISCARD psRdpsndServerSendSamples SendSamples;
/**
* Called when block confirm is received from the client
*/
psRdpsndServerConfirmBlock ConfirmBlock;
WINPR_ATTR_NODISCARD psRdpsndServerConfirmBlock ConfirmBlock;
/**
* Set the volume level of the client. Valid range is between 0 and 0xFFFF.
*/
psRdpsndServerSetVolume SetVolume;
WINPR_ATTR_NODISCARD psRdpsndServerSetVolume SetVolume;
/**
* Close the audio stream.
*/
@@ -155,28 +155,28 @@ extern "C"
* opening the channel.
* Also used to restart the protocol after sending the Close PDU.
*/
psRdpsndServerSendFormats SendFormats;
WINPR_ATTR_NODISCARD psRdpsndServerSendFormats SendFormats;
/**
* Send Training PDU.
*/
psRdpsndServerTraining Training;
WINPR_ATTR_NODISCARD psRdpsndServerTraining Training;
/**
* Send encoded audio samples using a Wave2 PDU.
* When successful, the block_no member is incremented.
*/
psRdpsndServerSendSamples2 SendSamples2;
WINPR_ATTR_NODISCARD psRdpsndServerSendSamples2 SendSamples2;
/**
* Called when a TrainingConfirm PDU is received from the client.
*/
psRdpsndServerTrainingConfirm TrainingConfirm;
WINPR_ATTR_NODISCARD psRdpsndServerTrainingConfirm TrainingConfirm;
/**
* Callback, when the channel got its id assigned.
* Only called, when use_dynamic_virtual_channel=TRUE.
*/
psRdpsndChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psRdpsndChannelIdAssigned ChannelIdAssigned;
UINT16 udpPort; /** @since version 3.14.0 */
UINT8 lastblock; /** @since version 3.14.0 */

View File

@@ -48,7 +48,7 @@ extern "C"
HANDLE vcm;
void* custom;
psRemdeskStart Start;
WINPR_ATTR_NODISCARD psRemdeskStart Start;
psRemdeskStop Stop;
RemdeskServerPrivate* priv;

View File

@@ -200,16 +200,16 @@ extern "C"
struct S_RDP_SHADOW_ENTRY_POINTS
{
pfnShadowSubsystemNew New;
WINPR_ATTR_NODISCARD pfnShadowSubsystemNew New;
pfnShadowSubsystemFree Free;
pfnShadowSubsystemInit Init;
WINPR_ATTR_NODISCARD pfnShadowSubsystemInit Init;
pfnShadowSubsystemUninit Uninit;
pfnShadowSubsystemStart Start;
WINPR_ATTR_NODISCARD pfnShadowSubsystemStart Start;
pfnShadowSubsystemStop Stop;
pfnShadowEnumMonitors EnumMonitors;
WINPR_ATTR_NODISCARD pfnShadowEnumMonitors EnumMonitors;
};
struct rdp_shadow_subsystem
@@ -236,21 +236,21 @@ extern "C"
AUDIO_FORMAT* audinFormats;
size_t nAudinFormats;
pfnShadowSynchronizeEvent SynchronizeEvent;
pfnShadowKeyboardEvent KeyboardEvent;
pfnShadowUnicodeKeyboardEvent UnicodeKeyboardEvent;
pfnShadowMouseEvent MouseEvent;
pfnShadowExtendedMouseEvent ExtendedMouseEvent;
pfnShadowChannelAudinServerReceiveSamples AudinServerReceiveSamples;
WINPR_ATTR_NODISCARD pfnShadowSynchronizeEvent SynchronizeEvent;
WINPR_ATTR_NODISCARD pfnShadowKeyboardEvent KeyboardEvent;
WINPR_ATTR_NODISCARD pfnShadowUnicodeKeyboardEvent UnicodeKeyboardEvent;
WINPR_ATTR_NODISCARD pfnShadowMouseEvent MouseEvent;
WINPR_ATTR_NODISCARD pfnShadowExtendedMouseEvent ExtendedMouseEvent;
WINPR_ATTR_NODISCARD pfnShadowChannelAudinServerReceiveSamples AudinServerReceiveSamples;
pfnShadowAuthenticate Authenticate;
pfnShadowClientConnect ClientConnect;
WINPR_ATTR_NODISCARD pfnShadowAuthenticate Authenticate;
WINPR_ATTR_NODISCARD pfnShadowClientConnect ClientConnect;
pfnShadowClientDisconnect ClientDisconnect;
pfnShadowClientCapabilities ClientCapabilities;
WINPR_ATTR_NODISCARD pfnShadowClientCapabilities ClientCapabilities;
rdpShadowServer* server;
pfnShadowRelMouseEvent RelMouseEvent; /** @since version 3.15.0 */
WINPR_ATTR_NODISCARD pfnShadowRelMouseEvent RelMouseEvent; /** @since version 3.15.0 */
};
/* Definition of message between subsystem and clients */

View File

@@ -60,41 +60,41 @@ extern "C"
*
* Defaults to externalThread=FALSE
*/
psTelemetryServerInitialize Initialize;
WINPR_ATTR_NODISCARD psTelemetryServerInitialize Initialize;
/**
* Open the telemetry channel.
*/
psTelemetryServerOpen Open;
WINPR_ATTR_NODISCARD psTelemetryServerOpen Open;
/**
* Close the telemetry channel.
*/
psTelemetryServerClose Close;
WINPR_ATTR_NODISCARD psTelemetryServerClose Close;
/**
* Poll
* When externalThread=TRUE, call Poll() periodically from your main loop.
* If externalThread=FALSE do not call.
*/
psTelemetryServerPoll Poll;
WINPR_ATTR_NODISCARD psTelemetryServerPoll Poll;
/**
* Retrieve the channel handle for use in conjunction with Poll().
* If externalThread=FALSE do not call.
*/
psTelemetryServerChannelHandle ChannelHandle;
WINPR_ATTR_NODISCARD psTelemetryServerChannelHandle ChannelHandle;
/*** Callbacks registered by the server. ***/
/**
* Callback, when the channel got its id assigned
*/
psTelemetryServerChannelIdAssigned ChannelIdAssigned;
WINPR_ATTR_NODISCARD psTelemetryServerChannelIdAssigned ChannelIdAssigned;
/**
* Callback for the RDP Telemetry PDU.
*/
psTelemetryServerRdpTelemetry RdpTelemetry;
WINPR_ATTR_NODISCARD psTelemetryServerRdpTelemetry RdpTelemetry;
rdpContext* rdpcontext;
};

View File

@@ -43,10 +43,10 @@ extern "C"
{
UINT32 cbSize;
UINT32 protocolVersion;
PVIRTUALCHANNELINIT pVirtualChannelInit;
PVIRTUALCHANNELOPEN pVirtualChannelOpen;
PVIRTUALCHANNELCLOSE pVirtualChannelClose;
PVIRTUALCHANNELWRITE pVirtualChannelWrite;
WINPR_ATTR_NODISCARD PVIRTUALCHANNELINIT pVirtualChannelInit;
WINPR_ATTR_NODISCARD PVIRTUALCHANNELOPEN pVirtualChannelOpen;
WINPR_ATTR_NODISCARD PVIRTUALCHANNELCLOSE pVirtualChannelClose;
WINPR_ATTR_NODISCARD PVIRTUALCHANNELWRITE pVirtualChannelWrite;
/* Extended Fields */
UINT32 MagicNumber; /* identifies FreeRDP */
@@ -60,10 +60,10 @@ extern "C"
{
UINT32 cbSize;
UINT32 protocolVersion;
PVIRTUALCHANNELINITEX pVirtualChannelInitEx;
PVIRTUALCHANNELOPENEX pVirtualChannelOpenEx;
WINPR_ATTR_NODISCARD PVIRTUALCHANNELINITEX pVirtualChannelInitEx;
WINPR_ATTR_NODISCARD PVIRTUALCHANNELOPENEX pVirtualChannelOpenEx;
PVIRTUALCHANNELCLOSEEX pVirtualChannelCloseEx;
PVIRTUALCHANNELWRITEEX pVirtualChannelWriteEx;
WINPR_ATTR_NODISCARD PVIRTUALCHANNELWRITEEX pVirtualChannelWriteEx;
/* Extended Fields */
UINT32 MagicNumber; /* identifies FreeRDP */

View File

@@ -68,11 +68,11 @@ extern "C"
typedef struct
{
ALIGN64 void* userContext;
ALIGN64 pTransportLayerRead Read;
ALIGN64 pTransportLayerWrite Write;
ALIGN64 WINPR_ATTR_NODISCARD pTransportLayerRead Read;
ALIGN64 WINPR_ATTR_NODISCARD pTransportLayerWrite Write;
ALIGN64 pTransportLayerFkt Close;
ALIGN64 pTransportLayerWait Wait;
ALIGN64 pTransportLayerGetEvent GetEvent;
ALIGN64 WINPR_ATTR_NODISCARD pTransportLayerWait Wait;
ALIGN64 WINPR_ATTR_NODISCARD pTransportLayerGetEvent GetEvent;
UINT64 reserved[64 - 6]; /* Reserve some space for ABI compatibility */
} rdpTransportLayer;
@@ -110,18 +110,18 @@ extern "C"
struct rdp_transport_io
{
pTCPConnect TCPConnect;
pTransportFkt TLSConnect;
pTransportFkt TLSAccept;
pTransportAttach TransportAttach;
pTransportFkt TransportDisconnect;
pTransportRWFkt ReadPdu; /* Reads a whole PDU from the transport */
pTransportRWFkt WritePdu; /* Writes a whole PDU to the transport */
pTransportRead ReadBytes; /* Reads up to a requested amount of bytes */
pTransportGetPublicKey GetPublicKey; /** @since version 3.2.0 */
pTransportSetBlockingMode SetBlockingMode; /** @since version 3.3.0 */
pTransportConnectLayer ConnectLayer; /** @since 3.9.0 */
pTransportAttachLayer AttachLayer; /** @since 3.9.0 */
WINPR_ATTR_NODISCARD pTCPConnect TCPConnect;
WINPR_ATTR_NODISCARD pTransportFkt TLSConnect;
WINPR_ATTR_NODISCARD pTransportFkt TLSAccept;
WINPR_ATTR_NODISCARD pTransportAttach TransportAttach;
WINPR_ATTR_NODISCARD pTransportFkt TransportDisconnect;
WINPR_ATTR_NODISCARD pTransportRWFkt ReadPdu; /* Reads a whole PDU from the transport */
WINPR_ATTR_NODISCARD pTransportRWFkt WritePdu; /* Writes a whole PDU to the transport */
WINPR_ATTR_NODISCARD pTransportRead ReadBytes; /* Reads up to a requested amount of bytes */
WINPR_ATTR_NODISCARD pTransportGetPublicKey GetPublicKey; /** @since version 3.2.0 */
WINPR_ATTR_NODISCARD pTransportSetBlockingMode SetBlockingMode; /** @since version 3.3.0 */
WINPR_ATTR_NODISCARD pTransportConnectLayer ConnectLayer; /** @since 3.9.0 */
WINPR_ATTR_NODISCARD pTransportAttachLayer AttachLayer; /** @since 3.9.0 */
UINT64 reserved[64 - 12]; /* Reserve some space for ABI compatibility */
};
typedef struct rdp_transport_io rdpTransportIo;

View File

@@ -202,16 +202,16 @@ extern "C"
rdpContext* context; /* 0 */
UINT32 paddingA[16 - 1]; /* 1 */
pBeginPaint BeginPaint; /* 16 */
pEndPaint EndPaint; /* 17 */
pSetBounds SetBounds; /* 18 */
pSynchronize Synchronize; /* 19 */
pDesktopResize DesktopResize; /* 20 */
pBitmapUpdate BitmapUpdate; /* 21 */
pPalette Palette; /* 22 */
pPlaySound PlaySound; /* 23 */
pSetKeyboardIndicators SetKeyboardIndicators; /* 24 */
pSetKeyboardImeStatus SetKeyboardImeStatus; /* 25 */
WINPR_ATTR_NODISCARD pBeginPaint BeginPaint; /* 16 */
WINPR_ATTR_NODISCARD pEndPaint EndPaint; /* 17 */
WINPR_ATTR_NODISCARD pSetBounds SetBounds; /* 18 */
WINPR_ATTR_NODISCARD pSynchronize Synchronize; /* 19 */
WINPR_ATTR_NODISCARD pDesktopResize DesktopResize; /* 20 */
WINPR_ATTR_NODISCARD pBitmapUpdate BitmapUpdate; /* 21 */
WINPR_ATTR_NODISCARD pPalette Palette; /* 22 */
WINPR_ATTR_NODISCARD pPlaySound PlaySound; /* 23 */
WINPR_ATTR_NODISCARD pSetKeyboardIndicators SetKeyboardIndicators; /* 24 */
WINPR_ATTR_NODISCARD pSetKeyboardImeStatus SetKeyboardImeStatus; /* 25 */
UINT32 paddingB[32 - 26]; /* 26 */
rdpPointerUpdate* pointer; /* 32 */
@@ -226,13 +226,13 @@ extern "C"
pRemoteMonitors RemoteMonitors; /* 50 */
UINT32 paddingD[64 - 51]; /* 51 */
pSurfaceCommand SurfaceCommand; /* 64 */
pSurfaceBits SurfaceBits; /* 65 */
pSurfaceFrameMarker SurfaceFrameMarker; /* 66 */
pSurfaceFrameBits SurfaceFrameBits; /* 67 */
pSurfaceFrameAcknowledge SurfaceFrameAcknowledge; /* 68 */
pSaveSessionInfo SaveSessionInfo; /* 69 */
pServerStatusInfo ServerStatusInfo; /* 70 */
WINPR_ATTR_NODISCARD pSurfaceCommand SurfaceCommand; /* 64 */
WINPR_ATTR_NODISCARD pSurfaceBits SurfaceBits; /* 65 */
WINPR_ATTR_NODISCARD pSurfaceFrameMarker SurfaceFrameMarker; /* 66 */
WINPR_ATTR_NODISCARD pSurfaceFrameBits SurfaceFrameBits; /* 67 */
WINPR_ATTR_NODISCARD pSurfaceFrameAcknowledge SurfaceFrameAcknowledge; /* 68 */
WINPR_ATTR_NODISCARD pSaveSessionInfo SaveSessionInfo; /* 69 */
WINPR_ATTR_NODISCARD pServerStatusInfo ServerStatusInfo; /* 70 */
/* if autoCalculateBitmapData is set to TRUE, the server automatically
* fills BITMAP_DATA struct members: flags, cbCompMainBodySize and cbCompFirstRowSize.
*/

View File

@@ -277,16 +277,16 @@ extern "C"
rdpContext* context; /* 0 */
UINT32 paddingA[16 - 1]; /* 1 */
pWindowCreate WindowCreate; /* 16 */
pWindowUpdate WindowUpdate; /* 17 */
pWindowIcon WindowIcon; /* 18 */
pWindowCachedIcon WindowCachedIcon; /* 19 */
pWindowDelete WindowDelete; /* 20 */
pNotifyIconCreate NotifyIconCreate; /* 21 */
pNotifyIconUpdate NotifyIconUpdate; /* 22 */
pNotifyIconDelete NotifyIconDelete; /* 23 */
pMonitoredDesktop MonitoredDesktop; /* 24 */
pNonMonitoredDesktop NonMonitoredDesktop; /* 25 */
WINPR_ATTR_NODISCARD pWindowCreate WindowCreate; /* 16 */
WINPR_ATTR_NODISCARD pWindowUpdate WindowUpdate; /* 17 */
WINPR_ATTR_NODISCARD pWindowIcon WindowIcon; /* 18 */
WINPR_ATTR_NODISCARD pWindowCachedIcon WindowCachedIcon; /* 19 */
WINPR_ATTR_NODISCARD pWindowDelete WindowDelete; /* 20 */
WINPR_ATTR_NODISCARD pNotifyIconCreate NotifyIconCreate; /* 21 */
WINPR_ATTR_NODISCARD pNotifyIconUpdate NotifyIconUpdate; /* 22 */
WINPR_ATTR_NODISCARD pNotifyIconDelete NotifyIconDelete; /* 23 */
WINPR_ATTR_NODISCARD pMonitoredDesktop MonitoredDesktop; /* 24 */
WINPR_ATTR_NODISCARD pNonMonitoredDesktop NonMonitoredDesktop; /* 25 */
UINT32 paddingB[32 - 26]; /* 26 */
};
typedef struct rdp_window_update rdpWindowUpdate;