Home | History | Annotate | Line # | Download | only in lib
      1  1.13   mlelstv /*	$NetBSD: biosdisk.h,v 1.13 2021/05/30 05:59:23 mlelstv 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.13   mlelstv 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