• Home
  • Raw
  • Download

Lines Matching refs:disk

1352         struct gpt_disk *disk;  in gpt_disk_alloc()  local
1353 disk = (struct gpt_disk *)malloc(sizeof(struct gpt_disk)); in gpt_disk_alloc()
1354 if (!disk) { in gpt_disk_alloc()
1358 memset(disk, 0, sizeof(struct gpt_disk)); in gpt_disk_alloc()
1360 return disk; in gpt_disk_alloc()
1364 void gpt_disk_free(struct gpt_disk *disk) in gpt_disk_free() argument
1366 if (!disk) in gpt_disk_free()
1368 if (disk->hdr) in gpt_disk_free()
1369 free(disk->hdr); in gpt_disk_free()
1370 if (disk->hdr_bak) in gpt_disk_free()
1371 free(disk->hdr_bak); in gpt_disk_free()
1372 if (disk->pentry_arr) in gpt_disk_free()
1373 free(disk->pentry_arr); in gpt_disk_free()
1374 if (disk->pentry_arr_bak) in gpt_disk_free()
1375 free(disk->pentry_arr_bak); in gpt_disk_free()
1376 free(disk); in gpt_disk_free()
1384 struct gpt_disk *disk = NULL; in gpt_disk_get_disk_info() local
1392 disk = dsk; in gpt_disk_get_disk_info()
1393 disk->hdr = gpt_get_header(dev, PRIMARY_GPT); in gpt_disk_get_disk_info()
1394 if (!disk->hdr) { in gpt_disk_get_disk_info()
1398 gpt_header_size = GET_4_BYTES(disk->hdr + HEADER_SIZE_OFFSET); in gpt_disk_get_disk_info()
1399 disk->hdr_crc = crc32(0, disk->hdr, gpt_header_size); in gpt_disk_get_disk_info()
1400 disk->hdr_bak = gpt_get_header(dev, PRIMARY_GPT); in gpt_disk_get_disk_info()
1401 if (!disk->hdr_bak) { in gpt_disk_get_disk_info()
1405 disk->hdr_bak_crc = crc32(0, disk->hdr_bak, gpt_header_size); in gpt_disk_get_disk_info()
1410 disk->devpath, in gpt_disk_get_disk_info()
1411 sizeof(disk->devpath)) != 0) { in gpt_disk_get_disk_info()
1417 fd = open(disk->devpath, O_RDWR); in gpt_disk_get_disk_info()
1421 disk->devpath, in gpt_disk_get_disk_info()
1425 disk->pentry_arr = gpt_get_pentry_arr(disk->hdr, fd); in gpt_disk_get_disk_info()
1426 if (!disk->pentry_arr) { in gpt_disk_get_disk_info()
1431 disk->pentry_arr_bak = gpt_get_pentry_arr(disk->hdr_bak, fd); in gpt_disk_get_disk_info()
1432 if (!disk->pentry_arr_bak) { in gpt_disk_get_disk_info()
1437 disk->pentry_size = GET_4_BYTES(disk->hdr + PENTRY_SIZE_OFFSET); in gpt_disk_get_disk_info()
1438 disk->pentry_arr_size = in gpt_disk_get_disk_info()
1439 GET_4_BYTES(disk->hdr + PARTITION_COUNT_OFFSET) * in gpt_disk_get_disk_info()
1440 disk->pentry_size; in gpt_disk_get_disk_info()
1441 disk->pentry_arr_crc = GET_4_BYTES(disk->hdr + PARTITION_CRC_OFFSET); in gpt_disk_get_disk_info()
1442 disk->pentry_arr_bak_crc = GET_4_BYTES(disk->hdr_bak + in gpt_disk_get_disk_info()
1444 disk->block_size = gpt_get_block_size(fd); in gpt_disk_get_disk_info()
1446 disk->is_initialized = GPT_DISK_INIT_MAGIC; in gpt_disk_get_disk_info()
1455 uint8_t* gpt_disk_get_pentry(struct gpt_disk *disk, in gpt_disk_get_pentry() argument
1460 if (!disk || !partname || disk->is_initialized != GPT_DISK_INIT_MAGIC) { in gpt_disk_get_pentry()
1465 disk->pentry_arr : disk->pentry_arr_bak; in gpt_disk_get_pentry()
1467 ptn_arr + disk->pentry_arr_size , in gpt_disk_get_pentry()
1468 disk->pentry_size)); in gpt_disk_get_pentry()
1477 int gpt_disk_update_crc(struct gpt_disk *disk) in gpt_disk_update_crc() argument
1480 if (!disk || (disk->is_initialized != GPT_DISK_INIT_MAGIC)) { in gpt_disk_update_crc()
1485 disk->pentry_arr_crc = crc32(0, in gpt_disk_update_crc()
1486 disk->pentry_arr, in gpt_disk_update_crc()
1487 disk->pentry_arr_size); in gpt_disk_update_crc()
1489 disk->pentry_arr_bak_crc = crc32(0, in gpt_disk_update_crc()
1490 disk->pentry_arr_bak, in gpt_disk_update_crc()
1491 disk->pentry_arr_size); in gpt_disk_update_crc()
1493 PUT_4_BYTES(disk->hdr + PARTITION_CRC_OFFSET, disk->pentry_arr_crc); in gpt_disk_update_crc()
1495 PUT_4_BYTES(disk->hdr_bak + PARTITION_CRC_OFFSET, in gpt_disk_update_crc()
1496 disk->pentry_arr_bak_crc); in gpt_disk_update_crc()
1498 gpt_header_size = GET_4_BYTES(disk->hdr + HEADER_SIZE_OFFSET); in gpt_disk_update_crc()
1500 PUT_4_BYTES(disk->hdr + HEADER_CRC_OFFSET, 0); in gpt_disk_update_crc()
1501 PUT_4_BYTES(disk->hdr_bak + HEADER_CRC_OFFSET, 0); in gpt_disk_update_crc()
1502 disk->hdr_crc = crc32(0, disk->hdr, gpt_header_size); in gpt_disk_update_crc()
1503 disk->hdr_bak_crc = crc32(0, disk->hdr_bak, gpt_header_size); in gpt_disk_update_crc()
1504 PUT_4_BYTES(disk->hdr + HEADER_CRC_OFFSET, disk->hdr_crc); in gpt_disk_update_crc()
1505 PUT_4_BYTES(disk->hdr_bak + HEADER_CRC_OFFSET, disk->hdr_bak_crc); in gpt_disk_update_crc()
1512 int gpt_disk_commit(struct gpt_disk *disk) in gpt_disk_commit() argument
1515 if (!disk || (disk->is_initialized != GPT_DISK_INIT_MAGIC)){ in gpt_disk_commit()
1519 fd = open(disk->devpath, O_RDWR); in gpt_disk_commit()
1523 disk->devpath, in gpt_disk_commit()
1529 if(gpt_set_header(disk->hdr, fd, PRIMARY_GPT) != 0) { in gpt_disk_commit()
1536 if (gpt_set_pentry_arr(disk->hdr, fd, disk->pentry_arr)) { in gpt_disk_commit()