summaryrefslogtreecommitdiffstats
path: root/lib/libdisk/libdisk.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libdisk/libdisk.h')
-rw-r--r--lib/libdisk/libdisk.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/lib/libdisk/libdisk.h b/lib/libdisk/libdisk.h
index cc6b2fd..ac97d89 100644
--- a/lib/libdisk/libdisk.h
+++ b/lib/libdisk/libdisk.h
@@ -51,6 +51,7 @@ typedef enum {
} chunk_e;
__BEGIN_DECLS
+#ifndef __ia64__
struct disk {
char *name;
u_long bios_cyl;
@@ -62,20 +63,27 @@ struct disk {
u_char *bootmenu;
size_t bootmenu_size;
#else
-#if !defined(__ia64__)
u_char *bootmgr;
size_t bootmgr_size;
#endif
-#endif
-#if !defined(__ia64__)
u_char *boot1;
-#endif
#if defined(__i386__) || defined(__amd64__) /* the i386 needs extra help... */
u_char *boot2;
#endif
struct chunk *chunks;
u_long sector_size; /* media sector size, a power of 2 */
};
+#else /* !__ia64__ */
+struct disk {
+ char *name;
+ struct chunk *chunks;
+ u_long media_size;
+ u_long sector_size;
+ u_long lba_start;
+ u_long lba_end;
+ u_int gpt_size; /* Number of entries */
+};
+#endif
struct chunk {
struct chunk *next;
@@ -123,11 +131,13 @@ struct chunk {
#define CHUNK_FORCE_ALL 0x0040
#define CHUNK_AUTO_SIZE 0x0080
#define CHUNK_NEWFS 0x0100
+#define CHUNK_HAS_INDEX 0x0200
+#define CHUNK_ITOF(i) ((i & 0xFFFF) << 16)
+#define CHUNK_FTOI(f) ((f >> 16) & 0xFFFF)
#define DELCHUNK_NORMAL 0x0000
#define DELCHUNK_RECOVER 0x0001
-
const char *chunk_name(chunk_e);
const char *
@@ -259,6 +269,7 @@ ShowChunkFlags(struct chunk *);
*/
struct disklabel;
+
void Fill_Disklabel(struct disklabel *, const struct disk *,
const struct chunk *);
void Debug_Chunk(struct chunk *);
@@ -269,7 +280,7 @@ int Add_Chunk(struct disk *, long, u_long, const char *, chunk_e, int, u_long,
void *read_block(int, daddr_t, u_long);
int write_block(int, daddr_t, const void *, u_long);
struct disklabel *read_disklabel(int, daddr_t, u_long);
-struct disk *Int_Open_Disk(const char *);
+struct disk *Int_Open_Disk(const char *, char *);
int Fixup_Names(struct disk *);
int MakeDevChunk(const struct chunk *, const char *);
__END_DECLS
OpenPOWER on IntegriCloud