#ifndef __UFO_ROOF_H
#define __UFO_ROOF_H

#include "ufo-roof-config.h"
#include "ufo-roof-error.h"

#define UFO_ROOF_PACKET_HEADER(buf) ((UfoRoofPacketHeader*)(buf))
#define UFO_ROOF_PACKET_BLOCK_HEADER(buf, cfg) ((UfoRoofPacketBlockHeader*)(((void*)buf) + cfg->max_packets * cfg->max_packet_size))

typedef struct {
    uint32_t                    packet_id;                              // Sequential Packet ID (numbered from 0)
} UfoRoofPacketHeader;

typedef struct {
    uint32_t                    channel_id;                             // Specifies channel on which the data were received (numbered from 0)
    uint32_t                    n_packets;                              // Number of packets
} UfoRoofPacketBlockHeader;


#endif /* __UFO_ROOF_H */