20#include <freerdp/config.h>
23#include <winpr/stream.h>
24#include <freerdp/channels/log.h>
26#define TAG CHANNELS_TAG("disp.common")
28#include "disp_common.h"
40 if (!Stream_CheckAndLogRequiredLength(TAG, s, 8))
41 return ERROR_INVALID_DATA;
43 Stream_Read_UINT32(s, header->type);
44 Stream_Read_UINT32(s, header->length);
45 if (header->length < 8)
47 WLog_ERR(TAG,
"Invalid header length %" PRIu32
", require at least 8", header->length);
48 return ERROR_INVALID_DATA;
50 if (!Stream_CheckAndLogRequiredLength(TAG, s, header->length - 8))
51 return ERROR_INVALID_DATA;
54 *packetLen = header->length - 8;
66 Stream_Write_UINT32(s, header->type);
67 Stream_Write_UINT32(s, header->length);