util-linux/disk-utils/fdisk.h

73 lines
2.1 KiB
C
Raw Normal View History

2006-12-06 17:25:33 -06:00
/*
fdisk.h
*/
#define SECTOR_SIZE 512
2006-12-06 17:25:35 -06:00
#define MAXIMUM_PARTS 60
#define SIZE(a) (sizeof(a)/sizeof((a)[0]))
2006-12-06 17:25:33 -06:00
#define cround(n) (((n) + display_factor * unit_flag) / display_factor)
#if defined(__GNUC__) || defined(HAS_LONG_LONG)
typedef long long ext2_loff_t;
#else
typedef long ext2_loff_t;
#endif
extern ext2_loff_t ext2_llseek(unsigned int fd,
ext2_loff_t offset,
unsigned int origin);
2006-12-06 17:25:35 -06:00
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 */
};
2006-12-06 17:25:33 -06:00
enum failure {usage, unable_to_open, unable_to_read, unable_to_seek,
unable_to_write, out_of_memory};
enum offset {ignore, lower, deflt, upper};
2006-12-06 17:25:35 -06:00
enum action {fdisk, require, try_only, create_empty};
2006-12-06 17:25:33 -06:00
struct systypes {
unsigned char index;
char *name;
};
/* prototypes for fdisk.c */
extern char *disk_device,
*line_ptr;
extern int fd,
partitions;
extern uint unit_flag,
display_factor;
extern struct partition *part_table[];
extern void fatal(enum failure why);
2006-12-06 17:25:35 -06:00
extern int get_boot(enum action what);
2006-12-06 17:25:33 -06:00
extern int get_partition(int warn, int max);
2006-12-06 17:25:35 -06:00
extern void list_types(struct systypes *sys);
2006-12-06 17:25:33 -06:00
extern int read_line (void);
extern char read_char(char *mesg);
2006-12-06 17:25:35 -06:00
extern int read_hex(struct systypes *sys);
2006-12-06 17:25:33 -06:00
uint read_int(uint low, uint dflt, uint high, enum offset base, char *mesg);
extern char *const str_units(void);
2006-12-06 17:25:35 -06:00
extern unsigned int get_start_sect(struct partition *p);
extern unsigned int get_nr_sects(struct partition *p);
2006-12-06 17:25:33 -06:00
/* prototypes for fdisklabel.c */
extern void bselect(void);
2006-12-06 17:25:35 -06:00
extern int btrydev (char * dev);
/* prototypes for fdisksunlabel.c */