Kernel - VFS API Update - ReadDir caller provided buffer
[tpg/acess2.git] / KernelLand / Modules / Storage / LVM / lvm.h
1 /*
2  * Acess2 Logical Volume Manager
3  * - By John Hodge (thePowersGang)
4  *
5  * lvm.h
6  * - LVM Core definitions
7  */
8 #ifndef _LVM_LVM_H_
9 #define _LVM_LVM_H_
10
11 #include <acess.h>
12
13 // === TYPES ===
14 typedef struct sLVM_Vol tLVM_Vol;
15 typedef struct sLVM_Format tLVM_Format;
16
17 // === STRUCTURES ===
18 struct sLVM_Format
19 {
20         tLVM_Format     *Next;
21         const char      *Name;
22          int    (*CountSubvolumes)(tLVM_Vol *Volume, void *FirstBlockData);
23         void    (*PopulateSubvolumes)(tLVM_Vol *Volume, void *FirstBlockData);
24 };
25
26 // === FUNCTIONS ===
27 extern size_t   LVM_int_ReadVolume(tLVM_Vol *Volume, Uint64 BlockNum, size_t BlockCount, void *Dest);
28 extern size_t   LVM_int_WriteVolume(tLVM_Vol *Volume, Uint64 BlockNum, size_t BlockCount, const void *Src);
29
30 // --- Subvolume Management ---
31 extern void     LVM_int_SetSubvolume_Anon(tLVM_Vol *Volume, int Index, Uint64 FirstBlock, Uint64 LastBlock);
32
33 // --- Global Fromats ---
34 extern tLVM_Format      gLVM_MBRType;
35
36 #endif
37

UCC git Repository :: git.ucc.asn.au