}
static void dump_blkdev(struct fdisk_context *cxt, const char *name,
- off_t offset, size_t size, int all)
+ uint64_t offset, size_t size, int all)
{
int fd = fdisk_get_devfd(cxt);
assert(fd >= 0);
- if (lseek(fd, offset, SEEK_SET) == (off_t) -1)
+ if (lseek(fd, (off_t) offset, SEEK_SET) == (off_t) -1)
fdisk_warn(cxt, _("cannot seek"));
else {
unsigned char *buf = xmalloc(size);
int all = !isatty(STDOUT_FILENO);
int i = 0;
const char *name = NULL;
- off_t offset = 0;
+ uint64_t offset = 0;
size_t size = 0;
assert(cxt);
const char *tpl,
const char *name,
const char *devname,
- off_t offset, size_t size)
+ uint64_t offset, size_t size)
{
char *fname;
int fd, devfd;
if (fd < 0)
goto fail;
- if (lseek(devfd, offset, SEEK_SET) == (off_t) -1) {
+ if (lseek(devfd, (off_t) offset, SEEK_SET) == (off_t) -1) {
fdisk_warn(sf->cxt, _("cannot seek %s"), devname);
goto fail;
} else {
{
const char *name;
char *tpl;
- off_t offset = 0;
+ uint64_t offset = 0;
size_t size = 0;
int i = 0;
}
static int dos_locate_disklabel(struct fdisk_context *cxt, int n,
- const char **name, off_t *offset, size_t *size)
+ const char **name, uint64_t *offset, size_t *size)
{
assert(cxt);
assert(pe->private_sectorbuffer);
*name = "EBR";
- *offset = pe->offset * cxt->sector_size;
+ *offset = (uint64_t) pe->offset * cxt->sector_size;
*size = 512;
} else
return 1;
/* list disklabel details */
int (*list)(struct fdisk_context *cxt);
/* returns offset and size of the 'n' part of the PT */
- int (*locate)(struct fdisk_context *cxt, int n, const char **name, off_t *offset, size_t *size);
+ int (*locate)(struct fdisk_context *cxt, int n, const char **name,
+ uint64_t *offset, size_t *size);
/* reorder partitions */
int (*reorder)(struct fdisk_context *cxt);
static int gpt_locate_disklabel(struct fdisk_context *cxt, int n,
- const char **name, off_t *offset, size_t *size)
+ const char **name, uint64_t *offset, size_t *size)
{
struct fdisk_gpt_label *gpt;
break;
case 1:
*name = _("GPT Header");
- *offset = GPT_PRIMARY_PARTITION_TABLE_LBA * cxt->sector_size;
+ *offset = (uint64_t) GPT_PRIMARY_PARTITION_TABLE_LBA * cxt->sector_size;
*size = sizeof(struct gpt_header);
break;
case 2:
* Returns: 0 on succes, <0 on error, 1 no more items.
*/
int fdisk_locate_disklabel(struct fdisk_context *cxt, int n, const char **name,
- off_t *offset, size_t *size)
+ uint64_t *offset, size_t *size)
{
if (!cxt || !cxt->label)
return -EINVAL;
extern int fdisk_verify_disklabel(struct fdisk_context *cxt);
extern int fdisk_create_disklabel(struct fdisk_context *cxt, const char *name);
extern int fdisk_list_disklabel(struct fdisk_context *cxt);
-extern int fdisk_locate_disklabel(struct fdisk_context *cxt, int n, const char **name, off_t *offset, size_t *size);
+extern int fdisk_locate_disklabel(struct fdisk_context *cxt, int n,
+ const char **name,
+ uint64_t *offset,
+ size_t *size);
extern int fdisk_get_disklabel_id(struct fdisk_context *cxt, char **id);
extern int fdisk_set_disklabel_id(struct fdisk_context *cxt);