1 /** $MirOS: src/sbin/fdisk/part.h,v 1.2 2005/03/06 19:49:54 tg Exp $ */ 2 /* $OpenBSD: part.h,v 1.13 2004/08/03 09:22:03 otto Exp $ */ 3 4 /* 5 * Copyright (c) 1997 Tobias Weingartner 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 2. Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 #ifndef _PART_H 30 #define _PART_H 31 32 /* Partition type */ 33 typedef struct _prt_t { 34 u_int32_t shead, scyl, ssect; 35 u_int32_t ehead, ecyl, esect; 36 u_int32_t bs; 37 u_int32_t ns; 38 unsigned char flag; 39 unsigned char id; 40 } prt_t; 41 42 /* Prototypes */ 43 void PRT_printall(void); 44 const char *PRT_ascii_id(int); 45 void PRT_parse(disk_t *, void *, off_t, off_t, prt_t *); 46 void PRT_make(prt_t *, off_t, off_t, void *); 47 void PRT_print(int, prt_t *, char *, int); 48 49 /* This does CHS -> bs/ns */ 50 void PRT_fix_BN(disk_t *, prt_t *, int); 51 52 /* This does bs/ns -> CHS */ 53 void PRT_fix_CHS(disk_t *, prt_t *); 54 55 #endif /* _PART_H */ 56