Exemple #1
0
int main(int argc, char *argv[])
{
    // basic assertions
    assert(sizeof(gpt_partition_t) == 128);
    assert(sizeof(gpt_header_t)    == 512);

    // require root privilege
    if (geteuid() != 0)
    {
        printf("Must run as root user.\n");
        exit(4);
    }

    // get disk size
    uint64_t size = get_disk_size("/dev/sdb");

    // create partitions entry
    gpt_partition_t partitions[2];
    createPartitions(&partitions[0]);

    // create the header
    gpt_header_t gpt;
    initGPTHeader(&gpt, size, &partitions[0]);

    // save in disk
    partition_write("/dev/sdb", &gpt, &partitions[0]);

    return 0;
}
Exemple #2
0
void test_offset(void)
{
	DECLARE_NULL_MEMORY_DEVICE(mem);
	DECLARE_PARTITION(part, &mem, 1000, 1000);
	ASSERT_RW(partition_read(&part, 123, (char*)0xDEAD, 100), mem, 1123, 0xDEAD, 100);
	ASSERT_RW(partition_write(&part, 123, (char*)0xDEAD, 100), mem, 1123, 0xDEAD, 100);
	ASSERT_ERASE(partition_erase(&part, 0, 100), mem, 1000, 100);
}