FreeRDP
Loading...
Searching...
No Matches
rdpewa_cbor.h
1
19#ifndef FREERDP_CHANNEL_RDPEWA_CLIENT_CBOR_H
20#define FREERDP_CHANNEL_RDPEWA_CLIENT_CBOR_H
21
22#include <winpr/stream.h>
23#include <winpr/wtypes.h>
24
25#include <freerdp/channels/rdpewa.h>
26
28typedef struct
29{
30 UINT32 command;
31 UINT32 flags;
32 BYTE* request;
33 size_t requestLen;
34 UINT32 timeout;
35 BYTE transactionId[16];
36 BOOL hasTransactionId;
37 char rpId[256];
39
41typedef struct
42{
43 UINT32 maxMsgSize;
44 UINT32 maxSerializedLargeBlobArray;
45 char providerType[16];
46 char providerName[64];
47 char devicePath[256];
48 char manufacturer[64];
49 char product[64];
50 BYTE aaGuid[16];
51 BYTE uvStatus;
52 BYTE uvRetries;
53 UINT32 transports;
55
63WINPR_ATTR_NODISCARD
64BOOL rdpewa_cbor_decode_request(const BYTE* data, size_t length, RDPEWA_REQUEST* out);
65
77WINPR_ATTR_MALLOC(Stream_Free, 1)
78wStream* rdpewa_cbor_encode_webauthn_response(HRESULT hresult, BYTE ctapStatus,
79 const BYTE* ctapData, size_t ctapLen,
80 const RDPEWA_DEVICE_INFO* devInfo);
81
88WINPR_ATTR_MALLOC(Stream_Free, 1)
89wStream* rdpewa_cbor_encode_simple_response(HRESULT hresult, UINT32 value);
90
96WINPR_ATTR_MALLOC(Stream_Free, 1)
97wStream* rdpewa_cbor_encode_hresult_response(HRESULT hresult);
98
99#endif /* FREERDP_CHANNEL_RDPEWA_CLIENT_CBOR_H */
Device info for the response map.
Definition rdpewa_cbor.h:42
Decoded MS-RDPEWA request message.
Definition rdpewa_cbor.h:29