aboutsummaryrefslogtreecommitdiffstats
path: root/src/set_flag.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/set_flag.c')
-rw-r--r--src/set_flag.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/set_flag.c b/src/set_flag.c
new file mode 100644
index 0000000..f28c67e
--- /dev/null
+++ b/src/set_flag.c
@@ -0,0 +1,29 @@
+#include "project.h"
+
+
+
+int
+set_flag (DISK * d, int n, int f)
+{
+ GPT_headers h;
+ GPT_entry e = { 0 };
+
+ h = headers_get (d);
+
+ e = entry_read (d, &h.header, n);
+
+
+ e.flags = f;
+ entry_show (&e);
+
+/*Odd order because efi says so*/
+
+ entry_write (d, &h.header, n, &e);
+ header_redo_ent_crc (d, &h.header);
+ header_write (d, &h.header);
+
+ entry_write (d, &h.alt_header, n, &e);
+ header_redo_ent_crc (d, &h.alt_header);
+ header_write (d, &h.alt_header);
+ return 0;
+}