]> err.no Git - util-linux/commitdiff
blkid: add minix
authorKarel Zak <kzak@redhat.com>
Tue, 25 Nov 2008 12:59:26 +0000 (13:59 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 11 Feb 2009 22:21:47 +0000 (23:21 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
libs/blkid/src/probe.c
libs/blkid/src/probers/Makefile.am
libs/blkid/src/probers/minix.c [new file with mode: 0644]
libs/blkid/src/probers/probers.h

index f1fb76ab7b1ab1c3661a17268ef62afaf267fa93..fb1615b7fe053b1e56a5dd937d1ae5a3d8019065 100644 (file)
@@ -77,7 +77,7 @@ static const struct blkid_idinfo *idinfos[] =
        &ntfs_idinfo,
        &cramfs_idinfo,
        &romfs_idinfo,
-       /* TODO: minix */
+       &minix_idinfo,
        &gfs_idinfo,
        &gfs2_idinfo,
        &ocfs_idinfo,
index fe13031b9b7e519e2be57cc1df2f86374312a725..a09608b9f19af9c7b741fb34e767d94163f827aa 100644 (file)
@@ -32,6 +32,7 @@ libprobers_a_SOURCES =        probers.h \
                        luks.c \
                        highpoint_raid.c \
                        vxfs.c \
+                       minix.c \
                        lvm.c
 
 all-local: $(lib_LIBRARIES)
diff --git a/libs/blkid/src/probers/minix.c b/libs/blkid/src/probers/minix.c
new file mode 100644 (file)
index 0000000..09d4543
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 1999 by Andries Brouwer
+ * Copyright (C) 1999, 2000, 2003 by Theodore Ts'o
+ * Copyright (C) 2001 by Andreas Dilger
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "blkidP.h"
+
+static int probe_minix(blkid_probe pr, const struct blkid_idmag *mag)
+{
+       /* for more details see magic strings below */
+       switch(mag->magic[1]) {
+       case '\023':
+               blkid_probe_set_version(pr, "1");
+               break;
+       case '\044':
+               blkid_probe_set_version(pr, "2");
+               break;
+       case '\115':
+               blkid_probe_set_version(pr, "3");
+               break;
+       }
+       return 0;
+}
+
+
+const struct blkid_idinfo minix_idinfo =
+{
+       .name           = "minix",
+       .usage          = BLKID_USAGE_FILESYSTEM,
+       .probefunc      = probe_minix,
+       .magics         =
+       {
+               /* version 1 */
+               { .magic = "\177\023", .len = 2, .kboff = 1, .sboff = 0x10 },
+               { .magic = "\217\023", .len = 2, .kboff = 1, .sboff = 0x10 },
+
+               /* version 2 */
+               { .magic = "\150\044", .len = 2, .kboff = 1, .sboff = 0x10 },
+               { .magic = "\170\044", .len = 2, .kboff = 1, .sboff = 0x10 },
+
+               /* version 3 */
+               { .magic = "\132\115", .len = 2, .kboff = 1, .sboff = 0x18 },
+               { NULL }
+       }
+};
+
index 3946070850339e9d2ea39c7c2b9b678ab43a2cd4..36271275b5ccc727ca97138ad905d45350bbbae4 100644 (file)
@@ -49,6 +49,7 @@ extern const struct blkid_idinfo ntfs_idinfo;
 extern const struct blkid_idinfo iso9660_idinfo;
 extern const struct blkid_idinfo udf_idinfo;
 extern const struct blkid_idinfo vxfs_idinfo;
+extern const struct blkid_idinfo minix_idinfo;
 extern const struct blkid_idinfo vfat_idinfo;
 extern const struct blkid_idinfo lvm2_idinfo;
 extern const struct blkid_idinfo lvm1_idinfo;