Extend blkid utilities for signatures wiping.

For older distributions there's fallback mode for missing
blkid_do_wipe function. We erase signatures based on offsets
and lengths detected by blkid.
This commit is contained in:
Ondrej Kozina
2018-06-28 15:45:18 +02:00
committed by Milan Broz
parent 05a89e5566
commit e8e1f844d9
3 changed files with 178 additions and 0 deletions

View File

@@ -29,12 +29,26 @@ int blk_init_by_path(struct blkid_handle **h, const char *path);
void blk_free(struct blkid_handle *h);
/*
* WARNING: This will reset file description offset as if
* lseek(devfd, 0, SEEK_SET) was called!
*/
int blk_init_by_fd(struct blkid_handle **h, int fd);
void blk_free(struct blkid_handle *h);
void blk_set_chains_for_wipes(struct blkid_handle *h);
void blk_set_chains_for_full_print(struct blkid_handle *h);
void blk_set_chains_for_fast_detection(struct blkid_handle *h);
int blk_superblocks_filter_luks(struct blkid_handle *h);
blk_probe_status blk_safeprobe(struct blkid_handle *h);
blk_probe_status blk_probe(struct blkid_handle *h);
int blk_is_partition(struct blkid_handle *h);
int blk_is_superblock(struct blkid_handle *h);
@@ -43,6 +57,8 @@ const char *blk_get_partition_type(struct blkid_handle *h);
const char *blk_get_superblock_type(struct blkid_handle *h);
int blk_do_wipe(struct blkid_handle *h);
int blk_supported(void);
#endif