static BOOL CALLBACK mapping_dialog_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch (msg) { case WM_NOTIFY: switch (((NMHDR FAR *)lparam)->code) { case PSN_KILLACTIVE: end_mapping_dialog(hwnd); return TRUE; } return FALSE; case WM_COMMAND: { int i; for (i = 0; i < uikeyboard_mapping_num; i++) { if (LOWORD(wparam) == mapping_entry[i].idc_select) enable_mapping_controls(hwnd, LOWORD(wparam)); if (LOWORD(wparam) == mapping_entry[i].idc_browse) browse_mapping(hwnd, i); } if (LOWORD(wparam) == mapping_idc_dump) dump_mapping(hwnd); } return FALSE; case WM_CLOSE: EndDialog(hwnd, 0); return TRUE; case WM_INITDIALOG: system_init_dialog(hwnd); init_mapping_dialog(hwnd); return TRUE; } return FALSE; }
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 (); }
int main(int argc, char **argv) { int fd; int org_force_create; int org_force_destroy; parse_args(argc, argv); memset(&mapping, 0, sizeof(struct vme_mapping)); mapping.window_num = 0; mapping.am = am; switch (dsize) { case 16: mapping.data_width = VME_D16; break; case 32: mapping.data_width = VME_D32; break; default: printf("Unsupported data width %d\n", dsize); exit(1); } mapping.vme_addru = 0; mapping.vme_addrl = vmeaddr; mapping.sizeu = 0; mapping.sizel = length; printf("Creating mapping\n\tVME addr: 0x%08x size: 0x%08x " "AM: 0x%02x data width: %d\n\n", vmeaddr, length, am, dsize); if ((fd = open(VME_MWINDOW_DEV, O_RDWR)) < 0) { printf("Failed to open %s: %s\n", VME_MWINDOW_DEV, strerror(errno)); exit(1); } if (ioctl(fd, VME_IOCTL_GET_CREATE_ON_FIND_FAIL, &org_force_create) < 0) { printf("Failed to get force create flag: %s\n", strerror(errno)); close(fd); exit(1); } if (ioctl(fd, VME_IOCTL_GET_DESTROY_ON_REMOVE, &org_force_destroy) < 0) { printf("Failed to get force destroy flag: %s\n", strerror(errno)); close(fd); exit(1); } if (force_create != -1) { if (ioctl(fd, VME_IOCTL_SET_CREATE_ON_FIND_FAIL, &force_create) < 0) { printf("Failed to set force create flag: %s\n", strerror(errno)); close(fd); exit(1); } } if (force_destroy != -1) { if (ioctl(fd, VME_IOCTL_SET_DESTROY_ON_REMOVE, &force_destroy) < 0) { printf("Failed to set force destroy flag: %s\n", strerror(errno)); close(fd); exit(1); } } if (ioctl(fd, VME_IOCTL_FIND_MAPPING, &mapping) < 0) { printf("Failed to create mapping: %s\n", strerror(errno)); close(fd); exit(1); } dump_mapping(&mapping); if (snooze) { printf("Going to sleep for %ds\n", snooze); sleep(snooze); printf("Back to business\n"); } if (ioctl(fd, VME_IOCTL_RELEASE_MAPPING, &mapping) < 0) { printf("Failed to release mapping: %s\n", strerror(errno)); close(fd); exit(1); } /* Restore original force flags */ if (ioctl(fd, VME_IOCTL_SET_CREATE_ON_FIND_FAIL, &org_force_create) < 0) { printf("Failed to restore force_create flag: %s\n", strerror(errno)); close(fd); exit(1); } if (ioctl(fd, VME_IOCTL_SET_DESTROY_ON_REMOVE, &org_force_destroy) < 0) { printf("Failed to restore force_destroy flag: %s\n", strerror(errno)); close(fd); exit(1); } close(fd); return 0; }
void dump_mappings(pMapping m) { while(m) { dump_mapping(m); m=m->next; }; };