Tizen 2.1 base
[external/device-mapper.git] / lib / format_text / format-text.h
1 /*
2  * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.  
3  * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
4  *
5  * This file is part of LVM2.
6  *
7  * This copyrighted material is made available to anyone wishing to use,
8  * modify, copy, or redistribute it subject to the terms and conditions
9  * of the GNU Lesser General Public License v.2.1.
10  *
11  * You should have received a copy of the GNU Lesser General Public License
12  * along with this program; if not, write to the Free Software Foundation,
13  * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
14  */
15
16 #ifndef _LVM_FORMAT_TEXT_H
17 #define _LVM_FORMAT_TEXT_H
18
19 #include "lvm-types.h"
20 #include "metadata.h"
21
22 #define FMT_TEXT_NAME "lvm2"
23 #define FMT_TEXT_ALIAS "text"
24 #define FMT_TEXT_ORPHAN_VG_NAME ORPHAN_VG_NAME(FMT_TEXT_NAME)
25
26 /*
27  * Archives a vg config.  'retain_days' is the minimum number of
28  * days that an archive file must be held for.  'min_archives' is
29  * the minimum number of archives required to be kept for each
30  * volume group.
31  */
32 int archive_vg(struct volume_group *vg,
33                const char *dir,
34                const char *desc, uint32_t retain_days, uint32_t min_archive);
35
36 /*
37  * Displays a list of vg backups in a particular archive directory.
38  */
39 int archive_list(struct cmd_context *cmd, const char *dir, const char *vgname);
40 int archive_list_file(struct cmd_context *cmd, const char *file);
41 int backup_list(struct cmd_context *cmd, const char *dir, const char *vgname);
42
43 /*
44  * The text format can read and write a volume_group to a file.
45  */
46 struct format_type *create_text_format(struct cmd_context *cmd);
47 void *create_text_context(struct cmd_context *cmd, const char *path,
48                           const char *desc);
49
50 struct labeller *text_labeller_create(const struct format_type *fmt);
51
52 int pvhdr_read(struct device *dev, char *buf);
53
54 int add_da(struct dm_pool *mem, struct dm_list *das,
55            uint64_t start, uint64_t size);
56 void del_das(struct dm_list *das);
57
58 int add_mda(const struct format_type *fmt, struct dm_pool *mem, struct dm_list *mdas,
59             struct device *dev, uint64_t start, uint64_t size, unsigned ignored);
60 void del_mdas(struct dm_list *mdas);
61
62 #endif