xref: /openbsd/sbin/fdisk/disk.h (revision adf35c80)
1*adf35c80Skrw /*	$OpenBSD: disk.h,v 1.33 2022/04/25 17:10:09 krw Exp $	*/
2a1705421Sweingart 
3a1705421Sweingart /*
4a1705421Sweingart  * Copyright (c) 1997 Tobias Weingartner
5a1705421Sweingart  *
610a68084Skrw  * Permission to use, copy, modify, and distribute this software for any
710a68084Skrw  * purpose with or without fee is hereby granted, provided that the above
810a68084Skrw  * copyright notice and this permission notice appear in all copies.
9a1705421Sweingart  *
1010a68084Skrw  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1110a68084Skrw  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1210a68084Skrw  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1310a68084Skrw  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1410a68084Skrw  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1510a68084Skrw  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1610a68084Skrw  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17a1705421Sweingart  */
18a1705421Sweingart 
195cbc8961Skrw struct disk {
20199eafeaSkrw 	struct prt	 dk_bootprt;
2133e90638Skrw 	char		*dk_name;
2233e90638Skrw 	int		 dk_fd;
2333e90638Skrw 	uint32_t	 dk_cylinders;
2433e90638Skrw 	uint32_t	 dk_heads;
2533e90638Skrw 	uint32_t	 dk_sectors;
2633e90638Skrw 	uint32_t	 dk_size;
2753f0474fSkrw };
28a1705421Sweingart 
29893a2455Skrw /* Align partition starts/sizes on 32K-byte boundaries. */
30893a2455Skrw #define	BLOCKALIGNMENT	64
31893a2455Skrw 
32f9336ec7Skrw void		 DISK_open(const char *, const int);
3339351f7aSkrw void		 DISK_printgeometry(const char *);
34*adf35c80Skrw int		 DISK_readbytes(void *, const uint64_t, const size_t);
35*adf35c80Skrw int		 DISK_writebytes(const void *, const uint64_t, const size_t);
36a1705421Sweingart 
37ac519580Skrw extern struct disk		disk;
38afe4b3d4Skrw extern struct disklabel		dl;
39