struct _pcap_record
{
pcap_record_header header;
- void* data;
+ union
+ {
+ void* data;
+ const void* cdata;
+ };
UINT32 length;
pcap_record* next;
};
FREERDP_API rdpPcap* pcap_open(char* name, BOOL write);
FREERDP_API void pcap_close(rdpPcap* pcap);
- FREERDP_API BOOL pcap_add_record(rdpPcap* pcap, void* data, UINT32 length);
+ FREERDP_API BOOL pcap_add_record(rdpPcap* pcap, const void* data, UINT32 length);
FREERDP_API BOOL pcap_has_next_record(rdpPcap* pcap);
FREERDP_API BOOL pcap_get_next_record(rdpPcap* pcap, pcap_record* record);
FREERDP_API BOOL pcap_get_next_record_header(rdpPcap* pcap, pcap_record* record);
static BOOL pcap_write_record(rdpPcap* pcap, pcap_record* record)
{
return pcap_write_record_header(pcap, &record->header) &&
- (fwrite(record->data, record->length, 1, pcap->fp) == 1);
+ (fwrite(record->cdata, record->length, 1, pcap->fp) == 1);
}
-BOOL pcap_add_record(rdpPcap* pcap, void* data, UINT32 length)
+BOOL pcap_add_record(rdpPcap* pcap, const void* data, UINT32 length)
{
pcap_record* record;
struct timeval tp;
if (pcap->record == NULL)
pcap->record = record;
- record->data = data;
+ record->cdata = data;
record->length = length;
record->header.incl_len = length;
record->header.orig_len = length;