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 23 extern "C" { 24 #endif 25 26 typedef 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 40 struct _PedArchitecture { 41 PedDiskArchOps* disk_ops; 42 PedDeviceArchOps* dev_ops; 43 }; 44 45 extern 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 */ 50 extern int ped_set_architecture (const PedArchitecture* arch); 51 52 extern const char* ped_get_version (); 53 54 extern void* ped_malloc (size_t size); 55 extern void* ped_calloc (size_t size); 56 extern int ped_realloc (void** ptr, size_t size); 57 extern void ped_free (void* ptr); 58 59 #ifdef __cplusplus 60 } 61 #endif 62 63 #endif /* PARTED_H_INCLUDED */