Lines Matching refs:priv
132 gpt_priv_t* priv = get_priv(dev); in gpt_device_finalize_and_sync() local
135 uint8_t mbr[priv->blocksize]; in gpt_device_finalize_and_sync()
137 if (!priv->mbr) { in gpt_device_finalize_and_sync()
138 memset(mbr, 0, priv->blocksize); in gpt_device_finalize_and_sync()
148 mpart->sectors = priv->blocks & 0xffffffff; in gpt_device_finalize_and_sync()
149 rc = lseek(priv->fd, 0, SEEK_SET); in gpt_device_finalize_and_sync()
153 rc = write(priv->fd, mbr, priv->blocksize); in gpt_device_finalize_and_sync()
154 if (rc < 0 || (size_t)rc != priv->blocksize) { in gpt_device_finalize_and_sync()
157 priv->mbr = true; in gpt_device_finalize_and_sync()
167 header.current = priv->header.current; in gpt_device_finalize_and_sync()
168 header.backup = priv->header.backup; in gpt_device_finalize_and_sync()
169 memcpy(header.guid, priv->header.guid, 16); in gpt_device_finalize_and_sync()
173 header.backup = priv->blocks - 1; in gpt_device_finalize_and_sync()
196 header.entries = dev->valid ? priv->header.entries : 2; in gpt_device_finalize_and_sync()
201 uint64_t ptable_blocks = ptable_size / priv->blocksize; in gpt_device_finalize_and_sync()
209 memcpy(&priv->header, &header, sizeof(header)); in gpt_device_finalize_and_sync()
212 header.current = priv->header.backup; in gpt_device_finalize_and_sync()
213 header.backup = priv->header.current; in gpt_device_finalize_and_sync()
214 header.entries = priv->header.last + 1; in gpt_device_finalize_and_sync()
220 rc = gpt_sync_current(priv->fd, priv->blocksize, &header, buf); in gpt_device_finalize_and_sync()
226 rc = gpt_sync_current(priv->fd, priv->blocksize, &priv->header, buf); in gpt_device_finalize_and_sync()
233 memcpy(priv->backup, priv->ptable, sizeof(priv->ptable)); in gpt_device_finalize_and_sync()
321 gpt_priv_t* priv = get_priv(dev); in gpt_get_diffs() local
334 gpt_partition_t* b = priv->backup + idx; in gpt_get_diffs()
364 gpt_priv_t* priv = static_cast<gpt_priv_t*>(calloc(1, sizeof(gpt_priv_t))); in gpt_device_init() local
365 if (!priv) return -1; in gpt_device_init()
367 priv->fd = fd; in gpt_device_init()
368 priv->blocksize = blocksize; in gpt_device_init()
369 priv->blocks = blocks; in gpt_device_init()
373 if (priv->blocksize < 512) { in gpt_device_init()
387 priv->mbr = block[0x1fe] == 0x55 && block[0x1ff] == 0xaa; in gpt_device_init()
395 header = &priv->header; in gpt_device_init()
418 priv->device.valid = true; in gpt_device_init()
428 ptable = priv->ptable; in gpt_device_init()
453 memcpy(priv->backup, priv->ptable, sizeof(priv->ptable)); in gpt_device_init()
458 priv->device.partitions[i] = &ptable[i]; in gpt_device_init()
461 *out_dev = &priv->device; in gpt_device_init()
464 free(priv); in gpt_device_init()
469 gpt_priv_t* priv = get_priv(dev); in gpt_device_release() local
470 free(priv); in gpt_device_release()
482 gpt_priv_t* priv = get_priv(dev); in gpt_device_range() local
490 *block_start = priv->header.first; in gpt_device_range()
491 *block_end = priv->header.last; in gpt_device_range()
498 gpt_priv_t* priv = get_priv(dev); in gpt_partition_add() local
514 if (last < first || first < priv->header.first || last > priv->header.last) { in gpt_partition_add()
516 priv->header.first, priv->header.last); in gpt_partition_add()
541 if (priv->ptable[i].first == 0 && priv->ptable[i].last == 0) { in gpt_partition_add()
542 part = &priv->ptable[i]; in gpt_partition_add()
555 gpt_priv_t* priv = get_priv(dev); in gpt_partition_clear() local
569 if (last < first || first < priv->header.first || last > priv->header.last) { in gpt_partition_clear()
571 priv->header.first, priv->header.last); in gpt_partition_clear()
575 char zero[priv->blocksize]; in gpt_partition_clear()
579 if (pwrite(priv->fd, zero, sizeof(zero), priv->blocksize * i) != in gpt_partition_clear()