#include #include "entry.h" bool cch_entry_get_handle(struct cch_entry *entry, struct cch_handle *handle) { handle->entry = entry; handle->pointer = 0; handle->wait.disabled = false; nn_cond_init(&handle->wait.cond); nn_mutex_init(&handle->wait.lock); return true; } str *cch_entry_get_handler(struct cch_entry *entry) { return &entry->handler->handler; } s32 cch_entry_guess_format(struct cch_entry *entry) { return entry->handler->guess_format(entry->handler); } void cch_entry_return_handle(struct cch_entry *entry, struct cch_handle *handle) { al_assert(handle->entry == entry); handle->entry = NULL; nn_mutex_destroy(&handle->wait.lock); nn_cond_destroy(&handle->wait.cond); } void cch_entry_free(struct cch_entry **entry) { (*entry)->handler->free(&(*entry)->handler); (*entry)->backing->free(&(*entry)->backing); al_free(*entry); *entry = NULL; }