diff options
author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1997-01-24 21:08:30 +0000 |
---|---|---|
committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1997-01-24 21:08:30 +0000 |
commit | 609f1afc83b56a163e167989d2bd01617b2d659b (patch) | |
tree | 283916d646dacd944c55e9e96f6476703bfe7333 | |
parent | af0719316aefbe5cbdb44689a856ecb6e23259e6 (diff) |
Notes
-rw-r--r-- | lib/libdisk/Makefile | 5 | ||||
-rw-r--r-- | lib/libdisk/disk.c | 39 | ||||
-rw-r--r-- | lib/libdisk/libdisk.3 | 21 | ||||
-rw-r--r-- | lib/libdisk/libdisk.h | 7 |
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. |