summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2013-06-26 10:21:31 +0200
committerKarel Zak2013-09-16 16:47:04 +0200
commit5099226711aa6e4ea254c24b4d496d32a51d3bb1 (patch)
treea08899a66c0300f3f5a3b772dd1cc96130aac40e
parentfdisk: (dos) use libfdisk to ask for partition type (diff)
downloadkernel-qcow2-util-linux-5099226711aa6e4ea254c24b4d496d32a51d3bb1.tar.gz
kernel-qcow2-util-linux-5099226711aa6e4ea254c24b4d496d32a51d3bb1.tar.xz
kernel-qcow2-util-linux-5099226711aa6e4ea254c24b4d496d32a51d3bb1.zip
libfdisk: move mbr code to the library
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--fdisks/Makemodule.am3
-rw-r--r--fdisks/cfdisk.c2
-rw-r--r--fdisks/fdisk-menu.c1
-rw-r--r--fdisks/fdisk.c1
-rw-r--r--fdisks/fdiskbsdlabel.c1
-rw-r--r--fdisks/fdiskdoslabel.h15
-rw-r--r--fdisks/sfdisk.c2
-rw-r--r--include/Makemodule.am1
-rw-r--r--include/pt-mbr-partnames.h (renamed from fdisks/dos_part_types.h)0
-rw-r--r--libfdisk/src/Makemodule.am1
-rw-r--r--libfdisk/src/dos.c (renamed from fdisks/fdiskdoslabel.c)9
-rw-r--r--libfdisk/src/libfdisk.h11
12 files changed, 18 insertions, 29 deletions
diff --git a/fdisks/Makemodule.am b/fdisks/Makemodule.am
index 3c0746158..fa5dcdfd9 100644
--- a/fdisks/Makemodule.am
+++ b/fdisks/Makemodule.am
@@ -5,14 +5,11 @@ if BUILD_FDISK
sbin_PROGRAMS += fdisk
dist_man_MANS += fdisks/fdisk.8
fdisk_SOURCES = \
- fdisks/dos_part_types.h \
fdisks/fdisk.c \
fdisks/fdisk.h \
fdisks/fdisk-ask.c \
fdisks/fdiskbsdlabel.c \
fdisks/fdiskbsdlabel.h \
- fdisks/fdiskdoslabel.c \
- fdisks/fdiskdoslabel.h \
fdisks/fdisk-menu.c \
fdisks/partname.c \
fdisks/common.h
diff --git a/fdisks/cfdisk.c b/fdisks/cfdisk.c
index ee03cd9f5..bc9c15960 100644
--- a/fdisks/cfdisk.c
+++ b/fdisks/cfdisk.c
@@ -112,7 +112,7 @@ struct systypes {
};
static struct systypes i386_sys_types[] = {
- #include "dos_part_types.h"
+ #include "pt-mbr-partnames.h"
};
#ifdef __GNU__
diff --git a/fdisks/fdisk-menu.c b/fdisks/fdisk-menu.c
index 4096fed8a..541e00d48 100644
--- a/fdisks/fdisk-menu.c
+++ b/fdisks/fdisk-menu.c
@@ -10,7 +10,6 @@
#include "pt-sun.h"
#include "pt-mbr.h"
-#include "fdiskdoslabel.h"
#include "fdiskbsdlabel.h"
struct menu_entry {
diff --git a/fdisks/fdisk.c b/fdisks/fdisk.c
index 60c69d1f3..0ca888943 100644
--- a/fdisks/fdisk.c
+++ b/fdisks/fdisk.c
@@ -37,7 +37,6 @@
#include "closestream.h"
#include "pt-sun.h" /* to toggle flags */
-#include "fdiskdoslabel.h"
#include "fdiskbsdlabel.h"
#ifdef HAVE_LINUX_COMPILER_H
diff --git a/fdisks/fdiskbsdlabel.c b/fdisks/fdiskbsdlabel.c
index 6194afda4..bd1d77501 100644
--- a/fdisks/fdiskbsdlabel.c
+++ b/fdisks/fdiskbsdlabel.c
@@ -62,7 +62,6 @@
#define NETBSD_PARTITION 0xa9
#define DKTYPENAMES
#include "fdiskbsdlabel.h"
-#include "fdiskdoslabel.h"
#include "all-io.h"
/*
diff --git a/fdisks/fdiskdoslabel.h b/fdisks/fdiskdoslabel.h
deleted file mode 100644
index 53fa58b1e..000000000
--- a/fdisks/fdiskdoslabel.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef FDISK_DOS_LABEL_H
-#define FDISK_DOS_LABEL_H
-
-extern struct dos_partition *fdisk_dos_get_partition(
- struct fdisk_context *cxt,
- size_t i);
-
-extern int fdisk_dos_fix_order(struct fdisk_context *cxt);
-extern int fdisk_dos_move_begin(struct fdisk_context *cxt, int i);
-extern int fdisk_dos_list_extended(struct fdisk_context *cxt);
-
-/* toggle flags */
-#define DOS_FLAG_ACTIVE 1
-
-#endif
diff --git a/fdisks/sfdisk.c b/fdisks/sfdisk.c
index 152e5f591..b078fc2e6 100644
--- a/fdisks/sfdisk.c
+++ b/fdisks/sfdisk.c
@@ -60,7 +60,7 @@ struct systypes {
};
static struct systypes i386_sys_types[] = {
- #include "dos_part_types.h"
+ #include "pt-mbr-partnames.h"
};
/*
diff --git a/include/Makemodule.am b/include/Makemodule.am
index ab2360338..73f0a7d43 100644
--- a/include/Makemodule.am
+++ b/include/Makemodule.am
@@ -50,4 +50,5 @@ dist_noinst_HEADERS += \
include/xgetpass.h \
include/pt-sgi.h \
include/pt-mbr.h \
+ include/pt-mbr-partnames.h \
include/pt-sun.h
diff --git a/fdisks/dos_part_types.h b/include/pt-mbr-partnames.h
index 282adba91..282adba91 100644
--- a/fdisks/dos_part_types.h
+++ b/include/pt-mbr-partnames.h
diff --git a/libfdisk/src/Makemodule.am b/libfdisk/src/Makemodule.am
index 5363a5ec1..2dd90eeb3 100644
--- a/libfdisk/src/Makemodule.am
+++ b/libfdisk/src/Makemodule.am
@@ -20,6 +20,7 @@ libfdisk_la_SOURCES = \
\
libfdisk/src/sun.c \
libfdisk/src/sgi.c \
+ libfdisk/src/dos.c \
libfdisk/src/gpt.c
diff --git a/fdisks/fdiskdoslabel.c b/libfdisk/src/dos.c
index e4ee6a4fb..ef426cfa1 100644
--- a/fdisks/fdiskdoslabel.c
+++ b/libfdisk/src/dos.c
@@ -1,6 +1,7 @@
/*
*
- * Copyright (C) 2013 Karel Zak <kzak@redhat.com>
+ * Copyright (C) 2007-2013 Karel Zak <kzak@redhat.com>
+ * 2012 Davidlohr Bueso <dave@gnu.org>
*
* This is re-written version for libfdisk, the original was fdiskdoslabel.c
* from util-linux fdisk.
@@ -8,13 +9,10 @@
#include "c.h"
#include "nls.h"
#include "randutils.h"
-#include "common.h"
#include "pt-mbr.h"
#include "fdiskP.h"
-#include "fdiskdoslabel.h"
-
#include <ctype.h>
#define MAXIMUM_PARTS 60
@@ -61,7 +59,7 @@ struct fdisk_dos_label {
* Partition types
*/
static struct fdisk_parttype dos_parttypes[] = {
- #include "dos_part_types.h"
+ #include "pt-mbr-partnames.h"
};
#define set_hsc(h,s,c,sector) { \
@@ -147,7 +145,6 @@ static int is_cleared_partition(struct dos_partition *p)
dos_partition_get_start(p) || dos_partition_get_size(p));
}
-
static int get_partition_unused_primary(struct fdisk_context *cxt)
{
size_t orgmax = cxt->label->nparts_max;
diff --git a/libfdisk/src/libfdisk.h b/libfdisk/src/libfdisk.h
index 1d824177e..4da9e4995 100644
--- a/libfdisk/src/libfdisk.h
+++ b/libfdisk/src/libfdisk.h
@@ -184,6 +184,17 @@ extern int sgi_create_info(struct fdisk_context *cxt);
extern int fdisk_gpt_partition_set_uuid(struct fdisk_context *cxt, size_t i);
extern int fdisk_gpt_partition_set_name(struct fdisk_context *cxt, size_t i);
+/* dos.c */
+extern struct dos_partition *fdisk_dos_get_partition(
+ struct fdisk_context *cxt,
+ size_t i);
+
+extern int fdisk_dos_fix_order(struct fdisk_context *cxt);
+extern int fdisk_dos_move_begin(struct fdisk_context *cxt, int i);
+extern int fdisk_dos_list_extended(struct fdisk_context *cxt);
+
+#define DOS_FLAG_ACTIVE 1
+
/* ask.c */
#define fdisk_is_ask(a, x) (fdisk_ask_get_type(a) == FDISK_ASKTYPE_ ## x)