BD_REGISTERS *bd_registers_init(void) { BD_REGISTERS *p = calloc(1, sizeof(BD_REGISTERS)); memcpy(p->psr, bd_psr_init, sizeof(bd_psr_init)); bd_mutex_init(&p->mutex); return p; }
GRAPHICS_CONTROLLER *gc_init(BD_REGISTERS *regs, void *handle, gc_overlay_proc_f func) { GRAPHICS_CONTROLLER *p = calloc(1, sizeof(*p)); p->regs = regs; p->overlay_proc_handle = handle; p->overlay_proc = func; bd_mutex_init(&p->mutex); return p; }
static BD_DISC *_disc_init() { BD_DISC *p = calloc(1, sizeof(BD_DISC)); if (p) { bd_mutex_init(&p->ovl_mutex); /* default file access functions */ p->fs_handle = (void*)p; p->pf_file_open_bdrom = _bdrom_open_path; p->pf_dir_open_bdrom = _bdrom_open_dir; p->avchd = -1; } return p; }