pmt: initial 3.0.2 update
This commit is contained in:
116
include/parted/filesys.h
Executable file
116
include/parted/filesys.h
Executable file
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
libparted - a library for manipulating disk partitions
|
||||
Copyright (C) 1999-2001, 2006-2007, 2009-2014, 2019-2023 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \addtogroup PedFileSystem
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** \file filesys.h */
|
||||
|
||||
#ifndef PED_FILESYS_H_INCLUDED
|
||||
#define PED_FILESYS_H_INCLUDED
|
||||
|
||||
typedef struct _PedFileSystem PedFileSystem;
|
||||
typedef struct _PedFileSystemType PedFileSystemType;
|
||||
typedef struct _PedFileSystemAlias PedFileSystemAlias;
|
||||
typedef const struct _PedFileSystemOps PedFileSystemOps;
|
||||
|
||||
#include <parted/geom.h>
|
||||
#include <parted/constraint.h>
|
||||
#include <parted/timer.h>
|
||||
|
||||
struct _PedFileSystemOps {
|
||||
PedGeometry* (*probe) (PedGeometry* geom);
|
||||
};
|
||||
|
||||
/**
|
||||
* Structure describing type of file system
|
||||
*/
|
||||
struct _PedFileSystemType {
|
||||
PedFileSystemType* next;
|
||||
const char* const name; /**< name of the file system type */
|
||||
PedFileSystemOps* const ops;
|
||||
};
|
||||
|
||||
/**
|
||||
* Structure describing a file system alias. This is separate from
|
||||
* PedFileSystemType because probing only looks through the list of types,
|
||||
* and does not probe aliases separately.
|
||||
*/
|
||||
struct _PedFileSystemAlias {
|
||||
PedFileSystemAlias* next;
|
||||
PedFileSystemType* fs_type;
|
||||
const char* alias;
|
||||
int deprecated;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Structure describing file system
|
||||
*/
|
||||
struct _PedFileSystem {
|
||||
PedFileSystemType* type; /**< the file system type */
|
||||
PedGeometry* geom; /**< where the file system actually is */
|
||||
int checked; /**< 1 if the file system has been checked.
|
||||
0 otherwise. */
|
||||
|
||||
void* type_specific;
|
||||
|
||||
};
|
||||
|
||||
extern void ped_file_system_type_register (PedFileSystemType* type);
|
||||
extern void ped_file_system_type_unregister (PedFileSystemType* type);
|
||||
|
||||
extern void ped_file_system_alias_register (PedFileSystemType* type,
|
||||
const char* alias, int deprecated);
|
||||
extern void ped_file_system_alias_unregister (PedFileSystemType* type,
|
||||
const char* alias);
|
||||
|
||||
extern PedFileSystemType* ped_file_system_type_get (const char* name);
|
||||
extern PedFileSystemType*
|
||||
ped_file_system_type_get_next (const PedFileSystemType* fs_type)
|
||||
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
__attribute ((__pure__))
|
||||
#endif
|
||||
;
|
||||
|
||||
extern PedFileSystemAlias*
|
||||
ped_file_system_alias_get_next (const PedFileSystemAlias* fs_alias)
|
||||
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
__attribute ((__pure__))
|
||||
#endif
|
||||
;
|
||||
|
||||
extern PedFileSystemType* ped_file_system_probe (PedGeometry* geom);
|
||||
extern PedGeometry* ped_file_system_probe_specific (
|
||||
const PedFileSystemType* fs_type,
|
||||
PedGeometry* geom);
|
||||
|
||||
PedFileSystem *ped_file_system_open (PedGeometry *geom);
|
||||
int ped_file_system_close (PedFileSystem *fs);
|
||||
int ped_file_system_resize (PedFileSystem *fs, PedGeometry *geom,
|
||||
PedTimer *timer);
|
||||
PedConstraint *ped_file_system_get_resize_constraint (const PedFileSystem *fs);
|
||||
|
||||
#endif /* PED_FILESYS_H_INCLUDED */
|
||||
|
||||
/** @} */
|
||||
Reference in New Issue
Block a user