void bd_registers_free(BD_REGISTERS *p) { if (p) { bd_mutex_destroy(&p->mutex); X_FREE(p->cb); } X_FREE(p); }
void gc_free(GRAPHICS_CONTROLLER **p) { if (p && *p) { _gc_reset(*p); if ((*p)->overlay_proc) { (*p)->overlay_proc((*p)->overlay_proc_handle, NULL); } bd_mutex_destroy(&(*p)->mutex); X_FREE(*p); } }
void disc_close(BD_DISC **pp) { if (pp && *pp) { BD_DISC *p = *pp; dec_close(&p->dec); if (p->pf_fs_close) { p->pf_fs_close(p->fs_handle); } bd_mutex_destroy(&p->ovl_mutex); X_FREE(p->disc_root); X_FREE(*pp); } }
void gc_free(GRAPHICS_CONTROLLER **p) { if (p && *p) { GRAPHICS_CONTROLLER *gc = *p; bd_psr_unregister_cb(gc->regs, _process_psr_event, gc); _gc_reset(gc); if (gc->overlay_proc) { gc->overlay_proc(gc->overlay_proc_handle, NULL); } bd_mutex_destroy(&gc->mutex); X_FREE(*p); } }