| 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 |  |