Home | History | Annotate | Line # | Download | only in lib
biosdisk.h revision 1.12.12.1
      1  1.12.12.1   thorpej /*	$NetBSD: biosdisk.h,v 1.12.12.1 2021/06/17 04:46:21 thorpej Exp $	*/
      2        1.1     perry 
      3        1.1     perry /*
      4        1.1     perry  * Copyright (c) 1996
      5        1.1     perry  *	Matthias Drochner.  All rights reserved.
      6        1.1     perry  *
      7        1.1     perry  * Redistribution and use in source and binary forms, with or without
      8        1.1     perry  * modification, are permitted provided that the following conditions
      9        1.1     perry  * are met:
     10        1.1     perry  * 1. Redistributions of source code must retain the above copyright
     11        1.1     perry  *    notice, this list of conditions and the following disclaimer.
     12        1.1     perry  * 2. Redistributions in binary form must reproduce the above copyright
     13        1.1     perry  *    notice, this list of conditions and the following disclaimer in the
     14        1.1     perry  *    documentation and/or other materials provided with the distribution.
     15        1.1     perry  *
     16        1.1     perry  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     17        1.1     perry  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     18        1.1     perry  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     19        1.1     perry  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     20        1.1     perry  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     21        1.1     perry  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     22        1.1     perry  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     23        1.1     perry  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     24        1.1     perry  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     25        1.1     perry  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     26        1.1     perry  */
     27        1.1     perry 
     28       1.11      manu #define BIOSDISK_PART_NAME_LEN 36
     29       1.11      manu 
     30        1.9    nonaka struct biosdisk_partition {
     31        1.9    nonaka 	daddr_t offset;
     32        1.9    nonaka 	daddr_t size;
     33        1.9    nonaka 	int     fstype;
     34       1.11      manu #ifndef NO_GPT
     35        1.9    nonaka 	const struct gpt_part {
     36        1.9    nonaka 		const struct uuid *guid;
     37        1.9    nonaka 		const char *name;
     38        1.9    nonaka 	} *guid;
     39        1.9    nonaka 	uint64_t attr;
     40       1.11      manu 	char *part_name; /* maximum BIOSDISK_PART_NAME_LEN */
     41        1.9    nonaka #endif
     42        1.9    nonaka };
     43        1.9    nonaka 
     44       1.12      manu extern struct btinfo_bootdisk bi_disk;
     45       1.12      manu extern struct btinfo_bootwedge bi_wedge;
     46  1.12.12.1   thorpej extern struct btinfo_rootdevice bi_root;
     47       1.12      manu 
     48        1.5  junyoung int biosdisk_strategy(void *, int, daddr_t, size_t, void *, size_t *);
     49        1.5  junyoung int biosdisk_open(struct open_file *, ...);
     50       1.11      manu int biosdisk_open_name(struct open_file *, const char *);
     51        1.5  junyoung int biosdisk_close(struct open_file *);
     52        1.5  junyoung int biosdisk_ioctl(struct open_file *, u_long, void *);
     53       1.11      manu int biosdisk_findpartition(int, daddr_t, int *, const char **);
     54       1.11      manu int biosdisk_readpartition(int, daddr_t, daddr_t,
     55       1.11      manu      struct biosdisk_partition **, int *);
     56       1.11      manu 
     57       1.11      manu struct RF_ComponentLabel_s;
     58       1.11      manu int biosdisk_read_raidframe(int, daddr_t, struct RF_ComponentLabel_s *);
     59       1.10    nonaka 
     60       1.10    nonaka #if !defined(NO_GPT)
     61       1.10    nonaka struct uuid;
     62       1.10    nonaka bool guid_is_nil(const struct uuid *);
     63       1.10    nonaka bool guid_is_equal(const struct uuid *, const struct uuid *);
     64       1.10    nonaka #endif
     65