static int probe_swsuspend(blkid_probe pr, const struct blkid_idmag *mag) { if (!mag) return -1; if (!memcmp(mag->magic, "S1SUSPEND", mag->len)) return swap_set_info(pr, "s1suspend"); if (!memcmp(mag->magic, "S2SUSPEND", mag->len)) return swap_set_info(pr, "s2suspend"); if (!memcmp(mag->magic, "ULSUSPEND", mag->len)) return swap_set_info(pr, "ulsuspend"); if (!memcmp(mag->magic, "\xed\xc3\x02\xe9\x98\x56\xe5\x0c", mag->len)) return swap_set_info(pr, "tuxonice"); return -1; /* no signature detected */ }
static int probe_swap(blkid_probe pr, const struct blkid_idmag *mag) { unsigned char *buf; if (!mag) return -1; /* TuxOnIce keeps valid swap header at the end of the 1st page */ buf = blkid_probe_get_buffer(pr, 0, TOI_MAGIC_STRLEN); if (!buf) return -1; if (memcmp(buf, TOI_MAGIC_STRING, TOI_MAGIC_STRLEN) == 0) return 1; /* Ignore swap signature, it's TuxOnIce */ if (!memcmp(mag->magic, "SWAP-SPACE", mag->len)) { /* swap v0 doesn't support LABEL or UUID */ blkid_probe_set_version(pr, "0"); return 0; } else if (!memcmp(mag->magic, "SWAPSPACE2", mag->len)) return swap_set_info(pr, "1"); return -1; }
static int probe_swsuspend(blkid_probe pr, const struct blkid_idmag *mag) { if (!mag) return -1; if (!memcmp(mag->magic, "S1SUSPEND", mag->len)) return swap_set_info(pr, "s1suspend"); if (!memcmp(mag->magic, "S2SUSPEND", mag->len)) return swap_set_info(pr, "s2suspend"); if (!memcmp(mag->magic, "ULSUSPEND", mag->len)) return swap_set_info(pr, "ulsuspend"); if (!memcmp(mag->magic, TOI_MAGIC_STRING, mag->len)) return swap_set_info(pr, "tuxonice"); if (!memcmp(mag->magic, "LINHIB0001", mag->len)) return swap_set_info(pr, "linhib0001"); return -1; /* no signature detected */ }
static int probe_swap(blkid_probe pr, const struct blkid_idmag *mag) { if (!mag) return -1; if (!memcmp(mag->magic, "SWAP-SPACE", mag->len)) { /* swap v0 doesn't support LABEL or UUID */ blkid_probe_set_version(pr, "1"); return 0; } else if (!memcmp(mag->magic, "SWAPSPACE2", mag->len)) return swap_set_info(pr, "2"); return -1; }