From 503f057d3e4458030d3400a25caad71d2d98525b Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Fri, 14 Oct 2016 15:51:38 +0100 Subject: [PATCH] libdfu: Add dfu_sector_get_zone() to get the continuous memory zone number --- libdfu/dfu-sector.c | 40 ++++++++++++++++++++++++++++++++++++++-- libdfu/dfu-sector.h | 2 ++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/libdfu/dfu-sector.c b/libdfu/dfu-sector.c index c7dfbcf2f..4316a655e 100644 --- a/libdfu/dfu-sector.c +++ b/libdfu/dfu-sector.c @@ -119,7 +119,7 @@ dfu_sector_get_address (DfuSector *sector) * dfu_sector_get_size: * @sector: a #DfuSector * - * Gets the alternate setting. + * Gets the sector size. * * Return value: integer, or 0x00 for unset * @@ -137,7 +137,7 @@ dfu_sector_get_size (DfuSector *sector) * dfu_sector_get_size_left: * @sector: a #DfuSector * - * Gets the alternate setting. + * Gets the size of the rest of the sector. * * Return value: integer, or 0x00 for unset * @@ -151,6 +151,42 @@ dfu_sector_get_size_left (DfuSector *sector) return priv->size_left; } +/** + * dfu_sector_get_zone: + * @sector: a #DfuSector + * + * Gets the sector zone number. + * + * Return value: integer, or 0x00 for unset + * + * Since: 0.7.5 + **/ +guint16 +dfu_sector_get_zone (DfuSector *sector) +{ + DfuSectorPrivate *priv = GET_PRIVATE (sector); + g_return_val_if_fail (DFU_IS_SECTOR (sector), 0x00); + return priv->zone; +} + +/** + * dfu_sector_get_number: + * @sector: a #DfuSector + * + * Gets the sector index number. + * + * Return value: integer, or 0x00 for unset + * + * Since: 0.7.5 + **/ +guint16 +dfu_sector_get_number (DfuSector *sector) +{ + DfuSectorPrivate *priv = GET_PRIVATE (sector); + g_return_val_if_fail (DFU_IS_SECTOR (sector), 0x00); + return priv->number; +} + /** * dfu_sector_get_id: * @sector: a #DfuSector diff --git a/libdfu/dfu-sector.h b/libdfu/dfu-sector.h index 0b24609eb..2a42b913d 100644 --- a/libdfu/dfu-sector.h +++ b/libdfu/dfu-sector.h @@ -68,6 +68,8 @@ guint32 dfu_sector_get_id (DfuSector *sector); guint32 dfu_sector_get_address (DfuSector *sector); guint32 dfu_sector_get_size (DfuSector *sector); guint32 dfu_sector_get_size_left (DfuSector *sector); +guint16 dfu_sector_get_zone (DfuSector *sector); +guint16 dfu_sector_get_number (DfuSector *sector); gboolean dfu_sector_has_cap (DfuSector *sector, DfuSectorCap cap); gchar *dfu_sector_to_string (DfuSector *sector);