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; }
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); }