summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1997-01-24 21:08:30 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1997-01-24 21:08:30 +0000
commit609f1afc83b56a163e167989d2bd01617b2d659b (patch)
tree283916d646dacd944c55e9e96f6476703bfe7333
parentaf0719316aefbe5cbdb44689a856ecb6e23259e6 (diff)
Notes
-rw-r--r--lib/libdisk/Makefile5
-rw-r--r--lib/libdisk/disk.c39
-rw-r--r--lib/libdisk/libdisk.321
-rw-r--r--lib/libdisk/libdisk.h7
4 files changed, 67 insertions, 5 deletions
diff --git a/lib/libdisk/Makefile b/lib/libdisk/Makefile
index 44b47d198faaa..e53d97f81772b 100644
--- a/lib/libdisk/Makefile
+++ b/lib/libdisk/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.16 1996/06/23 13:11:51 bde Exp $
+# $Id: Makefile,v 1.17 1996/08/30 01:47:56 peter Exp $
LIB= disk
SRCS= blocks.c disklabel.c dkcksum.c chunk.c disk.c change.c \
@@ -37,7 +37,8 @@ MLINKS+= libdisk.3 Open_Disk.3 \
libdisk.3 MakeDev.3 \
libdisk.3 MakeDevDisk.3 \
libdisk.3 ShowChunkFlags.3 \
- libdisk.3 ChunkCanBeRoot.3
+ libdisk.3 ChunkCanBeRoot.3 \
+ libdisk.3 slice_type_name.3
.include <bsd.lib.mk>
diff --git a/lib/libdisk/disk.c b/lib/libdisk/disk.c
index 359b37380cf1b..fea1e3bc1f62d 100644
--- a/lib/libdisk/disk.c
+++ b/lib/libdisk/disk.c
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $Id: disk.c,v 1.22.2.1 1996/11/28 21:51:08 phk Exp $
+ * $Id: disk.c,v 1.22.2.2 1996/12/14 11:56:43 joerg Exp $
*
*/
@@ -347,3 +347,40 @@ Set_Boot_Blocks(struct disk *d, const u_char *b1, const u_char *b2)
if(!d->boot2) err(1,"malloc failed");
memcpy(d->boot2,b2,15*512);
}
+
+const char *
+slice_type_name( int type, int subtype )
+{
+ switch (type) {
+ case 0: return "whole";
+ case 1: switch (subtype) {
+ case 1: return "fat (12-bit)";
+ case 2: return "XENIX /";
+ case 3: return "XENIX /usr";
+ case 4: return "fat (16-bit)";
+ case 5: return "extended DOS";
+ case 6: return "fat (>32Mb)";
+ case 7: return "NTFS/HPFS";
+ case 10: return "OS/2 bootmgr";
+ case 84: return "OnTrack diskmgr";
+ case 100: return "Netware 2.x";
+ case 101: return "Netware 3.x";
+ case 128: return "Minix 1.1";
+ case 129: return "Minix 1.5";
+ case 130: return "linux_swap";
+ case 131: return "ext2fs";
+ case 183: return "bsd/os";
+ case 184: return "bsd/os swap";
+ default: return "unknown";
+ }
+ case 2: return "fat";
+ case 3: switch (subtype) {
+ case 165: return "freebsd";
+ default: return "unknown";
+ }
+ case 4: return "extended";
+ case 5: return "part";
+ case 6: return "unused";
+ default: return "unknown";
+ }
+}
diff --git a/lib/libdisk/libdisk.3 b/lib/libdisk/libdisk.3
index 3746dec043df3..cb96ba88e8779 100644
--- a/lib/libdisk/libdisk.3
+++ b/lib/libdisk/libdisk.3
@@ -25,7 +25,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $Id: libdisk.3,v 1.1 1996/03/17 23:20:09 joerg Exp $
+.\" $Id: libdisk.3,v 1.2 1996/03/24 18:55:38 joerg Exp $
.\" "
.Dd March 15, 1996
.Dt LIBDISK 3
@@ -57,11 +57,19 @@
.Nm MakeDevDisk ,
.Nm ShowChunkFlags ,
.Nm ChunkCanBeRoot ,
+.Nm chunk_n ,
+.Nm slice_type_name
.Nd library interface to slice and partition labels
.Sh SYNOPSIS
.Fd #include <sys/types.h>
.Fd #include <libdisk.h>
.Dv extern const u_char *boot1, boot2;
+.\" What is the correct way to cause a single line break ???
+.Bd -literal
+.Dv extern const char *chunk_n[];
+.Ed
+.Ft const char *
+.Fn slice_type_name "int type" "int subtype"
.Ft struct disk *
.Fn Open_Disk "const char *devname"
.Ft struct disk *
@@ -310,6 +318,17 @@ returns a string to show flags.
.Pp
.Fn ChunkCanBeRoot
returns NULL if chunk can be
+.Pp
+Chunk name strings can be accessed directly using the external array
+.Va chunk_n .
+.Pp
+.Fn slice_type_name
+returns the name strings associated with the specified
+.Ql type .
+.Ql subtype .
+If
+.Fn slice_type_name
+returns "unknown" for slices it isn't familar with.
.Ql / .
.Sh AUTHOR
.Nm Libdisk
diff --git a/lib/libdisk/libdisk.h b/lib/libdisk/libdisk.h
index c133cab00d43b..8e2ff412f32ca 100644
--- a/lib/libdisk/libdisk.h
+++ b/lib/libdisk/libdisk.h
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
-* $Id: libdisk.h,v 1.22 1996/04/29 06:45:33 jkh Exp $
+* $Id: libdisk.h,v 1.22.2.1 1996/11/28 21:51:12 phk Exp $
*
*/
@@ -86,6 +86,11 @@ struct chunk {
extern const char *chunk_n[];
extern const u_char boot1[], boot2[];
+const char *
+slice_type_name( int type, int subtype );
+/* "chunk_n" for subtypes too
+ */
+
struct disk *
Open_Disk(const char *devname);
/* Will open the named disk, and return populated tree.