Так попробуй
typedef struct tagTPacket {
unsigned char p[PACKET_SIZE];
} TPacket;
#define RX_SIZE 6
struct TDataBuffer {
TPacket P[RX_SIZE];
unsigned char Last;
unsigned char Next;
};
idata struct TDataBuffer DataBuffer;
Зачем лишний раз тащить объявления struct, гораздо удобнее объявить тип. Или вы пишите библиотеку и не хотите раскрывать эти структуры?