#include #include #include struct osim_decoded_data *osim_file_decode(struct osim_file *file, int len, uint8_t *data) { struct osim_decoded_data *dd; if (!file->desc->ops.parse) return NULL; dd = talloc_zero(file, struct osim_decoded_data); dd->file = file; if (file->desc->ops.parse(dd, file->desc, len, data) < 0) { talloc_free(dd); return NULL; } else return dd; } struct msgb *osim_file_encode(const struct osim_file_desc *desc, const struct osim_decoded_data *data) { if (!desc->ops.encode) return NULL; return desc->ops.encode(desc, data); }