1*af901e68Snonaka /* $NetBSD: bootinfo.h,v 1.1 2009/03/02 09:33:02 nonaka Exp $ */ 2*af901e68Snonaka 3*af901e68Snonaka /* 4*af901e68Snonaka * Copyright (c) 1997 5*af901e68Snonaka * Matthias Drochner. All rights reserved. 6*af901e68Snonaka * 7*af901e68Snonaka * Redistribution and use in source and binary forms, with or without 8*af901e68Snonaka * modification, are permitted provided that the following conditions 9*af901e68Snonaka * are met: 10*af901e68Snonaka * 1. Redistributions of source code must retain the above copyright 11*af901e68Snonaka * notice, this list of conditions and the following disclaimer. 12*af901e68Snonaka * 2. Redistributions in binary form must reproduce the above copyright 13*af901e68Snonaka * notice, this list of conditions and the following disclaimer in the 14*af901e68Snonaka * documentation and/or other materials provided with the distribution. 15*af901e68Snonaka * 16*af901e68Snonaka * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17*af901e68Snonaka * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18*af901e68Snonaka * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19*af901e68Snonaka * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20*af901e68Snonaka * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21*af901e68Snonaka * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22*af901e68Snonaka * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23*af901e68Snonaka * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24*af901e68Snonaka * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25*af901e68Snonaka * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26*af901e68Snonaka * 27*af901e68Snonaka */ 28*af901e68Snonaka 29*af901e68Snonaka #ifndef _STAND_BOOTINFO_H_ 30*af901e68Snonaka #define _STAND_BOOTINFO_H_ 31*af901e68Snonaka 32*af901e68Snonaka #include <machine/bootinfo.h> 33*af901e68Snonaka 34*af901e68Snonaka struct btinfo { 35*af901e68Snonaka int nentries; 36*af901e68Snonaka u_long entry[1]; 37*af901e68Snonaka }; 38*af901e68Snonaka 39*af901e68Snonaka extern struct btinfo *bootinfo; 40*af901e68Snonaka 41*af901e68Snonaka #define BI_ALLOC(max) (bootinfo = ALLOC(sizeof(struct btinfo) \ 42*af901e68Snonaka + ((max) - 1) * sizeof(u_long))) \ 43*af901e68Snonaka ->nentries = 0 44*af901e68Snonaka 45*af901e68Snonaka #define BI_FREE() DEALLOC(bootinfo, 0) 46*af901e68Snonaka 47*af901e68Snonaka #define BI_ADD(x, type, size) bi_add((struct btinfo_common *)(x), type, size) 48*af901e68Snonaka #define BI_DEL(type) bi_del(type) 49*af901e68Snonaka 50*af901e68Snonaka void bi_add(struct btinfo_common *, int, int); 51*af901e68Snonaka void bi_del(int); 52*af901e68Snonaka 53*af901e68Snonaka #endif /* _STAND_BOOTINFO_H_ */ 54