/* * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. * * This file is part of the device-mapper userspace tools. * * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions * of the GNU Lesser General Public License v.2.1. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef LIB_DMTARGETS_H #define LIB_DMTARGETS_H #include <inttypes.h> #include <sys/types.h> struct dm_ioctl; struct target { uint64_t start; uint64_t length; char *type; char *params; struct target *next; }; struct dm_task { int type; char *dev_name; char *mangled_dev_name; struct target *head, *tail; int read_only; uint32_t event_nr; int major; int minor; int allow_default_major_fallback; uid_t uid; gid_t gid; mode_t mode; uint32_t read_ahead; uint32_t read_ahead_flags; union dmi_u { struct dm_ioctl *v4; } dmi; char *newname; char *message; char *geometry; uint64_t sector; int no_flush; int no_open_count; int skip_lockfs; int query_inactive_table; int suppress_identical_reload; dm_add_node_t add_node; uint64_t existing_table_size; int cookie_set; int new_uuid; int secure_data; int retry_remove; int deferred_remove; int enable_checks; int expected_errno; int ioctl_errno; int ima_measurement; int record_timestamp; char *uuid; char *mangled_uuid; }; struct cmd_data { const char *name; const unsigned cmd; const int version[3]; }; int dm_check_version(void); uint64_t dm_task_get_existing_table_size(struct dm_task *dmt); #endif