These function provides actions at data on device outside partitions. Currently implemented filling with zeroes and secure erasure of data.
int fill_zero(int fh, struct partition_base *base, PROGRESS_PARAM, ERR_PARAM)simply overwrites data write zeroes, this isn't secure way to your erase data because exists methods for recovering overwritten data from magnetic medias
int secure_erasure(int fh, struct partition_base *base, PROGRESS_PARAM, ERR_PARAM)
provides secure erasure your (sensitive) date, tries to disable any recovery your deleted data, surely it makes recovery your data significantly more hard
used Peter Gutmann's 35-passes scheme for overwriting: Peter Gutmann: Secure Deletion of Data from Magnetic and Solid-State Memory
Source is found in file src/libsurprise/gconv/supplement.c