diff options
author | Nico Huber <nico.h@gmx.de> | 2019-06-15 17:33:49 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2019-06-17 08:31:18 +0000 |
commit | 4f213285d78974c4b8915b311aff88449279f554 (patch) | |
tree | 6927f36d10acff0bee42054d881072354dff192c /layout.c | |
parent | 2b94cdb5cb2a33958b2b0165e02bec17a58a8494 (diff) | |
download | flashrom-4f213285d78974c4b8915b311aff88449279f554.tar.gz flashrom-4f213285d78974c4b8915b311aff88449279f554.tar.bz2 flashrom-4f213285d78974c4b8915b311aff88449279f554.zip |
layout: Move generic layout functions into `layout.c`
Change-Id: If1edde70fc51e88e6e1c560d79a0d51941b9627c
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/33514
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
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 */ |