parted.h revision 9663:ace9a2ac3683
1/* 2 libparted - a library for manipulating disk partitions 3 Copyright (C) 1999, 2000, 2001, 2007 Free Software Foundation, Inc. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17*/ 18 19#ifndef PARTED_H_INCLUDED 20#define PARTED_H_INCLUDED 21 22#ifdef __cplusplus 23extern "C" { 24#endif 25 26typedef struct _PedArchitecture PedArchitecture; 27 28#include <parted/constraint.h> 29#include <parted/device.h> 30#include <parted/disk.h> 31#include <parted/exception.h> 32#include <parted/filesys.h> 33#include <parted/natmath.h> 34#include <parted/unit.h> 35 36#include <stdint.h> 37#include <stdlib.h> 38#include <string.h> 39 40struct _PedArchitecture { 41 PedDiskArchOps* disk_ops; 42 PedDeviceArchOps* dev_ops; 43}; 44 45extern const PedArchitecture* ped_architecture; 46 47/* the architecture can't be changed if there are any PedDevice's. 48 * i.e. you should only be doing this if it's the FIRST thing you do... 49 */ 50extern int ped_set_architecture (const PedArchitecture* arch); 51 52extern const char* ped_get_version (); 53 54extern void* ped_malloc (size_t size); 55extern void* ped_calloc (size_t size); 56extern int ped_realloc (void** ptr, size_t size); 57extern void ped_free (void* ptr); 58 59#ifdef __cplusplus 60} 61#endif 62 63#endif /* PARTED_H_INCLUDED */ 64