summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libfdisk/src/dos.c26
-rw-r--r--libfdisk/src/fdiskP.h5
-rw-r--r--libfdisk/src/libfdisk.h11
3 files changed, 31 insertions, 11 deletions
diff --git a/libfdisk/src/dos.c b/libfdisk/src/dos.c
index 30b37e672..44459fa48 100644
--- a/libfdisk/src/dos.c
+++ b/libfdisk/src/dos.c
@@ -19,6 +19,14 @@
#define MAXIMUM_PARTS 60
#define ACTIVE_FLAG 0x80
+/**
+ * SECTION: dos
+ * @title: MBR (DOS) functions
+ * @short_description: MBR disk label specific functions
+ *
+ */
+
+
#define IS_EXTENDED(i) \
((i) == MBR_DOS_EXTENDED_PARTITION \
|| (i) == MBR_W95_EXTENDED_PARTITION \
@@ -2289,10 +2297,16 @@ struct fdisk_label *fdisk_new_dos_label(struct fdisk_context *cxt)
return lb;
}
-/*
- * Public label specific functions
+/**
+ * fdisk_dos_enable_compatible:
+ * @lb: DOS label (see fdisk_get_label())
+ * @enable: 0 or 1
+ *
+ * Enables deprecated DOS compatible mode, in this mode library checks for
+ * cylinders boundary, cases about CHS addressing and another obscure things.
+ *
+ * Returns: 0 on success, <0 on error.
*/
-
int fdisk_dos_enable_compatible(struct fdisk_label *lb, int enable)
{
struct fdisk_dos_label *dos = (struct fdisk_dos_label *) lb;
@@ -2306,6 +2320,12 @@ int fdisk_dos_enable_compatible(struct fdisk_label *lb, int enable)
return 0;
}
+/**
+ * fdisk_dos_is_compatible:
+ * @lb: DOS label
+ *
+ * Returns: 0 if DOS compatibility disabled, 1 if enabled
+ */
int fdisk_dos_is_compatible(struct fdisk_label *lb)
{
return ((struct fdisk_dos_label *) lb)->compatible;
diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h
index d9969c80c..85fd2cd8b 100644
--- a/libfdisk/src/fdiskP.h
+++ b/libfdisk/src/fdiskP.h
@@ -431,4 +431,9 @@ int fdisk_info_new_partition(
int num, sector_t start, sector_t stop,
struct fdisk_parttype *t);
+/* dos.c */
+extern struct dos_partition *fdisk_dos_get_partition(
+ struct fdisk_context *cxt,
+ size_t i);
+
#endif /* _LIBFDISK_PRIVATE_H */
diff --git a/libfdisk/src/libfdisk.h b/libfdisk/src/libfdisk.h
index 30e6b119a..96be12805 100644
--- a/libfdisk/src/libfdisk.h
+++ b/libfdisk/src/libfdisk.h
@@ -359,6 +359,9 @@ extern int fdisk_iter_get_direction(struct fdisk_iter *itr);
/* dos.c */
+#define DOS_FLAG_ACTIVE 1
+
+extern int fdisk_dos_move_begin(struct fdisk_context *cxt, size_t i);
extern int fdisk_dos_enable_compatible(struct fdisk_label *lb, int enable);
extern int fdisk_dos_is_compatible(struct fdisk_label *lb);
@@ -412,14 +415,6 @@ enum {
extern int fdisk_gpt_is_hybrid(struct fdisk_context *cxt);
-/* dos.c */
-extern struct dos_partition *fdisk_dos_get_partition(
- struct fdisk_context *cxt,
- size_t i);
-
-extern int fdisk_dos_move_begin(struct fdisk_context *cxt, size_t i);
-
-#define DOS_FLAG_ACTIVE 1
/* script.c */
struct fdisk_script *fdisk_new_script(struct fdisk_context *cxt);