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 */