diff options
Diffstat (limited to 'cpukit/libfs/src/rfs/rtems-rfs-block.h')
-rw-r--r-- | cpukit/libfs/src/rfs/rtems-rfs-block.h | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/cpukit/libfs/src/rfs/rtems-rfs-block.h b/cpukit/libfs/src/rfs/rtems-rfs-block.h index 79060f8a4c..e4e3f95830 100644 --- a/cpukit/libfs/src/rfs/rtems-rfs-block.h +++ b/cpukit/libfs/src/rfs/rtems-rfs-block.h @@ -163,11 +163,6 @@ typedef struct rtems_rfs_block_map_s #define rtems_rfs_block_map_size_offset(_m) ((_m)->size.offset) /** - * Set the size offset for the map. - */ -#define rtems_rfs_block_map_set_size_offset(_m, _o) ((_m)->size.offset = (_o)) - -/** * Are we at the last block in the map ? */ #define rtems_rfs_block_map_last(_m) \ @@ -196,6 +191,33 @@ typedef struct rtems_rfs_block_map_s #define rtems_rfs_block_map_block_offset(_m) ((_m)->bpos.boff) /** + * Set the size offset for the map. The map is tagged as dirty. + * + * @param map Pointer to the open map to set the offset in. + * @param offset The offset to set in the map's size. + */ +static inline void +rtems_rfs_block_map_set_size_offset (rtems_rfs_block_map* map, + rtems_rfs_block_off offset) +{ + map->size.offset = offset; + map->dirty = true; +} + +/** + * Set the map's size. The map is tagged as dirty. + * + * @param map Pointer to the open map to set the offset in. + * @param size The size to set in the map's size. + */ +static inline void +rtems_rfs_block_map_set_size (rtems_rfs_block_map* map, + rtems_rfs_block_size* size) +{ + rtems_rfs_block_copy_size (&map->size, size); + map->dirty = true; +} +/** * Open a block map. The block map data in the inode is copied into the * map. The buffer handles are opened. The block position is set to the start * so a seek of offset 0 will return the first block. |