ia64/xen-unstable

view tools/blktap2/include/lvm-util.h @ 19835:edfdeb150f27

Fix buildsystem to detect udev > version 124

udev removed the udevinfo symlink from versions higher than 123 and
xen's build-system could not detect if udev is in place and has the
required version.

Signed-off-by: Marc-A. Dahlhaus <mad@wol.de>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Jun 25 13:02:37 2009 +0100 (2009-06-25)
parents 1c627434605e
children
line source
1 /*
2 * Copyright (c) 2008, XenSource Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of XenSource Inc. nor the names of its contributors
13 * may be used to endorse or promote products derived from this software
14 * without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
20 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28 #ifndef _LVM_UTIL_H_
29 #define _LVM_UTIL_H_
31 #include <inttypes.h>
33 #define MAX_NAME_SIZE 256
35 #define LVM_SEG_TYPE_LINEAR 1
36 #define LVM_SEG_TYPE_UNKNOWN 2
38 struct lv_segment {
39 uint8_t type;
40 char device[MAX_NAME_SIZE];
41 uint64_t pe_start;
42 uint64_t pe_size;
43 };
45 struct lv {
46 char name[MAX_NAME_SIZE];
47 uint64_t size;
48 uint32_t segments;
49 struct lv_segment first_segment;
50 };
52 struct pv {
53 char name[MAX_NAME_SIZE];
54 uint64_t start;
55 };
57 struct vg {
58 char name[MAX_NAME_SIZE];
59 uint64_t extent_size;
61 int pv_cnt;
62 struct pv *pvs;
64 int lv_cnt;
65 struct lv *lvs;
66 };
68 int lvm_scan_vg(const char *vg_name, struct vg *vg);
69 void lvm_free_vg(struct vg *vg);
71 #endif