12345678910111213141516171819202122232425262728293031323334353637 |
- /*
- * Copyright (c) 2020, Liav A. <liavalb@hotmail.co.il>
- *
- * SPDX-License-Identifier: BSD-2-Clause
- */
- #include <LibPartition/PartitionTable.h>
- #ifndef KERNEL
- # include <LibCore/DeprecatedFile.h>
- # include <sys/ioctl.h>
- #endif
- namespace Partition {
- #ifdef KERNEL
- PartitionTable::PartitionTable(Kernel::StorageDevice& device)
- : m_device(device)
- , m_block_size(device.block_size())
- {
- }
- #else
- PartitionTable::PartitionTable(NonnullRefPtr<Core::DeprecatedFile> device_file)
- : m_device_file(device_file)
- {
- VERIFY(ioctl(m_device_file->leak_fd(), STORAGE_DEVICE_GET_BLOCK_SIZE, &m_block_size) >= 0);
- }
- #endif
- Optional<DiskPartitionMetadata> PartitionTable::partition(unsigned index) const
- {
- if (index > partitions_count())
- return {};
- return m_partitions[index];
- }
- }
|