On Sat, Sep 03, 2005 at 01:00:07AM +0400, Dmitry V. Levin wrote: > librpmio может предоставить cpio-архив в виде обычного потока, для > которого, кажется, применимы операции типа fsetpos(3). Но поскольку этот > cpio-архив на практике запакован, прозрачной распаковки всё равно не > миновать. Считать первые N байт каждого файла этого cpio-потока librpmio > вряд ли поможет, лучше поискать другие средства. Как читать поток cpio, я разобрался. Теперь дальше, как парсить cpio? У него какой-то хитрый padding (см. TODO). Как libmagic подключить -- вроде ясно, magic_buffer(). Что-то такое есть в rpm-4_0-4.0.4/lib/{cpio,fsm}.{c,h}, но им воспользоваться очень проблемно.