summaryrefslogtreecommitdiffstats
path: root/disk-utils/fdisk.h
diff options
context:
space:
mode:
Diffstat (limited to 'disk-utils/fdisk.h')
-rw-r--r--disk-utils/fdisk.h32
1 files changed, 28 insertions, 4 deletions
diff --git a/disk-utils/fdisk.h b/disk-utils/fdisk.h
index 89510031a..11f529d48 100644
--- a/disk-utils/fdisk.h
+++ b/disk-utils/fdisk.h
@@ -3,7 +3,10 @@
*/
#define SECTOR_SIZE 512
-#define NETBSD_PARTITION 0xa5
+#define MAXIMUM_PARTS 60
+
+#define SIZE(a) (sizeof(a)/sizeof((a)[0]))
+
#define cround(n) (((n) + display_factor * unit_flag) / display_factor)
#if defined(__GNUC__) || defined(HAS_LONG_LONG)
@@ -16,11 +19,26 @@ extern ext2_loff_t ext2_llseek(unsigned int fd,
ext2_loff_t offset,
unsigned int origin);
+struct partition {
+ unsigned char boot_ind; /* 0x80 - active */
+ unsigned char head; /* starting head */
+ unsigned char sector; /* starting sector */
+ unsigned char cyl; /* starting cylinder */
+ unsigned char sys_ind; /* What partition type */
+ unsigned char end_head; /* end head */
+ unsigned char end_sector; /* end sector */
+ unsigned char end_cyl; /* end cylinder */
+ unsigned char start4[4]; /* starting sector counting from 0 */
+ unsigned char size4[4]; /* nr of sectors in partition */
+};
+
enum failure {usage, unable_to_open, unable_to_read, unable_to_seek,
unable_to_write, out_of_memory};
enum offset {ignore, lower, deflt, upper};
+enum action {fdisk, require, try_only, create_empty};
+
struct systypes {
unsigned char index;
char *name;
@@ -35,14 +53,20 @@ extern uint unit_flag,
display_factor;
extern struct partition *part_table[];
extern void fatal(enum failure why);
+extern int get_boot(enum action what);
extern int get_partition(int warn, int max);
-extern void list_types(struct systypes *sys, int size);
+extern void list_types(struct systypes *sys);
extern int read_line (void);
extern char read_char(char *mesg);
-extern int read_hex(struct systypes *sys, int size);
+extern int read_hex(struct systypes *sys);
uint read_int(uint low, uint dflt, uint high, enum offset base, char *mesg);
extern char *const str_units(void);
+extern unsigned int get_start_sect(struct partition *p);
+extern unsigned int get_nr_sects(struct partition *p);
+
/* prototypes for fdisklabel.c */
extern void bselect(void);
-extern void btrydev (char * dev);
+extern int btrydev (char * dev);
+
+/* prototypes for fdisksunlabel.c */