diff options
Diffstat (limited to 'src/set_flag.c')
-rw-r--r-- | src/set_flag.c | 29 |
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; +} |