From 6a1cc0f031ca1de7b7c83fa5f3dc5628bbb06cfd Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Sun, 15 Feb 2026 22:45:20 +0100 Subject: [PATCH] [freerdp,api] mark function pointers [[nodiscard]] --- .../rdpecam/client/camera_device_enum_main.c | 4 +- include/freerdp/altsec.h | 28 ++-- include/freerdp/autodetect.h | 30 ++-- include/freerdp/channels/rdpdr.h | 12 +- include/freerdp/client.h | 6 +- include/freerdp/client/ainput.h | 2 +- include/freerdp/client/audin.h | 30 ++-- include/freerdp/client/cliprdr.h | 40 +++--- include/freerdp/client/disp.h | 4 +- include/freerdp/client/drdynvc.h | 12 +- include/freerdp/client/encomsp.h | 22 +-- include/freerdp/client/geometry.h | 6 +- include/freerdp/client/location.h | 6 +- include/freerdp/client/printer.h | 10 +- include/freerdp/client/rail.h | 62 ++++----- include/freerdp/client/rdpdr.h | 6 +- include/freerdp/client/rdpei.h | 42 +++--- include/freerdp/client/rdpgfx.h | 72 +++++----- include/freerdp/client/rdpsnd.h | 16 +-- include/freerdp/client/tsmf.h | 2 +- include/freerdp/client/video.h | 4 +- include/freerdp/dvc.h | 72 +++++----- include/freerdp/extension.h | 27 ++-- include/freerdp/freerdp.h | 64 ++++----- include/freerdp/graphics.h | 30 ++-- include/freerdp/heartbeat.h | 2 +- include/freerdp/input.h | 18 +-- include/freerdp/listener.h | 16 +-- include/freerdp/peer.h | 65 ++++----- include/freerdp/pointer.h | 12 +- include/freerdp/primary.h | 54 ++++---- include/freerdp/primitives.h | 72 +++++----- include/freerdp/secondary.h | 24 ++-- include/freerdp/server/ainput.h | 16 +-- include/freerdp/server/audin.h | 28 ++-- include/freerdp/server/cliprdr.h | 48 +++---- include/freerdp/server/disp.h | 10 +- include/freerdp/server/drdynvc.h | 2 +- include/freerdp/server/echo.h | 10 +- include/freerdp/server/encomsp.h | 24 ++-- include/freerdp/server/gfxredir.h | 26 ++-- include/freerdp/server/location.h | 22 +-- include/freerdp/server/proxy/proxy_context.h | 7 +- .../freerdp/server/proxy/proxy_modules_api.h | 76 ++++++----- include/freerdp/server/rail.h | 62 ++++----- include/freerdp/server/rdpdr.h | 128 +++++++++--------- include/freerdp/server/rdpecam-enumerator.h | 22 +-- include/freerdp/server/rdpecam.h | 52 +++---- include/freerdp/server/rdpei.h | 17 ++- include/freerdp/server/rdpemsc.h | 18 +-- include/freerdp/server/rdpgfx.h | 54 ++++---- include/freerdp/server/rdpsnd.h | 22 +-- include/freerdp/server/remdesk.h | 2 +- include/freerdp/server/shadow.h | 28 ++-- include/freerdp/server/telemetry.h | 14 +- include/freerdp/svc.h | 14 +- include/freerdp/transport_io.h | 32 ++--- include/freerdp/update.h | 34 ++--- include/freerdp/window.h | 20 +-- 59 files changed, 847 insertions(+), 813 deletions(-) diff --git a/channels/rdpecam/client/camera_device_enum_main.c b/channels/rdpecam/client/camera_device_enum_main.c index 240a160e4..d777c41a0 100644 --- a/channels/rdpecam/client/camera_device_enum_main.c +++ b/channels/rdpecam/client/camera_device_enum_main.c @@ -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); } /** diff --git a/include/freerdp/altsec.h b/include/freerdp/altsec.h index 348662cc1..74da26412 100644 --- a/include/freerdp/altsec.h +++ b/include/freerdp/altsec.h @@ -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; diff --git a/include/freerdp/autodetect.h b/include/freerdp/autodetect.h index b8551488d..4260c9424 100644 --- a/include/freerdp/autodetect.h +++ b/include/freerdp/autodetect.h @@ -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); diff --git a/include/freerdp/channels/rdpdr.h b/include/freerdp/channels/rdpdr.h index 2e947f3f2..979455c7d 100644 --- a/include/freerdp/channels/rdpdr.h +++ b/include/freerdp/channels/rdpdr.h @@ -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; diff --git a/include/freerdp/client.h b/include/freerdp/client.h index c0338cae0..467e5ff2c 100644 --- a/include/freerdp/client.h +++ b/include/freerdp/client.h @@ -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; }; diff --git a/include/freerdp/client/ainput.h b/include/freerdp/client/ainput.h index c43267747..48dade32b 100644 --- a/include/freerdp/client/ainput.h +++ b/include/freerdp/client/ainput.h @@ -38,7 +38,7 @@ extern "C" void* handle; void* custom; - pcAInputSendInputEvent AInputSendInputEvent; + WINPR_ATTR_NODISCARD pcAInputSendInputEvent AInputSendInputEvent; }; #ifdef __cplusplus diff --git a/include/freerdp/client/audin.h b/include/freerdp/client/audin.h index 21b6c09f1..b497cf85d 100644 --- a/include/freerdp/client/audin.h +++ b/include/freerdp/client/audin.h @@ -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)( diff --git a/include/freerdp/client/cliprdr.h b/include/freerdp/client/cliprdr.h index 5d1073bf2..4f121c078 100644 --- a/include/freerdp/client/cliprdr.h +++ b/include/freerdp/client/cliprdr.h @@ -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; diff --git a/include/freerdp/client/disp.h b/include/freerdp/client/disp.h index 26eff2713..e19869261 100644 --- a/include/freerdp/client/disp.h +++ b/include/freerdp/client/disp.h @@ -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 diff --git a/include/freerdp/client/drdynvc.h b/include/freerdp/client/drdynvc.h index 897f9dd7a..859da546e 100644 --- a/include/freerdp/client/drdynvc.h +++ b/include/freerdp/client/drdynvc.h @@ -22,6 +22,8 @@ #ifndef FREERDP_CHANNEL_DRDYNVC_CLIENT_DRDYNVC_H #define FREERDP_CHANNEL_DRDYNVC_CLIENT_DRDYNVC_H +#include + #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 diff --git a/include/freerdp/client/encomsp.h b/include/freerdp/client/encomsp.h index 005c8b33a..6f68af3cb 100644 --- a/include/freerdp/client/encomsp.h +++ b/include/freerdp/client/encomsp.h @@ -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; }; diff --git a/include/freerdp/client/geometry.h b/include/freerdp/client/geometry.h index f1c4e7bed..e08cec1c3 100644 --- a/include/freerdp/client/geometry.h +++ b/include/freerdp/client/geometry.h @@ -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; }; diff --git a/include/freerdp/client/location.h b/include/freerdp/client/location.h index 0135029d7..9ac2536c1 100644 --- a/include/freerdp/client/location.h +++ b/include/freerdp/client/location.h @@ -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 diff --git a/include/freerdp/client/printer.h b/include/freerdp/client/printer.h index fd4434594..e14886e35 100644 --- a/include/freerdp/client/printer.h +++ b/include/freerdp/client/printer.h @@ -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; }; diff --git a/include/freerdp/client/rail.h b/include/freerdp/client/rail.h index 18582b992..b06cf83fe 100644 --- a/include/freerdp/client/rail.h +++ b/include/freerdp/client/rail.h @@ -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); diff --git a/include/freerdp/client/rdpdr.h b/include/freerdp/client/rdpdr.h index 391c351f1..c90680c31 100644 --- a/include/freerdp/client/rdpdr.h +++ b/include/freerdp/client/rdpdr.h @@ -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 diff --git a/include/freerdp/client/rdpei.h b/include/freerdp/client/rdpei.h index 50624f421..b49e4ac92 100644 --- a/include/freerdp/client/rdpei.h +++ b/include/freerdp/client/rdpei.h @@ -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; }; diff --git a/include/freerdp/client/rdpgfx.h b/include/freerdp/client/rdpgfx.h index fa0afb56b..0ea7e5f16 100644 --- a/include/freerdp/client/rdpgfx.h +++ b/include/freerdp/client/rdpgfx.h @@ -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; diff --git a/include/freerdp/client/rdpsnd.h b/include/freerdp/client/rdpsnd.h index 437f256b7..9697a8859 100644 --- a/include/freerdp/client/rdpsnd.h +++ b/include/freerdp/client/rdpsnd.h @@ -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" diff --git a/include/freerdp/client/tsmf.h b/include/freerdp/client/tsmf.h index e9cff3cd5..bcb541187 100644 --- a/include/freerdp/client/tsmf.h +++ b/include/freerdp/client/tsmf.h @@ -69,7 +69,7 @@ extern "C" void* handle; void* custom; - pcTsmfFrameEvent FrameEvent; + WINPR_ATTR_NODISCARD pcTsmfFrameEvent FrameEvent; }; #ifdef __cplusplus diff --git a/include/freerdp/client/video.h b/include/freerdp/client/video.h index e520e98ee..840664465 100644 --- a/include/freerdp/client/video.h +++ b/include/freerdp/client/video.h @@ -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; }; diff --git a/include/freerdp/dvc.h b/include/freerdp/dvc.h index c43a641ff..32f9736d0 100644 --- a/include/freerdp/dvc.h +++ b/include/freerdp/dvc.h @@ -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); diff --git a/include/freerdp/extension.h b/include/freerdp/extension.h index 1f9d4cb51..f6976fd7d 100644 --- a/include/freerdp/extension.h +++ b/include/freerdp/extension.h @@ -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 } diff --git a/include/freerdp/freerdp.h b/include/freerdp/freerdp.h index 9e7f70819..7cb59e601 100644 --- a/include/freerdp/freerdp.h +++ b/include/freerdp/freerdp.h @@ -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 */ }; diff --git a/include/freerdp/graphics.h b/include/freerdp/graphics.h index 7dc4e8dda..4de82c5f0 100644 --- a/include/freerdp/graphics.h +++ b/include/freerdp/graphics.h @@ -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 */ diff --git a/include/freerdp/heartbeat.h b/include/freerdp/heartbeat.h index 61512e667..07dabbf0d 100644 --- a/include/freerdp/heartbeat.h +++ b/include/freerdp/heartbeat.h @@ -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, diff --git a/include/freerdp/input.h b/include/freerdp/input.h index d3a9bb2a0..80207d162 100644 --- a/include/freerdp/input.h +++ b/include/freerdp/input.h @@ -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 */ }; diff --git a/include/freerdp/listener.h b/include/freerdp/listener.h index 28d6002cf..dc49348b2 100644 --- a/include/freerdp/listener.h +++ b/include/freerdp/listener.h @@ -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); diff --git a/include/freerdp/peer.h b/include/freerdp/peer.h index d59bef528..19cd074cf 100644 --- a/include/freerdp/peer.h +++ b/include/freerdp/peer.h @@ -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); diff --git a/include/freerdp/pointer.h b/include/freerdp/pointer.h index 351c02134..4968dbebd 100644 --- a/include/freerdp/pointer.h +++ b/include/freerdp/pointer.h @@ -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; diff --git a/include/freerdp/primary.h b/include/freerdp/primary.h index 77f3b399c..b3aebff82 100644 --- a/include/freerdp/primary.h +++ b/include/freerdp/primary.h @@ -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; diff --git a/include/freerdp/primitives.h b/include/freerdp/primitives.h index 5b02d23d4..361e5feac 100644 --- a/include/freerdp/primitives.h +++ b/include/freerdp/primitives.h @@ -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 diff --git a/include/freerdp/secondary.h b/include/freerdp/secondary.h index 76ff13d61..b1b358330 100644 --- a/include/freerdp/secondary.h +++ b/include/freerdp/secondary.h @@ -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; diff --git a/include/freerdp/server/ainput.h b/include/freerdp/server/ainput.h index c3f7a9ad2..7777858b1 100644 --- a/include/freerdp/server/ainput.h +++ b/include/freerdp/server/ainput.h @@ -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); diff --git a/include/freerdp/server/audin.h b/include/freerdp/server/audin.h index dcbfb03ae..d202101f6 100644 --- a/include/freerdp/server/audin.h +++ b/include/freerdp/server/audin.h @@ -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; }; diff --git a/include/freerdp/server/cliprdr.h b/include/freerdp/server/cliprdr.h index 94b33ddb1..e2c745e0c 100644 --- a/include/freerdp/server/cliprdr.h +++ b/include/freerdp/server/cliprdr.h @@ -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; diff --git a/include/freerdp/server/disp.h b/include/freerdp/server/disp.h index e53f2bcef..240c0ef36 100644 --- a/include/freerdp/server/disp.h +++ b/include/freerdp/server/disp.h @@ -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); diff --git a/include/freerdp/server/drdynvc.h b/include/freerdp/server/drdynvc.h index b81ca06bc..422a3061c 100644 --- a/include/freerdp/server/drdynvc.h +++ b/include/freerdp/server/drdynvc.h @@ -45,7 +45,7 @@ extern "C" { HANDLE vcm; - psDrdynvcStart Start; + WINPR_ATTR_NODISCARD psDrdynvcStart Start; psDrdynvcStop Stop; DrdynvcServerPrivate* priv; diff --git a/include/freerdp/server/echo.h b/include/freerdp/server/echo.h index ffc637770..4b49ad387 100644 --- a/include/freerdp/server/echo.h +++ b/include/freerdp/server/echo.h @@ -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; diff --git a/include/freerdp/server/encomsp.h b/include/freerdp/server/encomsp.h index ab263e453..d0492381f 100644 --- a/include/freerdp/server/encomsp.h +++ b/include/freerdp/server/encomsp.h @@ -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; diff --git a/include/freerdp/server/gfxredir.h b/include/freerdp/server/gfxredir.h index b8f7a9605..be49e8dc1 100644 --- a/include/freerdp/server/gfxredir.h +++ b/include/freerdp/server/gfxredir.h @@ -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; diff --git a/include/freerdp/server/location.h b/include/freerdp/server/location.h index ed2baa323..cbda6de08 100644 --- a/include/freerdp/server/location.h +++ b/include/freerdp/server/location.h @@ -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; }; diff --git a/include/freerdp/server/proxy/proxy_context.h b/include/freerdp/server/proxy/proxy_context.h index b958e7cf9..22f10f32c 100644 --- a/include/freerdp/server/proxy/proxy_context.h +++ b/include/freerdp/server/proxy/proxy_context.h @@ -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; diff --git a/include/freerdp/server/proxy/proxy_modules_api.h b/include/freerdp/server/proxy/proxy_modules_api.h index 1887f9091..011ab931c 100644 --- a/include/freerdp/server/proxy/proxy_modules_api.h +++ b/include/freerdp/server/proxy/proxy_modules_api.h @@ -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 diff --git a/include/freerdp/server/rail.h b/include/freerdp/server/rail.h index 985baf3ed..3052058b7 100644 --- a/include/freerdp/server/rail.h +++ b/include/freerdp/server/rail.h @@ -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; diff --git a/include/freerdp/server/rdpdr.h b/include/freerdp/server/rdpdr.h index 4b564e079..f2c33a14b 100644 --- a/include/freerdp/server/rdpdr.h +++ b/include/freerdp/server/rdpdr.h @@ -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; }; diff --git a/include/freerdp/server/rdpecam-enumerator.h b/include/freerdp/server/rdpecam-enumerator.h index ca93ae5cb..c6ee76cfc 100644 --- a/include/freerdp/server/rdpecam-enumerator.h +++ b/include/freerdp/server/rdpecam-enumerator.h @@ -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; }; diff --git a/include/freerdp/server/rdpecam.h b/include/freerdp/server/rdpecam.h index e409b0d13..762afe490 100644 --- a/include/freerdp/server/rdpecam.h +++ b/include/freerdp/server/rdpecam.h @@ -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; }; diff --git a/include/freerdp/server/rdpei.h b/include/freerdp/server/rdpei.h index 74f448f01..214c4e0c8 100644 --- a/include/freerdp/server/rdpei.h +++ b/include/freerdp/server/rdpei.h @@ -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); diff --git a/include/freerdp/server/rdpemsc.h b/include/freerdp/server/rdpemsc.h index f9947ba53..50a560748 100644 --- a/include/freerdp/server/rdpemsc.h +++ b/include/freerdp/server/rdpemsc.h @@ -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; }; diff --git a/include/freerdp/server/rdpgfx.h b/include/freerdp/server/rdpgfx.h index 933853dc3..a8e6c4665 100644 --- a/include/freerdp/server/rdpgfx.h +++ b/include/freerdp/server/rdpgfx.h @@ -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); diff --git a/include/freerdp/server/rdpsnd.h b/include/freerdp/server/rdpsnd.h index 627e157f3..fdac4c87b 100644 --- a/include/freerdp/server/rdpsnd.h +++ b/include/freerdp/server/rdpsnd.h @@ -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 */ diff --git a/include/freerdp/server/remdesk.h b/include/freerdp/server/remdesk.h index f4baa1f02..2e5e04727 100644 --- a/include/freerdp/server/remdesk.h +++ b/include/freerdp/server/remdesk.h @@ -48,7 +48,7 @@ extern "C" HANDLE vcm; void* custom; - psRemdeskStart Start; + WINPR_ATTR_NODISCARD psRemdeskStart Start; psRemdeskStop Stop; RemdeskServerPrivate* priv; diff --git a/include/freerdp/server/shadow.h b/include/freerdp/server/shadow.h index 7d71edee8..3cbd582d0 100644 --- a/include/freerdp/server/shadow.h +++ b/include/freerdp/server/shadow.h @@ -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 */ diff --git a/include/freerdp/server/telemetry.h b/include/freerdp/server/telemetry.h index d61642587..a36cf4c23 100644 --- a/include/freerdp/server/telemetry.h +++ b/include/freerdp/server/telemetry.h @@ -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; }; diff --git a/include/freerdp/svc.h b/include/freerdp/svc.h index fa62462b5..8adaa6ace 100644 --- a/include/freerdp/svc.h +++ b/include/freerdp/svc.h @@ -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 */ diff --git a/include/freerdp/transport_io.h b/include/freerdp/transport_io.h index 6b2499c6c..a81a046dd 100644 --- a/include/freerdp/transport_io.h +++ b/include/freerdp/transport_io.h @@ -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; diff --git a/include/freerdp/update.h b/include/freerdp/update.h index abfe64018..86e14d79d 100644 --- a/include/freerdp/update.h +++ b/include/freerdp/update.h @@ -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. */ diff --git a/include/freerdp/window.h b/include/freerdp/window.h index 2b65a76ce..43a174625 100644 --- a/include/freerdp/window.h +++ b/include/freerdp/window.h @@ -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;