• Home
  • Raw
  • Download

Lines Matching refs:disk

1345         struct gpt_disk *disk;  in gpt_disk_alloc()  local
1346 disk = (struct gpt_disk *)malloc(sizeof(struct gpt_disk)); in gpt_disk_alloc()
1347 if (!disk) { in gpt_disk_alloc()
1351 memset(disk, 0, sizeof(struct gpt_disk)); in gpt_disk_alloc()
1353 return disk; in gpt_disk_alloc()
1357 void gpt_disk_free(struct gpt_disk *disk) in gpt_disk_free() argument
1359 if (!disk) in gpt_disk_free()
1361 if (disk->hdr) in gpt_disk_free()
1362 free(disk->hdr); in gpt_disk_free()
1363 if (disk->hdr_bak) in gpt_disk_free()
1364 free(disk->hdr_bak); in gpt_disk_free()
1365 if (disk->pentry_arr) in gpt_disk_free()
1366 free(disk->pentry_arr); in gpt_disk_free()
1367 if (disk->pentry_arr_bak) in gpt_disk_free()
1368 free(disk->pentry_arr_bak); in gpt_disk_free()
1369 free(disk); in gpt_disk_free()
1377 struct gpt_disk *disk = NULL; in gpt_disk_get_disk_info() local
1385 disk = dsk; in gpt_disk_get_disk_info()
1386 disk->hdr = gpt_get_header(dev, PRIMARY_GPT); in gpt_disk_get_disk_info()
1387 if (!disk->hdr) { in gpt_disk_get_disk_info()
1391 gpt_header_size = GET_4_BYTES(disk->hdr + HEADER_SIZE_OFFSET); in gpt_disk_get_disk_info()
1392 disk->hdr_crc = crc32(0, disk->hdr, gpt_header_size); in gpt_disk_get_disk_info()
1393 disk->hdr_bak = gpt_get_header(dev, PRIMARY_GPT); in gpt_disk_get_disk_info()
1394 if (!disk->hdr_bak) { in gpt_disk_get_disk_info()
1398 disk->hdr_bak_crc = crc32(0, disk->hdr_bak, gpt_header_size); in gpt_disk_get_disk_info()
1403 disk->devpath, in gpt_disk_get_disk_info()
1404 sizeof(disk->devpath)) != 0) { in gpt_disk_get_disk_info()
1410 fd = open(disk->devpath, O_RDWR); in gpt_disk_get_disk_info()
1414 disk->devpath, in gpt_disk_get_disk_info()
1418 disk->pentry_arr = gpt_get_pentry_arr(disk->hdr, fd); in gpt_disk_get_disk_info()
1419 if (!disk->pentry_arr) { in gpt_disk_get_disk_info()
1424 disk->pentry_arr_bak = gpt_get_pentry_arr(disk->hdr_bak, fd); in gpt_disk_get_disk_info()
1425 if (!disk->pentry_arr_bak) { in gpt_disk_get_disk_info()
1430 disk->pentry_size = GET_4_BYTES(disk->hdr + PENTRY_SIZE_OFFSET); in gpt_disk_get_disk_info()
1431 disk->pentry_arr_size = in gpt_disk_get_disk_info()
1432 GET_4_BYTES(disk->hdr + PARTITION_COUNT_OFFSET) * in gpt_disk_get_disk_info()
1433 disk->pentry_size; in gpt_disk_get_disk_info()
1434 disk->pentry_arr_crc = GET_4_BYTES(disk->hdr + PARTITION_CRC_OFFSET); in gpt_disk_get_disk_info()
1435 disk->pentry_arr_bak_crc = GET_4_BYTES(disk->hdr_bak + in gpt_disk_get_disk_info()
1437 disk->block_size = gpt_get_block_size(fd); in gpt_disk_get_disk_info()
1439 disk->is_initialized = GPT_DISK_INIT_MAGIC; in gpt_disk_get_disk_info()
1448 uint8_t* gpt_disk_get_pentry(struct gpt_disk *disk, in gpt_disk_get_pentry() argument
1453 if (!disk || !partname || disk->is_initialized != GPT_DISK_INIT_MAGIC) { in gpt_disk_get_pentry()
1458 disk->pentry_arr : disk->pentry_arr_bak; in gpt_disk_get_pentry()
1460 ptn_arr + disk->pentry_arr_size , in gpt_disk_get_pentry()
1461 disk->pentry_size)); in gpt_disk_get_pentry()
1470 int gpt_disk_update_crc(struct gpt_disk *disk) in gpt_disk_update_crc() argument
1473 if (!disk || (disk->is_initialized != GPT_DISK_INIT_MAGIC)) { in gpt_disk_update_crc()
1478 disk->pentry_arr_crc = crc32(0, in gpt_disk_update_crc()
1479 disk->pentry_arr, in gpt_disk_update_crc()
1480 disk->pentry_arr_size); in gpt_disk_update_crc()
1482 disk->pentry_arr_bak_crc = crc32(0, in gpt_disk_update_crc()
1483 disk->pentry_arr_bak, in gpt_disk_update_crc()
1484 disk->pentry_arr_size); in gpt_disk_update_crc()
1486 PUT_4_BYTES(disk->hdr + PARTITION_CRC_OFFSET, disk->pentry_arr_crc); in gpt_disk_update_crc()
1488 PUT_4_BYTES(disk->hdr_bak + PARTITION_CRC_OFFSET, in gpt_disk_update_crc()
1489 disk->pentry_arr_bak_crc); in gpt_disk_update_crc()
1491 gpt_header_size = GET_4_BYTES(disk->hdr + HEADER_SIZE_OFFSET); in gpt_disk_update_crc()
1493 PUT_4_BYTES(disk->hdr + HEADER_CRC_OFFSET, 0); in gpt_disk_update_crc()
1494 PUT_4_BYTES(disk->hdr_bak + HEADER_CRC_OFFSET, 0); in gpt_disk_update_crc()
1495 disk->hdr_crc = crc32(0, disk->hdr, gpt_header_size); in gpt_disk_update_crc()
1496 disk->hdr_bak_crc = crc32(0, disk->hdr_bak, gpt_header_size); in gpt_disk_update_crc()
1497 PUT_4_BYTES(disk->hdr + HEADER_CRC_OFFSET, disk->hdr_crc); in gpt_disk_update_crc()
1498 PUT_4_BYTES(disk->hdr_bak + HEADER_CRC_OFFSET, disk->hdr_bak_crc); in gpt_disk_update_crc()
1505 int gpt_disk_commit(struct gpt_disk *disk) in gpt_disk_commit() argument
1508 if (!disk || (disk->is_initialized != GPT_DISK_INIT_MAGIC)){ in gpt_disk_commit()
1512 fd = open(disk->devpath, O_RDWR); in gpt_disk_commit()
1516 disk->devpath, in gpt_disk_commit()
1522 if(gpt_set_header(disk->hdr, fd, PRIMARY_GPT) != 0) { in gpt_disk_commit()
1529 if (gpt_set_pentry_arr(disk->hdr, fd, disk->pentry_arr)) { in gpt_disk_commit()