2 * Copyright (C) 2008 Karel Zak <kzak@redhat.com>
4 * Inspired by libvolume_id by
5 * Kay Sievers <kay.sievers@vrfy.org>
7 * This file may be redistributed under the terms of the
8 * GNU Lesser General Public License.
18 struct netware_super_block {
19 uint8_t SBH_Signature[4];
20 uint16_t SBH_VersionMajor;
21 uint16_t SBH_VersionMinor;
22 uint16_t SBH_VersionMediaMajor;
23 uint16_t SBH_VersionMediaMinor;
24 uint32_t SBH_ItemsMoved;
25 uint8_t SBH_InternalID[16];
26 uint32_t SBH_PackedSize;
27 uint32_t SBH_Checksum;
29 int64_t superlocation[4];
30 uint32_t physSizeUsed;
32 uint32_t superTimeStamp;
33 uint32_t reserved0[1];
34 int64_t SBH_LoggedPoolDataBlk;
35 int64_t SBH_PoolDataBlk;
36 uint8_t SBH_OldInternalID[16];
37 uint32_t SBH_PoolToLVStartUTC;
38 uint32_t SBH_PoolToLVEndUTC;
39 uint16_t SBH_VersionMediaMajorCreate;
40 uint16_t SBH_VersionMediaMinorCreate;
41 uint32_t SBH_BlocksMoved;
42 uint32_t SBH_TempBTSpBlk;
43 uint32_t SBH_TempFTSpBlk;
44 uint32_t SBH_TempFTSpBlk1;
45 uint32_t SBH_TempFTSpBlk2;
46 uint32_t nssMagicNumber;
50 int64_t SBH_LoggedVolumeDataBlk;
51 int64_t SBH_VolumeDataBlk;
52 int64_t SBH_SystemBeastBlkNum;
54 uint16_t SBH_Name[64];
55 uint8_t SBH_VolumeID[16];
56 uint8_t SBH_PoolID[16];
57 uint8_t SBH_PoolInternalID[16];
59 uint32_t SBH_SS_Enabled;
60 uint32_t SBH_SS_CreateTime;
61 uint8_t SBH_SS_OriginalPoolID[16];
62 uint8_t SBH_SS_OriginalVolumeID[16];
63 uint8_t SBH_SS_Guid[16];
64 uint16_t SBH_SS_OriginalName[64];
65 uint32_t reserved2[64-(2+46)];
66 } __attribute__((__packed__));
68 static int probe_netware(blkid_probe pr, const struct blkid_idmag *mag)
70 struct netware_super_block *nw;
72 nw = blkid_probe_get_sb(pr, mag, struct netware_super_block);
76 blkid_probe_set_uuid(pr, nw->SBH_PoolID);
78 blkid_probe_sprintf_version(pr, "%u.%02u",
79 le16_to_cpu(nw->SBH_VersionMediaMajor),
80 le16_to_cpu(nw->SBH_VersionMediaMinor));
85 const struct blkid_idinfo netware_idinfo =
88 .usage = BLKID_USAGE_FILESYSTEM,
89 .probefunc = probe_netware,
92 { .magic = "SPB5", .len = 4, .kboff = 4 },