| /* |
| libparted - a library for manipulating disk partitions |
| Copyright (C) 2005, 2007 Free Software Foundation, Inc. |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 2 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| /** |
| * \addtogroup PedUnit |
| * @{ |
| */ |
| |
| /** \file unit.h */ |
| |
| #ifndef PED_UNIT_H_INCLUDED |
| #define PED_UNIT_H_INCLUDED |
| |
| #include <parted/device.h> |
| |
| #include <stdarg.h> |
| #include <stdio.h> |
| |
| #define PED_SECTOR_SIZE_DEFAULT 512LL |
| #define PED_KILOBYTE_SIZE 1000LL |
| #define PED_MEGABYTE_SIZE 1000000LL |
| #define PED_GIGABYTE_SIZE 1000000000LL |
| #define PED_TERABYTE_SIZE 1000000000000LL |
| #define PED_KIBIBYTE_SIZE 1024LL |
| #define PED_MEBIBYTE_SIZE 1048576LL |
| #define PED_GIBIBYTE_SIZE 1073741824LL |
| #define PED_TEBIBYTE_SIZE 1099511627776LL |
| |
| /** |
| * Human-friendly unit for representation of a location within device |
| */ |
| typedef enum { |
| PED_UNIT_SECTOR, |
| PED_UNIT_BYTE, |
| PED_UNIT_KILOBYTE, |
| PED_UNIT_MEGABYTE, |
| PED_UNIT_GIGABYTE, |
| PED_UNIT_TERABYTE, |
| PED_UNIT_COMPACT, |
| PED_UNIT_CYLINDER, |
| PED_UNIT_CHS, |
| PED_UNIT_PERCENT, |
| PED_UNIT_KIBIBYTE, |
| PED_UNIT_MEBIBYTE, |
| PED_UNIT_GIBIBYTE, |
| PED_UNIT_TEBIBYTE |
| } PedUnit; |
| |
| #define PED_UNIT_FIRST PED_UNIT_SECTOR |
| #define PED_UNIT_LAST PED_UNIT_TEBIBYTE |
| |
| extern long long ped_unit_get_size (const PedDevice* dev, PedUnit unit); |
| extern const char* ped_unit_get_name (PedUnit unit); |
| extern PedUnit ped_unit_get_by_name (const char* unit_name); |
| |
| extern void ped_unit_set_default (PedUnit unit); |
| extern PedUnit ped_unit_get_default (); |
| |
| extern char* ped_unit_format_byte (const PedDevice* dev, PedSector byte); |
| extern char* ped_unit_format_custom_byte (const PedDevice* dev, PedSector byte, |
| PedUnit unit); |
| |
| extern char* ped_unit_format (const PedDevice* dev, PedSector sector); |
| extern char* ped_unit_format_custom (const PedDevice* dev, PedSector sector, |
| PedUnit unit); |
| |
| extern int ped_unit_parse (const char* str, const PedDevice* dev, |
| PedSector* sector, |
| PedGeometry** range); |
| extern int ped_unit_parse_custom (const char* str, const PedDevice* dev, |
| PedUnit unit, PedSector* sector, |
| PedGeometry** range); |
| |
| #endif /* PED_UNIT_H_INCLUDED */ |
| |
| /** @} */ |
| |
| |