X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FStorage%2FLVM%2Flvm.h;h=e406a9bbc1034eda1eb3b3262e439d9164773c4b;hb=54f893f1c1091d5f0bef8458585300e44beb7e81;hp=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hpb=48743e39650eb1ef988380e9d95f27fd40d3a9ce;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Storage/LVM/lvm.h b/KernelLand/Modules/Storage/LVM/lvm.h index e69de29b..e406a9bb 100644 --- a/KernelLand/Modules/Storage/LVM/lvm.h +++ b/KernelLand/Modules/Storage/LVM/lvm.h @@ -0,0 +1,37 @@ +/* + * Acess2 Logical Volume Manager + * - By John Hodge (thePowersGang) + * + * lvm.h + * - LVM Core definitions + */ +#ifndef _LVM_LVM_H_ +#define _LVM_LVM_H_ + +#include + +// === TYPES === +typedef struct sLVM_Vol tLVM_Vol; +typedef struct sLVM_Format tLVM_Format; + +// === STRUCTURES === +struct sLVM_Format +{ + tLVM_Format *Next; + const char *Name; + int (*CountSubvolumes)(tLVM_Vol *Volume, void *FirstBlockData); + void (*PopulateSubvolumes)(tLVM_Vol *Volume, void *FirstBlockData); +}; + +// === FUNCTIONS === +extern size_t LVM_int_ReadVolume(tLVM_Vol *Volume, Uint64 BlockNum, size_t BlockCount, void *Dest); +extern size_t LVM_int_WriteVolume(tLVM_Vol *Volume, Uint64 BlockNum, size_t BlockCount, const void *Src); + +// --- Subvolume Management --- +extern void LVM_int_SetSubvolume_Anon(tLVM_Vol *Volume, int Index, Uint64 FirstBlock, Uint64 LastBlock); + +// --- Global Fromats --- +extern tLVM_Format gLVM_MBRType; + +#endif +