int main(int argc, char **argv) { struct pnor pnor; int rc; if (argc != 2) { printf("usage: %s [pnor file]\n", argv[0]); exit(EXIT_FAILURE); } pnor.path = strndup(argv[1], PATH_MAX); rc = pnor_init(&pnor); assert(rc); dump_parts(pnor.ffsh); pnor_close(&pnor); return 0; }
void dump_fixed_program_record(struct fixed_program_record * p) { dump_group_start ("Program"); dump_bitmapping ("Flags", p->flags, program_flags_mapping); dump_time ("Event Time", p->event_time); dump_u32 ("TMS ID", p->tmsid); dump_u16 ("Minutes", p->minutes); if (p->genre1) dump_mapping ("Genre 1", p->genre1, genre_mapping); if (p->genre2) dump_mapping ("Genre 2", p->genre2, genre_mapping); if (p->genre3) dump_mapping ("Genre 3", p->genre3, genre_mapping); if (p->genre4) dump_mapping ("Genre 4", p->genre4, genre_mapping); dump_u16 ("Record Length",p->record_len); if (p->flags & 0x0040) dump_parts ( &p->parts); if (p->flags & 0x0020) dump_movie ( &p->movie); if (p->title_len > 1) dump_string ("Title", p->datablock + p->title_offset); if (p->episode_len > 1) dump_string ("Episode", p->datablock + p->episode_offset); if (p->description_len > 1) dump_string ("Description", p->datablock + p->description_offset); if (p->actor_len > 1) dump_string ("Actor", p->datablock + p->actor_offset); if (p->guest_len > 1) dump_string ("Guest", p->datablock + p->guest_offset); if (p->suzuki_len > 1) dump_string ("Suzuki", p->datablock + p->suzuki_offset); if (p->producer_len > 1) dump_string ("Producer", p->datablock + p->producer_offset); if (p->director_len > 1) dump_string ("Director", p->datablock + p->director_offset); dump_group_end (); }