1 | /* $NetBSD: libdm-targets.h,v 1.1.1.2 2009/12/02 00:26:11 haad Exp $ */ |
2 | |
3 | /* |
4 | * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. |
5 | * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
6 | * |
7 | * This file is part of the device-mapper userspace tools. |
8 | * |
9 | * This copyrighted material is made available to anyone wishing to use, |
10 | * modify, copy, or redistribute it subject to the terms and conditions |
11 | * of the GNU Lesser General Public License v.2.1. |
12 | * |
13 | * You should have received a copy of the GNU Lesser General Public License |
14 | * along with this program; if not, write to the Free Software Foundation, |
15 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
16 | */ |
17 | |
18 | #ifndef LIB_DMTARGETS_H |
19 | #define LIB_DMTARGETS_H |
20 | |
21 | #include <inttypes.h> |
22 | #include <sys/types.h> |
23 | |
24 | struct dm_ioctl; |
25 | struct dm_ioctl_v1; |
26 | |
27 | struct target { |
28 | uint64_t start; |
29 | uint64_t length; |
30 | char *type; |
31 | char *params; |
32 | |
33 | struct target *next; |
34 | }; |
35 | |
36 | struct dm_task { |
37 | int type; |
38 | char *dev_name; |
39 | |
40 | struct target *head, *tail; |
41 | |
42 | int read_only; |
43 | uint32_t event_nr; |
44 | int major; |
45 | int minor; |
46 | int allow_default_major_fallback; |
47 | uid_t uid; |
48 | gid_t gid; |
49 | mode_t mode; |
50 | uint32_t read_ahead; |
51 | uint32_t read_ahead_flags; |
52 | union { |
53 | struct dm_ioctl *v4; |
54 | struct dm_ioctl_v1 *v1; |
55 | } dmi; |
56 | char *newname; |
57 | char *message; |
58 | char *geometry; |
59 | uint64_t sector; |
60 | int no_flush; |
61 | int no_open_count; |
62 | int skip_lockfs; |
63 | int query_inactive_table; |
64 | int suppress_identical_reload; |
65 | uint64_t existing_table_size; |
66 | int cookie_set; |
67 | |
68 | char *uuid; |
69 | }; |
70 | |
71 | struct cmd_data { |
72 | const char *name; |
73 | const int cmd; |
74 | const int version[3]; |
75 | }; |
76 | |
77 | int dm_check_version(void); |
78 | uint64_t dm_task_get_existing_table_size(struct dm_task *dmt); |
79 | |
80 | #endif |
81 | |