diff options
Diffstat (limited to 'layout.c')
-rw-r--r-- | layout.c | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -244,3 +244,44 @@ const struct romentry *layout_next_included_region( return lowest; } + +/** + * @addtogroup flashrom-layout + * @{ + */ + +/** + * @brief Mark given region as included. + * + * @param layout The layout to alter. + * @param name The name of the region to include. + * + * @return 0 on success, + * 1 if the given name can't be found. + */ +int flashrom_layout_include_region(struct flashrom_layout *const layout, const char *name) +{ + size_t i; + for (i = 0; i < layout->num_entries; ++i) { + if (!strcmp(layout->entries[i].name, name)) { + layout->entries[i].included = true; + return 0; + } + } + return 1; +} + +/** + * @brief Free a layout. + * + * @param layout Layout to free. + */ +void flashrom_layout_release(struct flashrom_layout *const layout) +{ + if (layout == get_global_layout()) + return; + + free(layout); +} + +/** @} */ /* end flashrom-layout */ |