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
24struct dm_ioctl;
25struct dm_ioctl_v1;
26
27struct target {
28 uint64_t start;
29 uint64_t length;
30 char *type;
31 char *params;
32
33 struct target *next;
34};
35
36struct 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
71struct cmd_data {
72 const char *name;
73 const int cmd;
74 const int version[3];
75};
76
77int dm_check_version(void);
78uint64_t dm_task_get_existing_table_size(struct dm_task *dmt);
79
80#endif
81