summaryrefslogtreecommitdiffstats
path: root/lib/libdisk/libdisk.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1995-04-30 06:09:29 +0000
committerphk <phk@FreeBSD.org>1995-04-30 06:09:29 +0000
commitb86a741dd0aee75cf8131bbe4a59ce0df9b4f719 (patch)
treef8d26742c300c84c1cf43cea8a683c9bf6851301 /lib/libdisk/libdisk.h
parent0050e4a0006bc998ec6123f8c5e21c9cf187e8d3 (diff)
downloadFreeBSD-src-b86a741dd0aee75cf8131bbe4a59ce0df9b4f719.zip
FreeBSD-src-b86a741dd0aee75cf8131bbe4a59ce0df9b4f719.tar.gz
Now we do writes too.
Diffstat (limited to 'lib/libdisk/libdisk.h')
-rw-r--r--lib/libdisk/libdisk.h46
1 files changed, 38 insertions, 8 deletions
diff --git a/lib/libdisk/libdisk.h b/lib/libdisk/libdisk.h
index a844814..827fd4b 100644
--- a/lib/libdisk/libdisk.h
+++ b/lib/libdisk/libdisk.h
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $Id: libdisk.h,v 1.4 1995/04/29 04:50:38 phk Exp $
+ * $Id: libdisk.h,v 1.5 1995/04/29 07:21:11 phk Exp $
*
*/
@@ -22,7 +22,6 @@ struct disk {
char *name;
u_long flags;
# define DISK_ON_TRACK 1
-# define DISK_REAL_GEOM 2
u_long real_cyl;
u_long real_hd;
u_long real_sect;
@@ -44,9 +43,6 @@ struct chunk {
char *name;
chunk_e type;
int subtype;
-# define SUBTYPE_BSD_FS 1
-# define SUBTYPE_BSD_SWAP 2
-# define SUBTYPE_BSD_UNUSED 3
u_long flags;
# define CHUNK_PAST_1024 1
/* this chunk cannot be booted from */
@@ -142,6 +138,40 @@ Write_Disk(struct disk *d);
/* Write all the MBRs, disklabels, bootblocks and boot managers
*/
+int
+Cyl_Aligned(struct disk *d, u_long offset);
+ /* Check if offset is aligned on a cylinder according to the
+ * bios geometry
+ */
+
+u_long
+Next_Cyl_Aligned(struct disk *d, u_long offset);
+ /* Round offset up to next cylinder according to the bios-geometry
+ */
+
+u_long
+Prev_Cyl_Aligned(struct disk *d, u_long offset);
+ /* Round offset down to previous cylinder according to the bios-
+ * geometry
+ */
+
+int
+Track_Aligned(struct disk *d, u_long offset);
+ /* Check if offset is aligned on a track according to the
+ * bios geometry
+ */
+
+u_long
+Next_Track_Aligned(struct disk *d, u_long offset);
+ /* Round offset up to next track according to the bios-geometry
+ */
+
+u_long
+Prev_Track_Aligned(struct disk *d, u_long offset);
+ /* Check if offset is aligned on a track according to the
+ * bios geometry
+ */
+
/*
* Implementation details >>> DO NOT USE <<<
*/
@@ -152,11 +182,9 @@ struct chunk * Clone_Chunk(struct chunk *);
int Add_Chunk(struct disk *, u_long , u_long , char *, chunk_e, int , u_long);
void Bios_Limit_Chunk(struct chunk *, u_long);
void * read_block(int, daddr_t );
+void write_block(int fd, daddr_t block, void *foo);
struct disklabel * read_disklabel(int, daddr_t);
u_short dkcksum(struct disklabel *);
-int Aligned(struct disk *d, u_long offset);
-u_long Next_Aligned(struct disk *d, u_long offset);
-u_long Prev_Aligned(struct disk *d, u_long offset);
struct chunk * Find_Mother_Chunk(struct chunk *, u_long , u_long , chunk_e);
struct disk * Int_Open_Disk(char *name, u_long size);
@@ -181,6 +209,8 @@ struct disk * Int_Open_Disk(char *name, u_long size);
* Make Create_DWIM().
*
* Make Is_Unchanged(struct disk *d1, struct chunk *c1)
+ *
+ * Make Set_Active_Slice()
*
*Sample output from tst01:
*
OpenPOWER on IntegriCloud