Код
//--------------------------------------------------------------------------
typedef struct
{
WORD size
BYTE rec_type;
WORD net_adr;
DeviceType_e dev_type;
SysTime st;
WORD crc;
} LogHeader_s; //13
//--------------------------------------------------------------------------
Это заголвок для данных получаемых с разнородных устройств.
Поиск можно делать по времени, типу источника данных, его сетевому адресу, типу записи (текущие, накпленные, кофигурационные даные, сообщения об ошибках). Удобнее писать в начало каждой новой страницы, тогда просто начинаете с 0 со смещением в размер страницы. Легко писать, но будет присутствовать фрагментация.
Можете укладывать одну за другой со смещением в size, но тогда нужно будет все время переводить абсолютный адрес в страничный.
А это достаточно морочливо и может стать источником глюков, особенно если лог закольцован.