20#include <freerdp/config.h>
23#include <winpr/assert.h>
24#include <winpr/stream.h>
25#include <freerdp/channels/log.h>
27#define TAG CHANNELS_TAG("gfxredir.common")
29#include "gfxredir_common.h"
42 if (!Stream_CheckAndLogRequiredLength(TAG, s, 8))
43 return ERROR_INVALID_DATA;
45 Stream_Read_UINT32(s, header->cmdId);
46 Stream_Read_UINT32(s, header->length);
48 if (header->length < 8)
50 WLog_ERR(TAG,
"Invalid header length %" PRIu32
", require at least 8", header->length);
51 return ERROR_INVALID_DATA;
54 if (!Stream_CheckAndLogRequiredLength(TAG, s, header->length - 8))
55 return ERROR_INVALID_DATA;
58 *packetLen = header->length - 8;
70 Stream_Write_UINT32(s, header->cmdId);
71 Stream_Write_UINT32(s, header->length);