X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FStorage%2FLVM%2Flvm_int.h;h=f4ef3c1292dee9cba619a51b35eeb267bcd1777f;hb=70a143a9de252ddc4f148866b0a93e28904073e5;hp=36f2eb2ca9869e722ebfc5af43a1805b3310dfa2;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Storage/LVM/lvm_int.h b/KernelLand/Modules/Storage/LVM/lvm_int.h index 36f2eb2c..f4ef3c12 100644 --- a/KernelLand/Modules/Storage/LVM/lvm_int.h +++ b/KernelLand/Modules/Storage/LVM/lvm_int.h @@ -5,4 +5,53 @@ * lvm_int.h * - Internal definitions */ +#ifndef _LVM_LVM_INT_H_ +#define _LVM_LVM_INT_H_ + +#include "include/lvm.h" +#include "lvm.h" +#include + +typedef struct sLVM_SubVolume tLVM_SubVolume; + +enum eLVM_BackType +{ + LVM_BACKING_VFS, + LVM_BACKING_PTRS +}; + +struct sLVM_Vol +{ + tLVM_Vol *Next; + + tVFS_Node Node; + + void *Ptr; + tLVM_ReadFcn Read; + tLVM_WriteFcn Write; + + size_t BlockSize; + + int nSubVolumes; + tLVM_SubVolume **SubVolumes; + + char Name[]; +}; + +struct sLVM_SubVolume +{ + tLVM_Vol *Vol; + + tVFS_Node Node; + + // Note: Only for a simple volume + Uint64 FirstBlock; + Uint64 BlockCount; + + char Name[]; +}; + +extern tVFS_NodeType gLVM_SubVolNodeType; + +#endif