Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=fwsetup-ng.git;a=commitdiff;h=a5f4b0087c6cb9f38fb8050126a34e1617df26c5
commit a5f4b0087c6cb9f38fb8050126a34e1617df26c5 Author: James Buren <[email protected]> Date: Tue Oct 9 06:40:59 2012 -0500 add functions for retrieiving partition number and size diff --git a/src/block.c b/src/block.c index f66b753..d231cc8 100644 --- a/src/block.c +++ b/src/block.c @@ -518,7 +518,7 @@ extern const char *disk_partition_get_purpose(struct disk *disk,int n) struct partition *part = 0; const char *purpose = "unknown"; - if(disk == 0 || n <= 0 || n > disk->size) + if(disk == 0 || n < 0 || n > disk->size) { errno = EINVAL; fprintf(logfile,"%s: %s\n",__func__,strerror(errno)); @@ -566,7 +566,7 @@ extern bool disk_partition_get_active(struct disk *disk,int n) struct partition *part = 0; bool active = false; - if(disk == 0 || n <= 0 || n > disk->size) + if(disk == 0 || n < 0 || n > disk->size) { errno = EINVAL; fprintf(logfile,"%s: %s\n",__func__,strerror(errno)); @@ -583,6 +583,38 @@ extern bool disk_partition_get_active(struct disk *disk,int n) return active; } +extern int disk_partition_get_number(struct disk *disk,int n) +{ + struct partition *part = 0; + + if(disk == 0 || n < 0 || n > disk->size) + { + errno = EINVAL; + fprintf(logfile,"%s: %s\n",__func__,strerror(errno)); + return 0; + } + + part = &disk->table[n]; + + return part->number; +} + +extern long long disk_partition_get_size(struct disk *disk,int n) +{ + struct partition *part = 0; + + if(disk == 0 || n < 0 || n > disk->size) + { + errno = EINVAL; + fprintf(logfile,"%s: %s\n",__func__,strerror(errno)); + return 0; + } + + part = &disk->table[n]; + + return part->size * disk->device->sectorsize; +} + extern void disk_close(struct disk *disk) { if(disk == 0) _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
