summaryrefslogtreecommitdiffstats
path: root/sbin/gpt/map.h
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2002-07-20 19:27:43 +0000
committerpeter <peter@FreeBSD.org>2002-07-20 19:27:43 +0000
commit6dfc24537dd08c0fd54fef53634257ed5b85aa8e (patch)
tree58b29ec4f042260b9ce91a33c9f2cd135c628d9c /sbin/gpt/map.h
parentaefe01915ae8c5993f364f973809e39b9773eb59 (diff)
downloadFreeBSD-src-6dfc24537dd08c0fd54fef53634257ed5b85aa8e.zip
FreeBSD-src-6dfc24537dd08c0fd54fef53634257ed5b85aa8e.tar.gz
Grab a snapshot of Marcel's gpt tool. This is still a work-in-progress
but is useful to have handy. EFI GPT partitions are used instead of the fdisk+disklabel combination. They are pure 64 bit LBA, are fully extensible, support up to 16383 partitons per disk, etc.
Diffstat (limited to 'sbin/gpt/map.h')
-rw-r--r--sbin/gpt/map.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/sbin/gpt/map.h b/sbin/gpt/map.h
new file mode 100644
index 0000000..ac726e1
--- /dev/null
+++ b/sbin/gpt/map.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2002 Marcel Moolenaar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MAP_H_
+#define _MAP_H_
+
+typedef struct map {
+ off_t map_start;
+ off_t map_size;
+ struct map *map_next;
+ struct map *map_prev;
+ int map_type;
+#define MAP_TYPE_UNUSED 0
+#define MAP_TYPE_MBR 1
+#define MAP_TYPE_MBR_PART 2
+#define MAP_TYPE_PRI_GPT_HDR 3
+#define MAP_TYPE_SEC_GPT_HDR 4
+#define MAP_TYPE_PRI_GPT_TBL 5
+#define MAP_TYPE_SEC_GPT_TBL 6
+#define MAP_TYPE_GPT_PART 7
+ void *map_data;
+} map_t;
+
+map_t *map_add(off_t, off_t, int, void*);
+map_t *map_find(int);
+map_t *map_first(void);
+map_t *map_last(void);
+
+off_t map_unused(off_t, off_t);
+
+void map_dump(void);
+void map_init(off_t);
+
+#endif /* _MAP_H_ */
OpenPOWER on IntegriCloud